魯棒工具箱定義了個新的對象類ureal,可以定義在某個區間內可變的變量。
函數的調用格式為:
p = ureal(name,nominalvalue) % name為變量名,nominalValue為標稱值,默認變化值為+/-1
p = ureal(name,nominalvalue,'PlusMinus',plusminus)
p = ureal(name,nominalvalue,'Range',range)
p = ureal(name,nominalvalue,'Percentage',percentage)
eg:
p=ureal('p',p0,'Range',[pm,pM]); % 區間變量p∈[pm pM]
有了這樣的不確定變量,則可有tf或ss函數建立起不確定系統的傳遞函數或狀態方程模型。還可以利用G1=usample(G,N)函數從不確定系統G中隨機選擇N個樣本賦給G1.此外還可以將bode函數,step函數等同樣用于不確定系統分析。
例如:
已知典型二階開環傳遞函數
請構造不確定系統模型,并繪制出樣本系統的開環Bode圖和閉環階躍響應曲線。
MATLAB代碼為:
clear all;clc;
z=ureal('z',0.7,'Range',[0.2,0.9]);
wn=ureal('wn',5,'Range',[2,10]);
G=tf(wn^2,[1,2*z*wn,0]);
Gu=usample(G,10);
figure(1)
bode(Gu);
grid on
figure(2)
step(feedback(Gu,1));
grid on;
程序運行結果為:
最后,歡迎大家有問題給我留言。
非常感謝小伙伴們的-點贊-收藏-加關注。