How performing FRF for complex functions

14 Ansichten (letzte 30 Tage)
Bala Sundaram Nauduri
Bala Sundaram Nauduri am 5 Okt. 2023
Kommentiert: Star Strider am 11 Okt. 2023
Hello,
I'm tryiing to plot phase and magnitude plot for below complex transfor function by performing FRF for say -600 to 600 Hz
1257 s + 3.736e05
-------------------------------------------
s^2 + (1554 - 2e02i) s + (3.736e05 - 2e02i)
Please help

Akzeptierte Antwort

Star Strider
Star Strider am 5 Okt. 2023
Try this —
s = tf('s');
H = (1257*s + 3.736e05) / (s^2 + (1554 - 2e02i)*s + (3.736e05 - 2e02i))
H = 1257 s + 373600 ------------------------------------- s^2 + (1554-200i) s + (3.736e05-200i) Continuous-time transfer function.
opts = bodeoptions;
opts.FreqUnits = 'Hz';
opts.FreqScale = 'linear';
figure
bodeplot(H, {0 600*2*pi}, opts) % Plot Transfer Function
grid
[mag,phase,wout] = bode(H, {0 600*2*pi}); % Return Numeric Values ('wout' Will Be In rad/sec, So Divide It By (2*pi) To Get Hz)
mag = squeeze(mag);
phase = squeeze(phase);
.
  5 Kommentare
Bala Sundaram Nauduri
Bala Sundaram Nauduri am 11 Okt. 2023
Once again thank you so much, Now I'm trying plot the root locus using rlocus(), and it says
Error using DynamicSystem/rlocus (line 65)
Cannot compute the root locus of models with complex data.
May be I need to rewrite my transfer function, I will get back to you if I have any questions.
Star Strider
Star Strider am 11 Okt. 2023
My pleasure!
I cannot suggest a work-around for the rlocus problem.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Plot Customization finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by