generating a random variable with a given mean and matrix

can any one tell me how to generate a NORMAL DISTRIBUTION random variable X = N(mu,A), where mu is the mean (mu = 0, 0 mean) and A is a p*p IDENTITY MATRIX. Please ask me if the question is unclear. Thanks

 Akzeptierte Antwort

Image Analyst
Image Analyst am 15 Okt. 2016
Like this?
numRows = size(A, 1);
A(logical(eye(numRows))) = randn(1, numRows)

8 Kommentare

may I ask what the first line of command does?
in my particular case A is 10*10 identity matrix
The first line just figures out how large your square A matrix is. The second line assigns random numbers to elements along the diagonal only.
that means i do not need the first line if i already know the size of my matrix right?
Correct. If you already know numRows, or whatever you call your variable, if you even use one, then you do not need to calculate it again. You can do this:
A(logical(eye(10))) = randn(1, 10)
thanks
I'm sorry but it turns out that I was wrong, Here is what I want to do I want to generate a random variable X (X~N(0,A)), that is it has 0 mean and A is a 10*10 covariance matrix which is a 10*10 identity matrix
now what i want to do is I want to generate a 10*1000 random variable X using the above information.
Please help me if you can. Thanks
I don't believe you can do that and have the random variable be random. If it's random, you won't have A=eye(10) for the covariance matrix.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Tags

Noch keine Tags eingegeben.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by