2个回答
展开全部
1、首先,有点奇怪,题主为什么要用m文件来写这个系统呢?用m文件当然也可以写,但对于结构稍微复杂一些的系统来说,显然用Simulink实现是更好的选择。
2、这个图中的积分器带有复位端口,且复位条件为leval,即在复位信号本步非零或上一步非零的条件下,积分器会被复位。应该大多数时刻积分器处于被复位的状态吧?那么,几乎所有时刻,积分器只是输出其初值而已,不知道题主搞出这样一个奇怪的结构来有什么意义?
3、传递函数部分的做法,要写M文件,一般是把对应的微分方程或状态方程写出来,然后结合系统其它部分的方程一起,构成一个更大的微分方程组,然后用ode系列函数求解即可。
2、这个图中的积分器带有复位端口,且复位条件为leval,即在复位信号本步非零或上一步非零的条件下,积分器会被复位。应该大多数时刻积分器处于被复位的状态吧?那么,几乎所有时刻,积分器只是输出其初值而已,不知道题主搞出这样一个奇怪的结构来有什么意义?
3、传递函数部分的做法,要写M文件,一般是把对应的微分方程或状态方程写出来,然后结合系统其它部分的方程一起,构成一个更大的微分方程组,然后用ode系列函数求解即可。
更多追问追答
追问
追答
1、Bode图本来就是对线性系统而言的,你既然引入了非线性特性,无论用Simulink还是M文件,都不能画出Bode图吧?
2、如果按照你给的这个方程,与上面图中的复位刚好反过来了:方程中是当e=0时积分器复位,而上面的图中,是e~=时复位。
要想实现这个方程的功能,应该在复位信号那条支路上串联一个Fcn模块,表达式写成u==0。但这样实际上起不到任何作用,因为从数值计算的角度说,误差信号刚巧严格等于0的时刻几乎捕捉不到,所以,改成 abs(u) <= tol 更合理一些,其中tol是允许的误差,比如可以取0.01。
可以告诉我这是哪个文献上的控制方法吗?感觉有点像变结构控制,但又明显把问题简单化了,即,希望误差一旦为0就把控制量u置0,这对于连续系统而言是不太可能实现的(有点像离散系统中所谓无纹波控制)。
我注意到你之前问过一个问题(编号1959594565712906900),当时就是觉得这个条件很怪,所以就没回答。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询