Re: 請問Matlab的問題???
你應該是學控制的~你想把狀態方程式用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 )
討論串 (同標題文章)
完整討論串 (本文為第 2 之 2 篇):
Programming 近期熱門文章
PTT數位生活區 即時熱門文章