Error plotting bode diagram of a transfer function inside a matrix

14 views (last 30 days)
I am trying to plot bode diagram of an element inside a matrix. The transfer function is alright if i plot G11 which is first row first column matrix. But the bode plot gives error. Is there a different way to plot such bode diagram ? My code is below.
syms s
G11=s-1;G12=s;
G21=-6;G22=s-2;
den=1.25*(s+1).*(s+2);
G=[G11, G12;G21, G22]/den;
G1=G(1,1);
G2=G(1,2);
G3=G(2,1);
G4=G(2,2);
bode(G1)
I even tried G11 by removing all G1...G4. But still doesnt work. Please guide.
  2 Comments
Star Strider
Star Strider on 9 Dec 2019
Shah Fahad’s Answer moved here —
The error is:
Error using bode (line 83)
Not enough input arguments.
ahmed solyman
ahmed solyman on 11 Jan 2023
Regarding MATLAB coding in particular using the bode(sys) code to get the bode diagram. When the numerator equals just a number like (10) without (S), there is an error in computing the bode magnitude because computing it as a 20log(k) “the rule” is not true in MATLAB. Because MATLAB takes into consideration it as log “ln”, not log10.
Please could you tell me how I can solve this issue?

Sign in to comment.

Accepted Answer

Star Strider
Star Strider on 9 Dec 2019
That is not the error.
The error is that you are using the Symbolic Math Toolbox when you need to be using the Control System Toolbox.
Try this:
s = tf('s');
G11=s-1;G12=s;
G21=-6;G22=s-2;
den=1.25*(s+1).*(s+2);
G=[G11, G12;G21, G22]/den;
G1=G(1,1);
G2=G(1,2);
G3=G(2,1);
G4=G(2,2);
bode(G1)

More Answers (0)

Categories

Find more on Get Started with Control System Toolbox in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!