xied 发表于 2006-5-21 21:31

求救!matlab里end函数生成向量会不会自动补零

function Gs=sscanform(G,type)<BR>switch type <BR>    case 'ctrl'<BR>      G=tf(G); Gs=[];<BR>      G.num{1}=G.num{1}/G.den{1}(1);% 传递函数归一化<BR>      G.den{1}=G.den{1}/G.den{1}(1);d=G.num{1}(1);<BR>      G1=G; G1=G1-d;<BR>      num=G1.num{1};den=G1.den{1};n=length(G.den{1})-1;<BR>      A=;<BR>      B=; C=num(end:-1:2); D=d;<BR>      Gs=ss(A,B,C,D,'Ts',G.Ts);<BR>    case 'obsv'<BR>      Gc=sscanform(G,'ctrl');<BR>      Gs=ss(Gc.a',Gc.c',Gc.b',Gc.d','Ts',G.Ts);<BR>    otherwise<BR>      error('可能矩阵不能控(观)')<BR>end<BR>这里如果我num的元素个数和C向量不一样,为什么用 C=num(end:-1:2); 后它会在后面自动补零

xied 发表于 2006-5-22 12:33

<P>大侠帮忙啊</P>

happy 发表于 2006-5-22 15:03

回复:(xied)求救!matlab里end函数生成向量会不会自...

<P>自动的,这个你可以试一下<BR>a(8:-1:3)=1</P>
<P>a =</P>
<P>   0   0   1   1   1   1   1   1</P>
页: [1]
查看完整版本: 求救!matlab里end函数生成向量会不会自动补零