matlab的程式設計題

2021-07-01 01:45:18 字數 1113 閱讀 6254

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 ...