Pulse function with matlab
显示 更早的评论
I need to do the follwing, but i am relatively new so i want to make sure it's right
Generate a pulse function with a pulse width 1 second as an input function, x(t), and use the same exponential decay function as impulse response function, h(t). Using MATLAB to calculate the output of the system y(t).
t = 0 : 1/1000 : 1;
u=0*t;
h=exp(-t/2);
y = rectpuls(t);
b=conv(h,y);
plot(b)
ohh i am lost
8 个评论
Paulo Silva
2011-2-25
Could it be something like this:
t = 0 : 1/1000 : 1;
u=ones(1,numel(t));
h=exp(-t/2);
b=conv(h,u);
c=conv(b,h);
plot(c)
Paulo Silva
2011-2-25
clc;clear;clf
t = 0.001 : 1/1000 : 3;
u=[zeros(1,1000) ones(1,numel(t)/3) zeros(1,1000)];
h=exp(-t/2);
b=conv(u,h);
c=conv(h,b);
hold on
plot(c./1000000)
plot(u,'r')
plot(h,'g')
legend('output','pulse','exponential decay')
gedaa
2011-2-25
Paulo Silva
2011-2-25
I always assume that the amplitude is 1 and you didn't specify other value for it did you?
Paulo Silva
2011-2-25
If you want to change the amplitude just
Amp=1; %select here the amplitude of u
u=[zeros(1,1000) Amp*ones(1,numel(t)/3) zeros(1,1000)];
gedaa
2011-2-25
Paulo Silva
2011-2-25
clc;clear;clf
T=1000; %value in miliseconds, 1000->1 second, 100->0.1 second
t = 1/T : 1/T : 3;
Amp=1 %amplitude of the pulse
u=[zeros(1,T) Amp*ones(1,numel(t)/3) zeros(1,T)];
h=exp(-t/2);
b=conv(u,h);
c=conv(h,b);
hold on
plot(c./1000000)
plot(u,'r')
plot(h,'g')
legend('output','pulse','exponential decay')
gedaa
2011-2-25
回答(1 个)
voona srikar
2022-12-4
0 个投票
t = 0 : 1/1000 : 1;
u=0*t;
h=exp(-t/2);
y = rectpuls(t);
b=conv(h,y);
plot(b)
类别
在 帮助中心 和 File Exchange 中查找有关 Switches and Breakers 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!