Bode

15 ビュー (過去 30 日間)
Diego Aguilera
Diego Aguilera 2011 年 7 月 6 日
コメント済み: Hamed Pouria 2019 年 7 月 6 日
I am new to Matlab. I need to use the Bode command. When I run my code, I get this error: "Undefined function or method 'bode' for input arguments of type 'double'."
  1 件のコメント
Ruben Ubeda
Ruben Ubeda 2015 年 1 月 29 日
i have the same problem!

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

回答 (3 件)

Oleg Komarov
Oleg Komarov 2011 年 7 月 6 日
You may not have the Control System Toolbox. To check that type ver in the command window.

Paulo Silva
Paulo Silva 2011 年 7 月 6 日
Besides Oleg suggestion, bode doesn't take double arguments, you must provide one transfer function instead.
%simple example from the bode function documentation
g = tf([1 0.1 7.5],[1 0.12 9 0 0]);
bode(g)
Here's a way to do the bode plot without the control toolbox:
sys=@(s) (s.^2+0.1*s+7.5)./(s.^4+0.12.*s.^3+9*s.^2)
w=1:0.01:40;
amp=10*log10(abs(sys(w*i)));
ang=angle(sys(w*i))*180/pi;
subplot(211)
plot(w,amp)
title(char(sys))
ylabel('Magnitude (DB)')
set(gca,'xscale','log')
subplot(212)
plot(w,ang)
set(gca,'xscale','log')
xlabel('frequency (rad/sec)')
ylabel('phase (deg)')
  2 件のコメント
Seng Tak Goh
Seng Tak Goh 2019 年 4 月 18 日
Hi Paulo,
That was amazing! Do you mind to explain how sys=@(s) actually does the trick?
Many thanks in advance!
Hamed Pouria
Hamed Pouria 2019 年 7 月 6 日
It has some promlems.
in line 3 you must write :
amp=20*log10(abs(sys(w*i)));
and also if the number of poles - number of zeros of the system will be bigger than 2 (for example 3) it does not work correctly because of the strict of the function angle(); It will return the phase angles only within the interval [-pi to pi].

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


Diego Aguilera
Diego Aguilera 2011 年 7 月 6 日
I'm guessing it's not installed...
-------------------------------------------------------------------------------------
MATLAB Version 7.11.0.584 (R2010b)
MATLAB License Number: ###########[SCd Censor]
Operating System: Mac OS X Version: 10.6.7 Build: 10J869
Java VM Version: Java 1.6.0_24-b07-334-10M3326 with Apple Inc. Java HotSpot(TM) 64-Bit Server VM mixed mode
-------------------------------------------------------------------------------------
MATLAB Version 7.11 (R2010b)
Simulink Version 7.6 (R2010b)
Curve Fitting Toolbox Version 3.0 (R2010b)
SimPowerSystems Version 5.3 (R2010b)
  2 件のコメント
Oleg Komarov
Oleg Komarov 2011 年 7 月 6 日
No guess here.
Diego Aguilera
Diego Aguilera 2011 年 7 月 6 日
Ha. I'm upgrading to the newest version. I believe the it has the Control System Toolbox. I'll find out in a few hours. Thanks.

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

カテゴリ

Help Center および File ExchangeClassical Control Design についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by