关于液压阀Simulink中代数环的问题
吧友们,有没有遇到在Simulink中仿真液压阀时的模型,最近在做毕设,关于波浪补偿的,在液压阀仿真那一块遇到代数环问题,然后仿真运行出现图中的结果,有大神做过类似的还请指点啊,附上源码和图片,一,代数环在simulink中,直接馈通定义为系统的输出直接依赖输入,也就是说,模块的输出方程中包含输入则此模块具备直接馈通特性将带有直接馈通特性的各模块串成一个回路会导致一个代数环。在一个代数环中,由于模块之间是相互依赖的,所有的模块都要求在同一个时刻计算输出,这与通常的仿真顺序概念相抵触。具有代数环的模型,仿真得到的结果可能不正确。所以在搭建系统模型之前,应尽量通过手工方法对方程求解,以去掉代数环。 simulink使用Newton法求解代数环,尽管这种方法很有效,但是对有些代数环来说,这个方法可能不收敛,所以尽量不要在模型中包含代数环,以免仿真结果不正确加memory模块的目的,相当于离散系统中加一个delay模块的功能是一样的是为了避免具有代数环的模块,都在同一时刻有输出,产生错误,让各模块输出的时间有一个延时,有前后顺序,达到遵循仿真原理的要求,进而能输出结果。 什么是代数环?发生在两个或多个模块在输入端口具有信号直接传递而形成反馈的情况时,直接传递的模块在不知输入端口的值的情况下无法计算出输出端的值,也就是现在时刻的输出是依赖现在时刻的输入值来计算的。当这种情况出现时simulink会在每一次迭代言算完成时,去决定它是否会有解。代数回路会减缓方真执行的速度并可能会没有解。 当方程两边都出现同一个变量时,即产生了代数环。如:3y+4=y当Simulink中存在非模型延迟时,通常会产生代数环。比如,传感器将输出信号反馈到输入端。 学习了,非常感谢
页:
[1]