控原筆記(2) Matlab分析控制系統效能

2021-10-05 10:12:24 字數 2536 閱讀 1038

可以使用matlab時域命令求解時域響應,以及如何對控制系統進行效能分析,包括考察系統的過度過程指標,研究二階系統的特徵引數——阻尼比和自然頻率對系統特性的影響,以及系統特徵根的位置與過度過程的關係;研究傳遞函式的零極點對系統過度過程的影響和高階系統的閉環主導極點的性質。

【例一】有一系統g(s

)=y(

s)x(

s)=2

s2+4

s+8g(s)=\frac=\frac

g(s)=x

(s)y

(s)​

=s2+

4s+8

2​,求它的單位脈衝響應曲線。

>> num = [0 0 2];		%分子

>> den = [1 4 8]; %分母

>> grid %網格

>> impulse(num, den) %單位脈衝響應

輸出單位脈衝響應曲線:

【例二】求取傳遞函式g(s

)=ωn

2s2+

2sωn

ζ+ωn

2g(s)=\frac

g(s)=s

2+2s

ωn​ζ

+ωn2

​ωn2

​​的單位階躍響應。

(1)ωn=

1\omega_n=1

ωn​=1,ζ

\zeta

ζ分別取0, 0.5, 1.0, 1.5, 2;

(2)ζ

=0.5

\zeta=0.5

ζ=0.5,ω

n\omega_n

ωn​分別取0.2, 0.4, 0.6, 0.8, 1;

說明這兩個特徵引數對過渡過程的影響。

解:ζ

\zeta

ζ,ωn

\omega_n

ωn​是決定二階系統動態特徵的兩個重要引數,ζ

\zeta

ζ其中是阻尼比,ω

n\omega_n

ωn​是無阻尼振盪頻率,下面通過matlab**驗證這兩個引數對系統效能的影響。

xi=0.5;omegn=[0.2:0.2:1];k=length(omegn);t=0:0.1:60;

for i = 1:k

num = [omegn(i)^2];

den = [1 2 * xi * omegn(i) omegn(i)^2];

[c,x,t]=step(num,den,t);

subplot(1,2,1),plot(t,c);hold on

endsubplot(1,2,1),xlabel('time(s)'),ylabel('c(t)'),grid on

omegn = 1;xi = [0:0.5:2];k = length(xi);

for i = 1:k

num = [omegn(i)^2];

den = [1 2 * xi * omegn(i) omegn(i)^2];

[c,x,t]=step(num,den,t);

subplot(1,2,2),plot(t,c);hold on

endsubplot(1,2,2),xlabel('time(s)'),ylabel('c(t)'),grid on

輸出結果如圖,其中左圖中阻尼比ζ

=0.5

\zeta=0.5

ζ=0.5,ω

n\omega_n

ωn​分別取0.2, 0.4, 0.6, 0.8, 1;右圖中ωn=

1\omega_n=1

ωn​=1,ζ

\zeta

ζ分別取0, 0.5, 1.0, 1.5, 2。

+1​輸入週期為4s的方波時,求系統的輸出響應。matlab程式如下:

num = [2 5 1];den = [1 2 3];t=(0:1:10);

period = 4

u = (rem(t,period)>=period/2); %rem(t,period)作用是求整除t/period的餘數

lsim(num,den,u,t);

title('square ware response')

輸出響應影象為:

專題 2 Matlab矩陣處理

1.特殊矩陣 通用特殊矩陣zeros,ones,eye,rand 均勻分布,randn 標準正態分佈 e.g.產生5階兩位隨機整數矩陣a,再產生均值為0.6 方差為0.1的5階正態分佈隨機矩陣b,驗證 a b i ia bi i為單位矩陣 產生5階兩位隨機整數矩陣a,再產生均值為0.6 方差為0.1...

MATLAB學習筆記2

注 僅供學習使用,部分內容來自學校課程課件或網路,理性 1.記憶體變數的顯示與刪除 1 who 顯示matlab工作空間中已經駐留的變數名清單。2 whos 給出變數名的同時,給出它們的大小 所佔位元組數和資料型別 3 clear 刪除matlab工作空間中的變數。但特殊變數不能被刪除。x 1 y ...

Matlab 變數 學習筆記 2

matlab 定義乙個變數,例如 x 4 在使用變數時 1.必先賦值 2.系統接收乙個變數後可以被引用,3,表示式返回的結果,不會分配給任何變數,系統分配乙個變數名ans,以後可以繼續使用,1,在使用matlab時 執行多個任務同一行。2,但需要查詢使用了的變數名,可以使用who查詢,而且whos查...