lanqiu_1982 发表于 2007-5-27 09:48

simulink的一个问题(急)

请问,谁知道在simulink里面如何表示一阶和二阶微分啊?
有直接表示的模块么?好象没有.
如果没有,如何表示呢?尤其是二阶微分

cdwxg 发表于 2007-5-27 12:32

一阶微分是有的,二阶没用过,但是离散的现在我还存在一些问题
你用的地方是状态变量那些么?

cdwxg 发表于 2007-5-27 14:44

如果是离散状态下,可以这样来用,如e(k的一阶微分=e(k)-e(k-1) k时刻的反馈加个1/z就是k-1时刻的
二阶微分=e(k)-2e(k-1)+e(k-2)
不过这样的最好是写程序形式。

[ 本帖最后由 cdwxg 于 2007-5-27 14:47 编辑 ]

lanqiu_1982 发表于 2007-5-27 22:02

不是程序的,我不编程,我是想在simulink中用传递函数画方框图,
可以写出传递函数,但是在simulink中不知道如何用方框图表示,请指教,谢谢

lanqiu_1982 发表于 2007-5-27 22:05

例如:2s*s+3s+1和3s+1,这种一阶,二阶微分的形式,咋用方框图表示啊

lirui0662 发表于 2007-5-28 08:51

在simulink里面有的,在continous里面
或用du/dt也行

lanqiu_1982 发表于 2007-5-28 08:59

不行的,用du/dt也只能表示s啊,你是说如果2s+1,就用2du/dt+1么?
那二阶微分呢,continous里面根本没有可以直接表示一阶二阶微分的,怎么班啊

maliwei 发表于 2007-5-28 09:13

回复 #7 lanqiu_1982 的帖子

就用两个du/dt串起来相乘就表示平方了
不过,在simulink中直接用这么多的纯微分有时候可能遇到错误信息
简单来说,可能是simulink仿真的数值问题,因为纯微分有扩大噪声的作用,所以有时候数值会超过matlab所能处理的范围,比如10的几十甚至几百次方,这时候matlab认为是无穷大,就会出向错误信息。

maliwei 发表于 2007-5-28 09:18

回复 #7 lanqiu_1982 的帖子

还可以用带一阶惯性环节的微分来近似,比如s可以用s/0.01s+1来近似。

cdwxg 发表于 2007-5-28 09:50

原帖由 lanqiu_1982 于 2007-5-27 22:02 发表 http://www.chinavib.com/forum/images/common/back.gif
不是程序的,我不编程,我是想在simulink中用传递函数画方框图,
可以写出传递函数,但是在simulink中不知道如何用方框图表示,请指教,谢谢
顺便想问下,你的这个二阶微分等是传递函数的分母么?
如果是这样,你用传递函数1/s+1
就可以了通过设置下参数.

因为二阶微分这些还是很少用,所以怀疑是否是楼主表达上的错误?

lanqiu_1982 发表于 2007-5-30 21:13

请高手们帮我看看行么,咋表示的啊?

cdwxg 发表于 2007-5-31 11:18

???
上面不是那么多提示么?
你一定要:例如:2s*s+3s+1和3s+1,这种一阶,二阶微分的形式,咋用方框图表示啊:这样的形式????
你什么地方用到这种形式了?说来看下呢?
页: [1]
查看完整版本: simulink的一个问题(急)