フィルターのクリア

Convert s in j*ω in a transfer function

7 ビュー (過去 30 日間)
FEDERICO CIOL
FEDERICO CIOL 2021 年 3 月 20 日
コメント済み: Paul 2021 年 3 月 22 日
Hi, in this code I want to replace the variable s with the complex j*ω
syms s;
m=100;
k=20;
c=0;
A=[m*s^2+c*s+k -s*c-k 0; -k-s*c m*s^2+s*2*c+2*k -s*c-k;0 -s*c-k m*s^2+s*c+k]
det=det(A);
AI=inv(A)
for i = 1:3
for j = 1:3
[nf,df] = numden(AI(i,j));
tfn = sym2poly(nf);
tfd = sym2poly(df);
sys(i,j) = tf(tfn,tfd);
end
end
AI is the stiffness matrix of a MDOF system in mechanics of vibration and I want to plot the displacement behaviour of the masses.
Thanks
  2 件のコメント
Paul
Paul 2021 年 3 月 22 日
Replace s with j*w at what part of the process? It's straightforward to do that substitution in AI, but then sys will be incorrect? Or do you want to just evaluate sys at s = j*w? Or perhaps you want to do something else?
FEDERICO CIOL
FEDERICO CIOL 2021 年 3 月 22 日
I want to evaluate sys(i,j) at s=j*w, but I don't know how to change s in a tf.

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

採用された回答

Paul
Paul 2021 年 3 月 22 日
No need to change anything in sys. It is a tf object and either freqresp() or bode() can evaluate sys at s = j*w
doc freqresp
doc bode
  2 件のコメント
FEDERICO CIOL
FEDERICO CIOL 2021 年 3 月 22 日
Thanks. But how can I plot my freqresp?
Paul
Paul 2021 年 3 月 22 日
bode without output arguments will make the plots for you. The magnitude and/or phase of the output of freqresp can be plotted vs w, typically using semilog
doc abs
doc angle
doc semilog

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeTime and Frequency Domain Analysis についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by