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

 采纳的回答

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

8 个评论

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.

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

标签

尚未输入任何标签。

Community Treasure Hunt

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

Start Hunting!

Translated by