声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 4491|回复: 15

[综合讨论] s函数中状态变量的个数最多为多少?

[复制链接]
发表于 2007-10-10 16:47 | 显示全部楼层 |阅读模式

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

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

x
s函数中,可不可以用一个4*6的矩阵作为状态变量?
为什么当我的输入变量u为一个有八个元素的向量时系统就报错说输入太多呢?
回复
分享到:

使用道具 举报

发表于 2007-10-11 08:35 | 显示全部楼层

回复 #1 ly012659 的帖子

你的矩阵是4*6的,也就是说有4个状态变量
你输入8个肯定会报错的
发表于 2007-10-11 09:39 | 显示全部楼层
有几个地方不明白:
1、状态变量的个数为什么是矩阵?在s函数中,mdlInitializeSizes(T)这个函数中如何设置size.NumContStates或者是size.NumDiscStates的值,让它的值为一个矩阵?
2、输入变量u的维数与mdlInitializeSizes(T)中size.NumInputs的值相关,如果设置为8,输入变量u的维数是8不应该报错呀!如果设置为4,出错也只会说输入向量的维数必须是4,不会报错说大也不会说小吧,不知如何判断出一定是输入太多?
 楼主| 发表于 2007-10-11 09:45 | 显示全部楼层

回复 #2 lirui0662 的帖子

状态变量矩阵的维数与输入没有必然关系吧,只是将中间的过程变量暂存在里边,相当于一个寄存器吧?
发表于 2007-10-11 09:53 | 显示全部楼层

回复 #4 ly012659 的帖子

你能把你的空间状态方程和s函数发上来看看吗?实在是不知道你的状态变量矩阵是怎么回事,这样如何在s函数中设置?
 楼主| 发表于 2007-10-11 10:33 | 显示全部楼层
附件上传的网址是什么,我找了半天没找到:@D
发表于 2007-10-11 10:40 | 显示全部楼层
1.JPG
点下回复!这里可以上传,不会是开玩笑的吧:@L
 楼主| 发表于 2007-10-11 10:55 | 显示全部楼层
:@L 刚才一直在快速恢复栏里找...
untitled1.mdl (22.36 KB, 下载次数: 25)
mys_fcn.m (9.25 KB, 下载次数: 16)
公式.doc (28 KB, 下载次数: 14)



刚才的模型传错了,又重新传了一遍....

[ 本帖最后由 ly012659 于 2007-10-11 12:01 编辑 ]

公式.doc

28 KB, 下载次数: 20

mys_fcn.m

9.25 KB, 下载次数: 28

untitled1.mdl

27.2 KB, 下载次数: 28

发表于 2007-10-11 11:41 | 显示全部楼层
你用的是自适应控制,这个我学得不是很好,你的仿真我也没法运行,也许版本问题
先说说我的几点疑问:
1、看s函数你想得到的是[y(k) y(k-1)]但是按照仿真图中的连接方法得到的是[y(k-1) y(k-1)],且u似乎也有相似的问题。
1.jpg
2、r(k)-u(k)=e(k)?


2.jpg

3、sizes.NumDiscStates  = 9,P = x(4:7,4:7),K = x(1:4,8),theta = x(1:4,9);而x0 = [U Y E P K theta];
     状态变量x是4×9,还是6×9的矩阵
4、P = eye(4),eye好像没有定义过
5、在mdlInitializeSizes中theta = theta0,x0 = [U Y E P K theta],是否每次运行S函数时都要初始化theta=theta0,从我知道的来看theta(k)应该等于theta(k-1)
以上几点是我小小的疑问,外家之言见笑了

评分

1

查看全部评分

 楼主| 发表于 2007-10-11 12:09 | 显示全部楼层
1 仿真模型传错了 所有的y u都是应该从k-1时刻开始,不可能有当前时刻的
2 同上
3 4*9
4 eye(4)4阶单位矩阵,eye是单位矩阵函数,mat自带
5 初始化只在仿真开始时才进行
发表于 2007-10-11 16:10 | 显示全部楼层
明白了,看看s函数和仿真框图,模块之间连接没问题的话,应该可以运行啊
找不出问题所在!:@(
 楼主| 发表于 2007-10-12 09:40 | 显示全部楼层
请高手赐教!!不胜感激:loveliness:
发表于 2007-12-18 15:41 | 显示全部楼层

回复 #9 jack_boy 的帖子

请问s函数的参数里包含一个矩阵,那矩阵的初始化应该放在什么地方,谢谢!!
发表于 2012-2-23 11:24 | 显示全部楼层
我也遇到了类似的问题,真的很麻烦,初学搞不懂
发表于 2012-2-23 12:12 | 显示全部楼层
状态变量的个数跟输入没有关系吧,为什么状态变量多了s函数就不能导入到simulink,sfunction模块中呢
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-5-16 04:46 , Processed in 0.084067 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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