一般控制矩阵转能控标准型
生活随笔
收集整理的這篇文章主要介紹了
一般控制矩阵转能控标准型
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
新手碼的代碼,有很多內置函數都不清楚,歡迎大佬指路!
目錄
一、測試程序
二、能控性判別函數
三、一般控制矩陣轉能控標準型函數
一、測試程序
A=[0 1 3 42 3 1 53 4 5 14 5 3 7]; C=[1 2 3 4]; B=[1;2;3;4]; [AA,BB,CC]=ss2con(A,B,C);二、能控性判別函數
function[ks,kv]=controllability_RankCriterion(A,B,C) %% 能控 n=size(A,1); Qc=ctrb(A,B); rankQc=rank(Qc); if rankQc==nks=1; elseks=0; end %% 能觀 Q0=obsv(A,C); rankQc=rank(Q0); if rankQc==nkv=1; elsekv=0; end end三、一般控制矩陣轉能控標準型函數
function[A,B,C]=ss2con(a,b,c) [ks,~]=controllability_RankCriterion(a,b,c); if ks==0error('the sys is uncontrollable') elsedisp('the sys is controllable') %% 求P矩陣 n=size(a,1); A=zeros(n,n); p=poly(a); W=zeros(n,n); w=zeros(1,n); for i=1:nw(n-i+1)=p(i); end for i=1:nfor j=1:n-i+1W(i,j)=w(i+j-1);end end Qc=ctrb(a,b); P=Qc*W; %% 求A,B,C C=c*P; B=zeros(n,1); B(n,1)=1; den=zeros(1,n); for i=1:nden(i)=p(i+1); end for i=1:n-1A(i,i+1)=1; end dxn=fliplr(den); dxn=-1*dxn; A(n,:)=dxn; end 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的一般控制矩阵转能控标准型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 广发银行信用卡申请办理 如何申请广发银行
- 下一篇: MS