声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2218|回复: 2

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

[复制链接]
发表于 2006-5-21 21:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
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=[zeros(n-1,1) eye(n-1);-den(end:-1:2)];<BR>        B=[zeros(n-1,1);1]; 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); 后它会在后面自动补零
回复
分享到:

使用道具 举报

 楼主| 发表于 2006-5-22 12:33 | 显示全部楼层
<P>大侠帮忙啊</P>
发表于 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>
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-9-25 15:26 , Processed in 0.059086 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表