How performing FRF for complex functions

15 次查看(过去 30 天)
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

采纳的回答

Star Strider
Star Strider 2023-10-5
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 个评论
Bala Sundaram Nauduri
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 2023-10-11
My pleasure!
I cannot suggest a work-around for the rlocus problem.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Plot Customization 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by