how to generate a Gaussian white noise with a mean of zero inside ODE function
36 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hi,
I am new to the matlab, I am trying to generate a Gaussian white noise with a mean of zero ranging from -0.03 to 0.03 like the attached photo, inside an ODE function.
I was using
White_noise= wgn(1,1,0);
but i don't think it is correct! should i used randn istead?

my code
function dydt = surfeq(t,y)
no=0.1;
n00=0.011;
v=80*1000/3600;
gq=1024;
white_noise= wgn(1,1,0);
%noise = rand(1);
x = 2*pi*no*sqrt(gq*v)*white_noise;
dydt = -2*pi*n00*v*y(1)+x;
0 Kommentare
Antworten (2)
Sai Sri Pathuri
am 5 Mai 2020
You are using correct function to generate white gaussian noise samples. However, you may not create white gaussian noise within a given range. As a workaround, you may follow below procedure.
% Create a vector of wgn samples
white_noise = wgn(1000,1,0);
j = 1;
% Get the samples within required range
for i = 1:1000
if white_noise(i) >= -0.03 && white_noise(i) <= 0.03
white_noise_inRange(j) = white_noise(i);
j = j+1;
end
end
Sai Sri Pathuri
am 18 Mai 2020
Try to use more samples (n) of white_noise such that you get desired number of samples within range -0.03 to 0.03
white_noise = wgn(n,1,0);
0 Kommentare
Siehe auch
Kategorien
Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!