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

 Respuesta aceptada

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

8 comentarios

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?
Image Analyst
Image Analyst el 15 de Oct. de 2016
Editada: Image Analyst el 15 de Oct. de 2016
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.

Iniciar sesión para comentar.

Más respuestas (0)

Etiquetas

Aún no se han introducido etiquetas.

Preguntada:

el 15 de Oct. de 2016

Comentada:

el 16 de Abr. de 2020

Community Treasure Hunt

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

Start Hunting!

Translated by