Teljes Matlab script
(és live script)
kiegészítő függvényekkel.
Tekintsd meg LiveEditor nézetben is!
s = tf('s');
H = (0.5*s + 1) / (8*s^3 + 4*s^2 + 3*s + 1)
[Gm,Pm,Wgm,Wpm] = margin(H)
figure, hold on
fplot(@(t) sqrt(1 - t.^2),[-1 1], 'r--')
fplot(@(t) -sqrt(1 - t.^2),[-1 1], 'r--')
Ny_opts = nyquistoptions;
Ny_opts.ShowFullContour = 'off';
Ny_opts.Grid = 'off';
Ny_opts.MagUnits = 'abs';
nyquistplot(H, Ny_opts), axis equal
figure, hold on
Bd_opts = bodeoptions;
Bd_opts.FreqUnits = 'Hz';
Bd_opts.FreqScale = 'log';
Bd_opts.MagUnits = 'abs';
bodeplot(H,Bd_opts), grid on
xlim([0.01,1])
H =
0.5 s + 1
-----------------------
8 s^3 + 4 s^2 + 3 s + 1
Continuous-time transfer function.
Gm =
0.6667
Pm =
-12.5307
Wgm =
0.6455
Wpm =
0.6895
H_cls = feedback(H,1);
[Poles, Zeros] = pzmap(H_cls)
figure('Position', [ 211 81 583 437 ], 'Color', [1 1 1])
bodeplot(H_cls, Bd_opts)
xlim([0.01,1])
Poles =
0.0213 + 0.6784i
0.0213 - 0.6784i
-0.5427 + 0.0000i
Zeros =
-2
hann