Trying to plot a step response of a given transfer function.

조회 수: 20 (최근 30일)
Jorje German
Jorje German 2020년 9월 2일
댓글: Jorje German 2020년 9월 2일
First time posting here so am not sure how exactly to format this or ask this. Simply I am trying to plot the step response of a given transfer function but I keep getting an error stating
"Error using DynamicSystem/step (line 95)
Cannot simulate the time response of improper (non-causal) models.
Error in Lab_1_JGerman (line 99)
[Y, t]=step(sys,10,OPT);"
Here is my code.
m1=1;
m2=1;
c1=1;
c2=1;
k01=0;
k12=100;
k23=10;
s = tf('s')
p1 = [m1*s^2+c1*s+(k01+k12)];
p2 = [m2*s^2+c2*s+(k12+k23)];
p21 = p2/(p1*p2 - k12*k12);
tf1=p2;
sys=tf1;
OPT = stepDataOptions('StepAmplitude', 100);
[Y, t]=step(sys,10,OPT);
plot(t,Y,'r')
hold on
title ('Step Response')
xlabel ('Time (S)')
ylabel("Amplitude)")
grid on

채택된 답변

Fangjun Jiang
Fangjun Jiang 2020년 9월 2일
You probably meant tf1=p21. p2 itself is improper. I assume you know what it means in control theory.
  댓글 수: 1
Jorje German
Jorje German 2020년 9월 2일
OMG You are so right. I completly missed it. Yes p2 would not make sense at all. Thank you. Been staring at it for 10 minutes now for a typo.

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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 MATLAB에 대해 자세히 알아보기

태그

제품


릴리스

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by