How to generate iid Gaussian noise vector

21 views (last 30 days)
Muhammad Yasir
Muhammad Yasir on 14 Jul 2021
Edited: Ben McMahon on 15 Oct 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...

Answers (1)

Ben McMahon
Ben McMahon on 14 Jul 2021
Edited: Ben McMahon on 15 Oct 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 Comments
Ben McMahon
Ben McMahon on 19 Jul 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 on 12 Aug 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

Sign in to comment.

Categories

Find more on Control Systems in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!