Hello everyone.(adsbygoogle = window.adsbygoogle || []).push({});

I am trying to generate the KL expansion of a stochastic process. I use a Monte Carlo sampling method to generate the process, which involves two random variables and I compare it with it's theoretical mean for 50 values of time and they look quite similar. Then, I calculate the autocovariance matrix, from where I extract the eigenvalues and eigenvectors which are used to calculate the new variable Y which is the stochastic process S in a base where the random variables are not correlated. However, if I calculate the mean of Y it doesn't look like the the mean of S at all.

Can someone please tell me what am I doing wrong?

Thank you very much for reading.

clear

close all

V = unifrnd(1,2,1,10000);

A = betarnd(2,2,1,10000);

t=50;

for i=1:t

S(i,:)=V*i+0.5*A*i^2;

theoreticalmeanS(i)=3/2*i+1/4*i^2;

meanS(i)=mean(S(i));

end

for i=1:t

for j=1:t

AutocorrelationS(i,j)=(S(i,:)*S(j,:)')/10000;

AutocovarianceS(i,j)=(S(i,:)*S(j,:)')/10000-meanS(i)*meanS(j);

end

end

[eigenvectors, eigenvalues]=eig(AutocovarianceS);

eigenvalues_column=eig(AutocovarianceS);

Y=eigenvalues*S;

Note: I am following the book of Alberto Leon Garcia (probability statistics and random processes for electrical engineering), pages 324-325.

**Physics Forums | Science Articles, Homework Help, Discussion**

Dismiss Notice

Join Physics Forums Today!

The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

# I Karhunen Loeve Expansion in Matlab

Tags:

Have something to add?

**Physics Forums | Science Articles, Homework Help, Discussion**