日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

利用Matlab實現時域分析功能的示例詳解_C 語言

作者:Vizio__ ? 更新時間: 2023-04-11 編程語言

利用MATLAB可以方便地進行控制系統的時域分析。洋相判斷系統的穩定性,只要求出系統的閉環極點,即閉環傳遞函數的分母多項式的根即可,而分析系統的動態特性,只要求出系統的階躍響應即可。

利用MATLAB控制系統工具箱中所提供的求聯系系統的單位階躍響應函數step(),單位沖激響應函數impluse(),任意輸入信號下的響應函數lsim()等函數可以方便的求出系統在該信號作用下的響應。

step函數(求階躍響應)

step(num,den)

num表示分子各階系數,den表示分母各階系數

作用:已知閉環傳遞函數,求其階躍響應

step(num,den)會輸出圖像;ct2=step(num,den)輸出數值。

impulse函數(求脈沖響應)

impulse(num,den)

num表示分子各階系數,den表示分母各階系數

作用:已知閉環傳遞函數,求其脈沖響應

impulse(num,den)會輸出圖像;ct2=impulse(num,den)輸出數值。

lsim函數(求輸出)

lsim(sys,u,t)

sys傳遞函數,u 輸入函數,t時域自變量

作用:已知輸入函數和傳遞函數,用這個可以的到每次系統的輸入對應的輸出(輸入函數u要是時域中的,可以輸出圖像也可以是對應的值)

1.求二階系統不同阻尼比條件下的階躍響應曲線

已知典型二階系統的傳遞函數為

假設Wn=1,試在同一張圖上繪制當阻尼比分別為0、0.1、0.3、0.5、0.7、1、2時系統的單位階躍曲線

dum=[4];
den1=[1 0 4];
den2=[1 0.4 4];
den3=[1 1.2 4];
en4=[1 2 4];
den5=[1 2.8 4];
den6=[1 4 4];
den7=[1 8 4];
sys1=tf(dum, den1);
sys2=tf(dum, den2);
sys3=tf(dum, den3);
sys4=tf(dum, den4);
sys5=tf(dum, den5);
sys6=tf(dum, den6);
sys7=tf(dum, den7);
step(sys1, sys2, sys3, sys4, sys5, sys6, sys7);

可以看到阻尼比為0時無法收斂,其他阻尼比均收斂

2.求二階負反饋系統的動態性能指標?

設單位負反饋二階系統的開環傳遞函數為

G(s)=1.25/s2+s

試計算系統的動態性能指標:上升時間tr、峰值時間tp、超調量、調整時間ts

clear
num=1.25;
den=[1 1 0];
sys=tf(num,den);%建立系統開環傳遞函數模型
sys=feedback(sys,1);%建立系統閉環傳遞函數模型
[y,t]=step(sys);%求系統單位階躍響應
ytr=find(y>=1);
rise_time=t(ytr(1))%計算上升時間
[ymax,tp]=max(y);
peak_time=t(tp)%計算峰值時間
max_overshoot=ymax-1%計算超調量
s=length(t);
while y(s)>0.98&y(s)<1.02
    s=s-1;
end
settling_time=t(s+1)%計算調整時間
plot(t,y,'k',t,ones(length(t),1),'k-.')%繪制響應曲線
axis([0 10 0 2.2])
title('Plot of Unit-Setp Response Curves','Position',[5 2.22],'FontSize',8)
xlabel('Time(sec)')
ylabel('Response')

原文鏈接:https://blog.csdn.net/weixin_50932441/article/details/128800066

欄目分類
最近更新