声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2502|回复: 6

[编程技巧] [求助]hinfsyn命令怎么用啊?!

[复制链接]
发表于 2006-2-27 16:42 | 显示全部楼层 |阅读模式

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

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

x
我要用hinfsyn命令设计一个H无穷控制器,命令如下:
[k,g,gfin,ax,ay,hamx,hamy] =hinfsyn(p,1,1,0,10,0.0001,1).主要是控制对象P怎么输入?
p=(a;b1 b2;c1 d11 d12;c2 d21 d22)的形式.
我输入的不对,matlab提醒我不是system matrix.
请问如何正确输入p?下面是我的p:
a=[0,0,0,0,0,0,1,0,0,0,0,0;
0,0,0,0,0,0,0,1,0,0,0,0;
0,0,0,0,0,0,0,0,1,0,0,0;
0,0,0,0,0,0,0,0,0,1,0,0;
0,0,0,0,0,0,0,0,0,0,1,0;
0,0,0,0,0,0,0,0,0,0,0,1;
-17910.47,0,0,0,0,0,-0.80298,0,0,0,0,0;
0,-234623.98,0,0,0,0,0,-2.90628,0,0,0,0;
0,0,-1138702.41,0,0,0,0,0,-6.4026,0,0,0;
0,0,0,-3543306.28,0,0,0,0,0,-11.2942,0,0;
0,0,0,0,0,-8587478.59,0,0,0,0,-17.5826,0;
0,0,0,0,0,-17735131.92,0,0,0,0,0,-25.2679];
b1=[0;0;0;0;0;0;-1.44e-6;-1.09e-5;-3.68e-5;-8.7e-5;-1.7e-4;-2.95e-4];
b2=b1;
c1=[1,0,0,0,0,0,0,0,0,0,0,0;0,1,0,0,0,0,0,0,0,0,0,0;0,0,1,0,0,0,0,0,0,0,0,0;0,0,0,1,0,0,0,0,0,0,0,0;0,0,0,0,1,0,0,0,0,0,0,0;0,0,0,0,0,1,0,0,0,0,0,0;0,0,0,0,0,0,0,0,0,0,0,0;0,0,0,0,0,0,0,0,0,0,0,0;0,0,0,0,0,0,0,0,0,0,0,0;0,0,0,0,0,0,0,0,0,0,0,0;0,0,0,0,0,0,0,0,0,0,0,0;0,0,0,0,0,0,0,0,0,0,0,0;0,0,0,0,0,0,0,0,0,0,0,0;0,0,0,0,0,0,0,0,0,0,0,0;0,0,0,0,0,0,0,0,0,0,0,0];
c2=[-29.92,-227.37,-765.88,-1818.95,-3548.16,-6132.99,0,0,0,0,0,0];
d11=[0;0;0;0;0;0;0;0;0;0;0;0;0.78e-8;0;0];
d12=[0;0;0;0;0;0;0;0;0;0;0;0;0.78e-8;1.2e-2;4.78e-007];
d21=0.033;
d22=0.033;
回复
分享到:

使用道具 举报

 楼主| 发表于 2006-2-27 16:46 | 显示全部楼层

sorry!

sorry!


我发的C1太长,C1修改如下:
c1=[1,0,0,0,0,0,0,0,0,0,0,0;
0,1,0,0,0,0,0,0,0,0,0,0;
0,0,1,0,0,0,0,0,0,0,0,0;
0,0,0,1,0,0,0,0,0,0,0,0;
0,0,0,0,1,0,0,0,0,0,0,0;
0,0,0,0,0,1,0,0,0,0,0,0;
0,0,0,0,0,0,0,0,0,0,0,0;
0,0,0,0,0,0,0,0,0,0,0,0;
0,0,0,0,0,0,0,0,0,0,0,0;
0,0,0,0,0,0,0,0,0,0,0,0;
0,0,0,0,0,0,0,0,0,0,0,0;
0,0,0,0,0,0,0,0,0,0,0,0;
0,0,0,0,0,0,0,0,0,0,0,0;
0,0,0,0,0,0,0,0,0,0,0,0;
0,0,0,0,0,0,0,0,0,0,0,0];
发表于 2006-2-27 19:29 | 显示全部楼层

回复:(tianfen)[求助]hinfsyn命令怎么用啊?!

你的输入好像对不上吧
ZpgX6yKj.bmp
 楼主| 发表于 2006-2-27 22:22 | 显示全部楼层
可以的,我试过,各部分矩阵都是符合维度的,用p=(a b1 b2;c1 d11 d12;c2 d21 d22)可以得到一个矩阵的.不过就是用hinfsyn时不行啊!
发表于 2006-2-28 09:00 | 显示全部楼层

回复:(tianfen)[求助]hinfsyn命令怎么用啊?!

看了一下这个错误是检查你的p矩阵是否是系统矩阵造成的

对于控制理论不太熟悉不知道什么样是系统矩阵

在matlab检查是否是系统矩阵是有minfo这个函数完成的

你可以doc minfo看看
 楼主| 发表于 2006-2-28 15:35 | 显示全部楼层
呵呵,先谢谢了。我问过我师兄,他也不会,我先看看帮助吧,估计还是不会。
 楼主| 发表于 2006-2-28 15:52 | 显示全部楼层
呵呵。我把它改成了:
b=[b1 b2];
c=[c1;c2];
d=[d11 d12; d21 d22];
p=pck(a,b,c,d) 就有结果了,不过不知道这个结果对不对。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-9-26 03:28 , Processed in 0.066165 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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