trying to loop for transfer function plots into single figure

2 ビュー (過去 30 日間)
Young Lee
Young Lee 2023 年 9 月 7 日
コメント済み: Sam Chak 2023 年 9 月 8 日
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 件のコメント
VINAYAK LUHA
VINAYAK LUHA 2023 年 9 月 7 日
編集済み: VINAYAK LUHA 2023 年 9 月 7 日
The "hold on" command may help, find its documentation in the following link https://in.mathworks.com/help/matlab/ref/hold.html

サインインしてコメントする。

採用された回答

Dyuman Joshi
Dyuman Joshi 2023 年 9 月 7 日
編集済み: Dyuman Joshi 2023 年 9 月 7 日
%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 件のコメント
Young Lee
Young Lee 2023 年 9 月 8 日
thanks for your kind help
Sam Chak
Sam Chak 2023 年 9 月 8 日
@Young Lee, You are welcome!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeAnnotations についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by