jedishrfu said:
Why not decompose it into simpler expressions and then convert them yourself?
Also it looks like you might be missing a square bracket or something.
I spaced it out for readability in your post.
Indeed, I forgot to close the right square bracket.
Believe me. i have tried to do it myself. That code is from a colleague and represents the generation of a random process with a Karhunen Loeve expansion.
My attempts have not given propper results, this is my code:
for i=1:long
z(i)=normrnd(0,1);
f(i)=0;
end for i=1:long%times
for j=1:long%number of terms in the descomposition
f(i)=f(i)+sqrt(eigenvalues2(j))*z(j)*eigenvectors(i,j);
end
end
However, since this hasn't worked, I have tried to do it manually:
% f5(1)=eigenvectors(1,5)*sqrt(eigenvalues(5))*z(5)+eigenvectors(1,4)*sqrt(eigenvalues(4))*z(4)+eigenvectors(1,3)*sqrt(eigenvalues(3))*z(3)+eigenvectors(1,2)*sqrt(eigenvalues(2))*z(2)+eigenvectors(1,1)*sqrt(eigenvalues(1))*z(1);
% f5(2)=eigenvectors(2,5)*sqrt(eigenvalues(5))*z(5)+eigenvectors(2,4)*sqrt(eigenvalues(4))*z(4)+eigenvectors(2,3)*sqrt(eigenvalues(3))*z(3)+eigenvectors(2,2)*sqrt(eigenvalues(2))*z(2)+eigenvectors(2,1)*sqrt(eigenvalues(1))*z(1);
% f5(3)=eigenvectors(3,5)*sqrt(eigenvalues(5))*z(5)+eigenvectors(3,4)*sqrt(eigenvalues(4))*z(4)+eigenvectors(3,3)*sqrt(eigenvalues(3))*z(3)+eigenvectors(3,2)*sqrt(eigenvalues(2))*z(2)+eigenvectors(3,1)*sqrt(eigenvalues(1))*z(1);
% f5(4)=eigenvectors(4,5)*sqrt(eigenvalues(5))*z(5)+eigenvectors(4,4)*sqrt(eigenvalues(4))*z(4)+eigenvectors(4,3)*sqrt(eigenvalues(3))*z(3)+eigenvectors(4,2)*sqrt(eigenvalues(2))*z(2)+eigenvectors(4,1)*sqrt(eigenvalues(1))*z(1);
% f5(5)=eigenvectors(5,5)*sqrt(eigenvalues(5))*z(5)+eigenvectors(5,4)*sqrt(eigenvalues(4))*z(4)+eigenvectors(5,3)*sqrt(eigenvalues(3))*z(3)+eigenvectors(5,2)*sqrt(eigenvalues(2))*z(2)+eigenvectors(5,1)*sqrt(eigenvalues(1))*z(1);
However, if I calculate the correlation matrix for some realizations of this, the covariance matrix doesn't look like the kernel at all.
So I don't know what I should try next.