Help With for loop with tranfer function and step
Ältere Kommentare anzeigen
s=tf('s');
G=1/(s^2+0.4*s+0.1);
K=[1 2 3 4 5 6];
figure
hold on
for i=1:1:length(K)
T=K(i)*G;
step(T)
S=stepinfo(T);
L=S.Peak(T)
end
I have this code but i get the error : "Unable to use a value of type tf as an index."
I want actually to make a vector containg all the values of the peak values and only then plot the peaks with the corresponding value of gain.
Thank you in advance
Akzeptierte Antwort
Weitere Antworten (1)
Dyuman Joshi
am 20 Nov. 2023
Bearbeitet: Dyuman Joshi
am 20 Nov. 2023
There is no field in the struct 'S' with name 'T'. Thus you get the error in the line you defined 'S'.
I suspect that you want to get the 'Peak' value for each system -
s=tf('s');
G=1/(s^2+0.4*s+0.1);
K=[1 2 3 4 5 6];
%Preallocation
L = K.*0;
figure
hold on
for i=1:1:length(K)
T=K(i)*G;
step(T);
S=stepinfo(T);
L(i)=S.Peak;
end
L
Kategorien
Mehr zu Loops and Conditional Statements finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


