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');
留言
張貼留言