How to generate iid Gaussian noise vector

26 visualizaciones (últimos 30 días)
Muhammad Yasir
Muhammad Yasir el 14 de Jul. de 2021
Editada: Ben McMahon el 15 de Oct. de 2021
I am trying to simulate algorithams given in a research paper.
How can I generate a noise sequence w_t, which is i.i.d. Gaussian of mean zero with variance 2I3 (2xI3 ,where I3 is identity matrix of dimension 3x3) and the initial condition is x_init = [10 10 −10]'
Kindly look at this segment of the paper for which I need to create Gaussian noise samples. I think gaussian noise is a column vector...

Respuestas (1)

Ben McMahon
Ben McMahon el 14 de Jul. de 2021
Editada: Ben McMahon el 15 de Oct. de 2021
For your particular example as your covariance is idenity and your mean 0, this is a mulitvariate standard normal distrbuiton:
~
The simple answer to this is to use the randn function to generate your samples. For example
% Set Number of Samples
NumSamples = 1000;
% Prealloacte
w = zeros(3,NumSamples);
% Loop for each sample
for t = 1:NumSamples
w(3,t) = randn(3,1); % Generate a 3x1 Random vector
end
Note that the inital condition is for the state vector of the SDE, x, and is not related to generating the white noise vectors.
  3 comentarios
Ben McMahon
Ben McMahon el 19 de Jul. de 2021
A Gaussian distribution and a normal distribution are two names for the same thing. See the Wikipedia entry for normal distribution.
Muhammad Yasir
Muhammad Yasir el 12 de Ag. de 2021
i think it should be the code
mu = 0;
sigma = 10*eye(3)
R = chol(sigma);
w_t = repmat(mu,3,1) + randn(3,3)*R
for i=1:length(w_t(1,:))
for j=1:length(w_t(:,1))
phi(i,j) = ( 1 - exp( w_t(i,j) ) )/ ( 1 + exp( w_t(i,j) ) )
end
end

Iniciar sesión para comentar.

Categorías

Más información sobre Control Systems en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by