看板Programming
标 题Re: 请问Matlab的问题???
发信站元智大学风之塔 (Wed Mar 28 19:21:21 2007)
转信站ptt!ctu-reader!ctu-peer!ctu-gate!news.nctu!news.ncu!news.yzu!bbs.yzu
你应该是学控制的~你想把状态方程式用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才是对的~
应该是说写状态方程式时要注意矩阵维度~
※ 引述《[email protected] (第三个愿望)》之铭言:
> 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 )