Trying to plot a step response of a given transfer function.
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Jorje German
am 2 Sep. 2020
Kommentiert: Jorje German
am 2 Sep. 2020
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
0 Kommentare
Akzeptierte Antwort
Fangjun Jiang
am 2 Sep. 2020
You probably meant tf1=p21. p2 itself is improper. I assume you know what it means in control theory.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Testing Frameworks finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!