[問題] residue已回收

看板MATLAB作者 (小三)時間15年前 (2009/05/26 23:56), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
我想利用residue這個函數來幫我解決控制問題 我的目的如下面所述 2 5 4 11s^2+16s-27 --- + --- + --- = -------------- s+3 s-3 s+1 s^3+s^2-9s-9 把左半平面的部分找出來 結果就是 2 4 6s+14 --- + --- = ---------- s+3 s+1 s^2+4s+3 我寫的程式如下 numG=[11 16 -27]; deng=[1 1 -9 -9]; [Gr,Gp,Gk]=residue(numG,denG); ai=1; Xp=[0;0]; Xr=[0;0]; for i= 1 : length(Gp) if real(Gp(i))<0 |real(Gp(i))==0 Xp(ai)=Gp(i); Xr(ai)=Gr(i); ai=ai+1; else end end Xk=Gk [numX,denX]=residue(Xr,Xp,Xk); X=tf(numX,denX) 套上面的例子解出來是正確的 但是我丟有分母虛根的式子解出來就不正確了 不知道有沒有高手可以看出我式子哪裡有瑕疵阿 For example numG=[3 2 5 4 6]; denG=[1 3 4 2 7 2]; [Gr,Gp,Gk]=residue(numG,denG); [numX,denX]=residue(Gr,Gp,Gk); G=tf(numG,denG) X=tf(numX,denX) G照理說要等於X 但是解出來的X會帶有複數 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.122.66.114 ※ 編輯: mvphisashi 來自: 122.122.66.114 (05/27 00:32)
文章代碼(AID): #1A714iuB (MATLAB)