- #1
varth
- 5
- 0
Hi, I'm fairly new to MATLAB and I was wondering if you guys could help me out. If I have an N*N matrix, C where the (k,l)-entry is defined as:
http://a3.sphotos.ak.fbcdn.net/hphotos-ak-ash3/556394_10151031836051952_2120388553_n.jpg
Where x_i is from an N-vector where x_i is normally distributed with 0 mean and variance 1. So x_i ~ N(0,1).
And so the vector, x= [x_1 x_2 ... x_N] = [ randn randn ... rand]
For the case N=3, we have
http://a5.sphotos.ak.fbcdn.net/hphotos-ak-ash3/532427_10151031836071952_2140805136_n.jpg
and x= [x_1 x_2 x_2] = [randn randn randn].
So the (1,2)-entry of C, is: http://a2.sphotos.ak.fbcdn.net/hphotos-ak-snc7/417729_10151031836006952_1450809886_n.jpg
which equals (if worked out) (1/3)*[(x_1)*(x_2) + (x_2)*(x_3)]
We can work out all the other entries of C and then get a 3*3 matrix.
All of this I can do my hand but what I want Matlab to do this task but for N=30.
So here x=[x_1 x_2 ... x_30] = [randn randn ... randn]
I need a code to generate my 30*30 matrix C from such set x_i's with the defintion above (N replaced by 30 of course). Does anyone know how I go about doing this?
EDIT: If it helps at all, the diagonal entries are always the same, it is always (1/N)*[(x_1)^2 + (x_2)^2 + ... + (x_N)^2]
and the matrix, C is always symmetric. I would appreciate any help on this; I need to generate these random matrices for a maths project of mine.
http://a3.sphotos.ak.fbcdn.net/hphotos-ak-ash3/556394_10151031836051952_2120388553_n.jpg
Where x_i is from an N-vector where x_i is normally distributed with 0 mean and variance 1. So x_i ~ N(0,1).
And so the vector, x= [x_1 x_2 ... x_N] = [ randn randn ... rand]
For the case N=3, we have
http://a5.sphotos.ak.fbcdn.net/hphotos-ak-ash3/532427_10151031836071952_2140805136_n.jpg
and x= [x_1 x_2 x_2] = [randn randn randn].
So the (1,2)-entry of C, is: http://a2.sphotos.ak.fbcdn.net/hphotos-ak-snc7/417729_10151031836006952_1450809886_n.jpg
which equals (if worked out) (1/3)*[(x_1)*(x_2) + (x_2)*(x_3)]
We can work out all the other entries of C and then get a 3*3 matrix.
All of this I can do my hand but what I want Matlab to do this task but for N=30.
So here x=[x_1 x_2 ... x_30] = [randn randn ... randn]
I need a code to generate my 30*30 matrix C from such set x_i's with the defintion above (N replaced by 30 of course). Does anyone know how I go about doing this?
EDIT: If it helps at all, the diagonal entries are always the same, it is always (1/N)*[(x_1)^2 + (x_2)^2 + ... + (x_N)^2]
and the matrix, C is always symmetric. I would appreciate any help on this; I need to generate these random matrices for a maths project of mine.
Last edited by a moderator: