# Confused about For loop and matrix dimensions

Posted 1 month ago
333 Views
|
|
0 Total Likes
|
 I am trying to generate a Gaussian random process usign the Karhunen-Loève expansion. I have the eigenvectors and eigenvalues of a Gaussian kernel, a matrix of size 101101 and a vector of length 101. I need to multiply each eigenvector for the root of the eigenvalue and a random Gaussian variable and then add them to obtain a vector of length 101. I have to do this 50 times to generate 50 realizations of the random process. I would like to end with a matrix of size 10150. I have tried to do this with the following code: realizationNumber = 50; evecRand = 0*ConstantArray[1, {longitudeOfEigA}]; evecRand2D = 0*ConstantArray[1, {longitudeOfEigA, realizationNumber}]; realization = 0*ConstantArray[1, {realizationNumber}]; For[i = 0, i < realizationNumber, i++, For[j = 0, j < longitudeOfEigA, j++; evecRand[[j]] = eval[[j]]^0.5*RandomVariate[NormalDistribution[]]*evec[[j]]; evecRand2D[[j, i]] = evecRand2D[[j, i]] + eval[[j]]^0.5*RandomVariate[NormalDistribution[]]*evec[[j]]] ]; This way I think I calculate the evecRand propperly, but I don't know how to add them to calculate each one of the 50 realizations or how to merge all the realizations in a single matrix. Can someone please help me?Regards. Jaime de la Mota.