extracting values from bode()
33 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Hi,
I know that you can do the following to get the magnitude phase and w from using the bode() call (which requires transfer function input.
[mag, phase, wout] = bode(sys)
The problem I am having with this call was that the vectors that are returned are of too small. I see in the doc that the size of the array depends on NY and NU input and outputs, but i'm not quite sure how to increase NY and NU so that I can extract more values from the bode plot.
This is particularly confusing because when you call bode(), you have many many points that go from small frequencies to very large, so I don't know why when you extract mag and phase, it limits it to a certain sized vector.
All suggestions are appreciated. Tia
0 comentarios
Respuesta aceptada
Craig
el 8 de Mayo de 2012
Hi,
The NY and NU sizes are based on the number IOs (inputs and outputs) your system has and would be fixed. You can compute the response at various frequencies with the resulting mag and phase being a NY-by-Nu-by-Nw vector where Nw is the number of frequency points. If you are trying to extract data at more frequencies or a specific set of frequencies you can specify the frequency vector explicitly
[mag,phase,wout] = bode(sys,win)
In this case win = wout. For example, evaluating 100 points equally logrithmic spaced points between 10^-1 and 10 would be done has follows
[mag,phase,wout] = bode(sys, logspace(-1,1,100))
0 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Plot Customization en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!