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

 Accepted Answer

Like this?
numRows = size(A, 1);
A(logical(eye(numRows))) = randn(1, numRows)

8 Comments

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)
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.

Sign in to comment.

More Answers (0)

Categories

Tags

No tags entered yet.

Community Treasure Hunt

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

Start Hunting!