trying to loop for transfer function plots into single figure

1 vue (au cours des 30 derniers jours)
Young Lee
Young Lee le 7 Sep 2023
Commenté : Sam Chak le 8 Sep 2023
Parameters========================
Km1 = 0.01;
Km2 = 0.02257;
Km3 = 0.04;
Rm = 2.093;
b = 0.0000262;
t = 0.069;
T=0:0.0001:4;
========================================
something I tried, but It didnt work
for i :1:3
K(i) = Km(i)/(Rm*b+Km(i)^2);
oltf(i)=tf([K(i)],[t,(i)]);
step(i)=step(oltf(i),T);
plot(T, step(i),'r');
end
trying to fit all three plots into one figure
Thank you!!
  1 commentaire
VINAYAK LUHA
VINAYAK LUHA le 7 Sep 2023
Modifié(e) : VINAYAK LUHA le 7 Sep 2023
The "hold on" command may help, find its documentation in the following link https://in.mathworks.com/help/matlab/ref/hold.html

Connectez-vous pour commenter.

Réponse acceptée

Dyuman Joshi
Dyuman Joshi le 7 Sep 2023
Modifié(e) : Dyuman Joshi le 7 Sep 2023
%Do not name variables dynamically
%defining them in an array and using indexing is a much better option
Km = [0.01 0.02257 0.04];
Rm = 2.093;
b = 0.0000262;
t = 0.069;
T = 0:0.0001:4;
%Defining K via vectorization
K = Km./(Rm.*b+Km.^2);
%Initialise a figure and use hold on to retain plots on the same axes
figure
hold on
for i =1:3
oltf = tf([K(i)],[t,(i)]);
step(oltf,T)
%%It's not a good idea to use function names as variables names
%step(i)=step(oltf(i),T);
%%No need to use the plot command, as the step command itself outputs a plot
%plot(T, st(i),'r')
end
hold off
  4 commentaires
Young Lee
Young Lee le 8 Sep 2023
thanks for your kind help
Sam Chak
Sam Chak le 8 Sep 2023
@Young Lee, You are welcome!

Connectez-vous pour commenter.

Plus de réponses (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by