Re: 請問Matlab的問題???

看板Programming作者時間18年前 (2007/03/29 02:32), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
你應該是學控制的~你想把狀態方程式用ss2tf指令變成轉移函數~ 我覺得你的問題應該是維度的問題, C=1X3 sI-A=3X3 所以C(sI-A)=1*3 C(sI-A)^(-1)=1X3 又B=3X1 因此{C(sI-A)^(-1)}*B=3X3 我覺得D要3X3才對~ 也就是d=[0 0 0;0 0 0;0 0 0]; 你試試看,我覺得理論是d=3X3才是對的~ 應該是說寫狀態方程式時要注意矩陣維度~ ※ 引述《bodboy.bbs@bbs.badcow.com.tw (第三個願望)》之銘言: > a=[-10 0 1;1 0 0;-0.02 0 2]; > b=[0;0;2]; > c=[0 1 0]; > d=[0 0 0;0 0 0]; > [N1,d1]=ss2tf(a,b,c,d,1); > 上述的程式是用計算transfer matrix的,執行時我想應該是在d的部分 > 設錯了,因為我自己用紙筆計算出來的d值為0,所以行列各是多少我也不太清楚, > 想請教各位大大,這程式真的是d設錯了嗎?如果是,請問要如何修改? > 如果不是,又是要修改哪裡呢? > ---------------------------------------------- > G(s)={C(sI-A)^(-1)}*B+D > A=[-10 0 1 > 1 0 0 > -0.02 0 2] > B=[0 > 0 > 2] > C=[0 > 1 > 0] > D=0 -- ※ Origin: 元智大學 風之塔 <bbs.yzu.edu.tw> ※ From : 61-63-107-148.nty.dynamic.lsc.net.tw ※ X-Info: Re: 請問Matlab的問題??? ※ X-Sign: 130KJTHUDx88NJ/KNmLw (07/03/28 19:21:21 )
文章代碼(AID): #162hId00 (Programming)
文章代碼(AID): #162hId00 (Programming)