I have two signal need to write a program in picture, in which v(t) is uniformaly distributed within[0,0.1] over the interval [0,20].where a=0.2 and l=5. Can anybody help me to write a code for this???

 Akzeptierte Antwort

Ameer Hamza
Ameer Hamza am 6 Apr. 2020

0 Stimmen

Try this
rng(0);
t = linspace(0,20,1000);
a = 0.2;
l = 5;
v = 0.1*rand(size(t));
w = zeros(size(t));
mask = 5 < t & t < 5+l./v;
w(mask) = a*pi*v(mask)/l.*sin(2*pi*v(mask)/l.*t(mask));
plot(t,w)

4 Kommentare

Muhammad Atif
Muhammad Atif am 7 Apr. 2020
thanks for your response, Can I use like this w = a*pi*v/l.*sin(2*pi*v/l.*mask). Since v is already defined over 't', and 'mask' is defined for 'w'
You can write it like this
w = a*pi*v/l.*sin(2*pi*v/l.*t).*mask;
Muhammad Atif
Muhammad Atif am 17 Apr. 2020
Bearbeitet: Muhammad Atif am 17 Apr. 2020
hi sir! I want to plot a uniformely distributed random noise between [0,0.1] for the interval 0 to 20 and the whole interval is 0 to 30? I'm trying to run this code but did not give any plot. Can you tell me where I made the mistake???
t1 = linspace(0,30,1000);
r=zeros(size(t1));
if t1>=0 & t1<=20
r = r = 0.1*rand(size(t1));
end
plot(t1,r)
try this
t1 = linspace(0,30,1000);
r = 0.1*rand(size(t1));
r = r.*(t1<20);
plot(t1,r)

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by