How should I make a Bode Plot of a Multiple Input and multiple Output System
Mostrar comentarios más antiguos
I have a simulink file with two outports and two inports. What is wrong with my m-file below?
[A,B,C,D] = linmod('SimFileName');
wmin = 1; nmax = 5; Npoints = 200;
w = logspace(wmin,wmax,Npoints);
system = ss(A,B,C,D);
[mag,phase] = bode(system,w);
for k=1:Npoints
magdBout1in1 = 20*log10(mag(1:1:k));
magdBout2in1 = 20*log10(mag(2:1:k));
phaseOut1in1 = phase(1:1:k);
phaseOut2in1 = phase(2:1:k);
end
figure(2);clf;
subplot(2,1,1);
loglog(w,magdBout1in1,'-',w,magdBout2in1,'--');grid;
subplot(2,1,2);
semilogx(w,phaseOut1in1,'-',w,phaseOut2in1,'--');grid;|
Respuestas (1)
Arkadiy Turevskiy
el 12 de Ag. de 2013
There seem to be several things that are wrong. For example:
- You define a variable nmax, but the script is using wmax - looks like it is a typo
- In the for loop body you keep overriding the variables on the left side of the assignment statements
If I understand correctly what you are trying to do, it seems you can do that in a simpler way like this:
bode(system(1,1),w);
hold on;
bode(system(1,2),w,'--');
grid;
HTH.
1 comentario
Meinrad
el 13 de Ag. de 2013
Categorías
Más información sobre Time and Frequency Domain Analysis en Centro de ayuda y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!