Error plotting bode diagram of a transfer function inside a matrix
14 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Shah Fahad
le 9 Déc 2019
Commenté : ahmed solyman
le 11 Jan 2023
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 commentaires
Star Strider
le 9 Déc 2019
Shah Fahad’s Answer moved here —
The error is:
Error using bode (line 83)
Not enough input arguments.
ahmed solyman
le 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?
Réponse acceptée
Star Strider
le 9 Déc 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)
2 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Get Started with Control System Toolbox dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!