Pulse function with matlab
Afficher commentaires plus anciens
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 commentaires
Paulo Silva
le 25 Fév 2011
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
le 25 Fév 2011
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
le 25 Fév 2011
Paulo Silva
le 25 Fév 2011
I always assume that the amplitude is 1 and you didn't specify other value for it did you?
Paulo Silva
le 25 Fév 2011
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
le 25 Fév 2011
Paulo Silva
le 25 Fév 2011
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
le 25 Fév 2011
Réponses (1)
voona srikar
le 4 Déc 2022
0 votes
t = 0 : 1/1000 : 1;
u=0*t;
h=exp(-t/2);
y = rectpuls(t);
b=conv(h,y);
plot(b)
Catégories
En savoir plus sur Switches and Breakers dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!