在Smulink里实现LQR控制
想请教一下,如何在simulink里实现最优主动控制?=LQR(A,B,Q,R,N)在simulink里有相应的模块可以用吗? 有人知道怎么解决吗? 不知你说的意思
simulink中的大多数模块都支持多种数据类型 问题是这样的。我现在想在simulink里做一个结构振动主动控制的仿真。我用的算法是线性二次型最优控制算法,即LQR方法。
我原先用MALAB编程计算控制力增益矩阵K,主要用的是控制工具箱函数=LQR(A,B,Q,R,N),我就想问在simulink里是否有计算控制力增益矩阵K的模块呢?希望帮帮忙,谢谢! 简单地说就是,再simulink里如何调用MATLAB里的lqr函数呢? 先在你的m文件中执行lqr函数求出控制增益K。
然后在你的simulink主动控制系统仿真时添加一个gain模块,给其幅值K,即可。 我做的是拉索振动的轴向主动控制。问题是我的计算过程中每一步结构的刚度也在发生变化,那么每一步的控制增益K都不一样,所以不可能一次性地给K一个常数,想在simulink里调用lqr函数,来计算每一步的K。有好的解决办法吗? 你试一试matlab fcn等能自定义函数模块 定义s-function或者matlabfcn吧! 这个问题我也很犯愁,不知楼主解决了没有?
页:
[1]