System impulse response and Convolution by matlab

Hi everyone, i am very new to matlab, and would like to konw how to obtain y(t) from below
Generate a unit step function as the input function, x(t), and an exponentially decay function as the impulse response function, h(t), such as h(t)=exp(-t/2) (note: 2 is the time constant of the system dynamic response). Using MATLAB to calculate the output of the system, y(t).
Thank you so much in advance

댓글 수: 2

Convolution (random position zero) in matlab plz help me

</matlabcentral/answers/uploaded_files/114156/convooooo.JPG> this picture problem solved in matlab plz help me

댓글을 달려면 로그인하십시오.

답변 (3개)

psyx21
psyx21 2011년 4월 29일

1 개 추천

hey friends what will be the peak acceleration response for 100g 6ms half sine pulse with zeta=0. I need a matlab script with natural frequency on x axis..thanks
Paulo Silva
Paulo Silva 2011년 2월 20일

0 개 추천

t=0:0.1:10;
u=0*t;
u(t>=0)=1;
h=exp(-t/2);
y=u.*h;
plot(t,y)

댓글 수: 8

gedaa
gedaa 2011년 2월 21일
thank you sooo much, but I have one more question if it's not 2 much, what is u=0*t and how did u come up with that?
it's the same as
u=zeros(size(t))
It creates a variable with the same size as t but full of zeros. I learned that trick here at matlabcentral :)
Paulo - I just wonder if this is right. In the time domain, don't you need to convolve the input and the impulse response rather than multiplying them?
Yes you are correct, try
t=0:0.1:10;
u=0*t;
u(t>=0)=1;
h=exp(-t/2);
y=conv(u,h);
plot(y)
Correction for the amplitude and time scale
T=0.1;
t=0:T:10;
u=0*t;
u(t>=0)=1;
h=exp(-t/2);
y=conv(u,h);
plot(t,T*y(1:numel(t)))
gedaa
gedaa 2011년 2월 21일
ok, so if the problem asks for a pulse function instead of a unit step function, it would be the exact same codes except with the addition of PulseWidth=1, am i correct?
I'm not sure about the amplitude at
plot(t,T*y(1:numel(t)))
with the step function is good compared to
step(tf([1],[1 1/2])) but with the impulse it's plot(t,y(1:numel(t))) without the T, I can't figure out why that happens.
gedaa
gedaa 2011년 2월 23일
hey, paulo, i actually checked with my professor and he said that T doesn't need to be multiplied in the last line. Thank you soo much

댓글을 달려면 로그인하십시오.

Arpan Patel
Arpan Patel 2021년 2월 25일

0 개 추천

t=0:0.1:10;
u=0*t;
u(t>=0)=1;
h=exp(-t/2);
y=u.*h;
plot(t,y)

카테고리

도움말 센터File Exchange에서 Programming에 대해 자세히 알아보기

질문:

2011년 2월 20일

답변:

2021년 2월 25일

Community Treasure Hunt

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

Start Hunting!

Translated by