Mam trzy wektory X
, Y
i Z
o równej długości n
. Potrzebuję utworzyć tablicę n x n x n
z funkcją f(X[i],Y[j],Z[k])
. Prostym sposobem na to jest sekwencyjne przechodzenie przez każdy element każdego z 3 wektorów. Jednak czas wymagany do obliczenia tablicy rośnie wykładniczo z n
. Czy istnieje sposób wdrożenia tego za pomocą operacji wektoryzacji?R - Wektoryzacja realizacji funkcji trójskładnikowej
EDYCJA: Jak wspomniano w komentarzach, dodałem prosty przykład tego, co jest potrzebne.
set.seed(1)
X = rnorm(10)
Y = seq(11,20)
Z = seq(21,30)
F = array(0, dim=c(length(X),length(Y),length(Z)))
for (i in 1:length(X))
for (j in 1:length(Y))
for (k in 1:length(Z))
F[i,j,k] = X[i] * (Y[j] + Z[k])
Dzięki.
Powtarzalny przykład może być pomocny. –