simulink 传递函数的“分母阶次”比“分子阶次”低,该如何输入?老提示出错啊
比如说PID的传递函数,里面包含了一个微分,所以导致整理出来的算式,分母阶次低这个式子整理以后,上面是二次式,下面是一次式,所以无法在simulink的transferf...
比如说PID的传递函数,里面包含了一个微分,所以导致整理出来的算式,分母阶次低
这个式子整理以后,上面是二次式,下面是一次式,所以无法在simulink的transfer func模块中输入,咋办?
例如我想输入(s^2+2S+3)/(S+1)就会提示出错,如下图
或者说,我怎么才能正确输入上面那个PID的传递函数呢?(别告诉我调用PID模块,我现在只想手动输入) 展开
这个式子整理以后,上面是二次式,下面是一次式,所以无法在simulink的transfer func模块中输入,咋办?
例如我想输入(s^2+2S+3)/(S+1)就会提示出错,如下图
或者说,我怎么才能正确输入上面那个PID的传递函数呢?(别告诉我调用PID模块,我现在只想手动输入) 展开
1个回答
展开全部
连续情况下:
微分使用Derivative模块,就是Continuous里的du/dt模块;
积分使用Integrator模块。
离散情况下类似。
微分使用Derivative模块,就是Continuous里的du/dt模块;
积分使用Integrator模块。
离散情况下类似。
追问
我不想用模块自己堆,那个我会。
我想直接用“传递函数模块”一步定义出来,有办法吗?
传递函数的确是分母阶次一定要高于分子,但是pid的传递函数明明是分子的阶次高,这是为什么?
追答
从错误提示来看,是这个传递函数的模块调用了tf2ss函数,这个函数不允许分子阶此高于分母。如果是想把PID三个部分放在一起可以封装一下;如果非要自己写,可以用User-Defined Functions分类里面的Fcn模块或者MATLAB Function模块,也不难。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询