clc;

clear;

close all;


% 定義 s

s = tf('s');


% Transfer function

G = 400 / ((s+1)*(s^2 + 4*s + 400));


%% 1️⃣ 畫 Bode Plot + Margin

figure;

margin(G);   % 直接給你 GM, PM, Wcg, Wcp

grid on;


%% 2️⃣ 抓出所有數據

[GM, PM, Wcg, Wcp] = margin(G);


fprintf('Gain Margin (GM) = %.4f\n', GM);

fprintf('Phase Margin (PM) = %.4f deg\n', PM);

fprintf('Gain crossover frequency (Wcg) = %.4f rad/s\n', Wcg);

fprintf('Phase crossover frequency (Wcp) = %.4f rad/s\n', Wcp);


%% 3️⃣ Bandwidth

bw = bandwidth(G);

fprintf('Bandwidth (BW) = %.4f rad/s\n', bw);


%% 4️⃣ Resonance Peak & Frequency

[mag, phase, w] = bode(G);

mag = squeeze(mag);


[Mr, idx] = max(mag);

wr = w(idx);


fprintf('Resonance Peak (Mr) = %.4f\n', Mr);

fprintf('Resonance Frequency (wr) = %.4f rad/s\n', wr);


%% 5️⃣ Polar Plot

figure;

nyquist(G);   % 或用 polarplot (Nyquist更常用)

grid on;

title('Nyquist Plot');

留言

這個網誌中的熱門文章