声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1565|回复: 2

求助:s函数中的微分问题

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

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

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

x
最近我用s函数写控制器
里面的参数是用微分方程给出的,比如参数   dx(表述x的一阶导数)=a+30*(b+x),
这个我知道可以用微分部分即 sys(1)=a+|30*(b+x(1))表示,

但是,我的控制器里面却包含的是dx, 例如控制器  F=M(x)+C(dx)
控制器里面的x我直接写成x(1)即可,而 dx呢?请问我应该怎么表示出来

这里,谢谢了先:@)
回复
分享到:

使用道具 举报

发表于 2007-1-2 21:27 | 显示全部楼层
你是说dx无法利用是吧,若是,可以采用在S函数中定义全局变量的方法,其命令是set_param(gcb,'UserData',mydata)和mydada=get_param(gcb,'UserData'),其中mydada是随意自定义的变量名,可以是结构体,针对你的问题可以在微分函数中用mydata=sys;set_param(gcb,'UserData',mydata);记录下微分值,在使用的地方用mydada=get_param(gcb,'UserData');得到。
发表于 2007-1-7 15:24 | 显示全部楼层
最好能有具体的问题,给你三个方案,你尝试一下:
1  将dx也作为状态量
2  在output中用a+30*(b+x)代替dx
3  将x,dx作为输出量,然后再重新加模块定义控制力
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-9-21 17:59 , Processed in 0.062140 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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