1樓:嚇棟棟
clear
clc%% 建立模型
g1 = tf([1 1],[1 3 2]);
g2 = tf(1,[1 5]);
g3 = tf([1 1],[1 5 6]);
h = tf(1,[1 1]);
% 內部負反饋模型
w1 = feedback(g2*g3,h);
% 總系統模型
w2 = feedback(g1*w1,1);
%% bode 奈奎斯特圖 零極點分佈
bode(w2)
title('bode圖')
figure
nyquist(w2)
title('奈奎斯特圖')
figure
pzmap(w2)
title('零極點分佈')
%% 系統的階躍響應 脈衝響應 斜坡響應
figure
step(w2)
title('階躍響應')
figure
impulse(w2)
title('脈衝響應')
% 斜坡響應沒有專門的函式可以使用,利用斜坡函式的傳遞函式和系統的傳遞函式可以構建
s = tf('s');
w3 = w2/s^2;
figure
impulse(w3)
title('斜坡響應')
%% r(t)=1+t+t^2可以看出單位階躍,斜坡和加速函式的疊加,分配求其響應然後求和,
% 另外一種方法是使用lsim,該函式可以計算任意輸入下系統的輸出響應
t = linspace(0,10,500);
u = 1+t+t.^2;
y = lsim(w2,u,t);
e = u'-y;
figure
plotyy(t,y,t,e)
legend('系統響應','系統誤差');
title('r(t)=1+t+t^2')
我覺得這道題使用matlab程式設計的話比較複雜,還是建議用simulink搭建,比較方便。
2樓:匿名使用者
bode是伯特圖 nyquist是奈奎斯特曲線
Matlab程式設計問題,matlab程式設計問題
挺簡單的,自己做,上道題動 不給採納,自己想想,簡單的積分問題 matlab 程式設計問題 26 題1 基本運算 a 22 33 4 1 3 31 54 2 32 b 1 4 3 3 2 3 3 1 8 a 6 b ans 28 57 14 19 15 49 36 8 80 a b eye 3,3 ...
matlab程式設計,matlab中如何程式設計序進去
a 8 1 1 1 1 1 1 3 3 2 1 1 5 1 1 3 1 1 2 1 1 5 3 3 3 1 1 4 5 1 1 1 1 1 2 2 2 2 4 3 1 5 4 2 1 1 1 2 1 3 1 1 2 2 5 2 1 3 2 5 1 1 3 1 1 1 1 2 1 5 4 2 2 1 ...
例項搞定MATLAB介面程式設計pjimage m學習中遇到的問題
x xlsread c documents and settings administrator 桌面 2.xls time1 1980 2009 plot time1,x,m lin,col size x years lin 將原始資料轉化為增長率資料,存於dx中 for j 1 years 1 ...