tongji 发表于 2006-7-12 10:10

在Smulink里实现LQR控制

想请教一下,如何在simulink里实现最优主动控制?=LQR(A,B,Q,R,N)
在simulink里有相应的模块可以用吗?

tongji 发表于 2006-7-12 14:56

有人知道怎么解决吗?

cyberdstar 发表于 2006-7-12 21:57

不知你说的意思
simulink中的大多数模块都支持多种数据类型

tongji 发表于 2006-7-12 22:21

问题是这样的。我现在想在simulink里做一个结构振动主动控制的仿真。我用的算法是线性二次型最优控制算法,即LQR方法。
我原先用MALAB编程计算控制力增益矩阵K,主要用的是控制工具箱函数=LQR(A,B,Q,R,N),我就想问在simulink里是否有计算控制力增益矩阵K的模块呢?希望帮帮忙,谢谢!

tongji 发表于 2006-7-13 20:47

简单地说就是,再simulink里如何调用MATLAB里的lqr函数呢?

linweifeng 发表于 2006-7-14 11:04

先在你的m文件中执行lqr函数求出控制增益K。
然后在你的simulink主动控制系统仿真时添加一个gain模块,给其幅值K,即可。

tongji 发表于 2006-7-14 11:53

我做的是拉索振动的轴向主动控制。问题是我的计算过程中每一步结构的刚度也在发生变化,那么每一步的控制增益K都不一样,所以不可能一次性地给K一个常数,想在simulink里调用lqr函数,来计算每一步的K。有好的解决办法吗?

linweifeng 发表于 2006-7-14 15:05

你试一试matlab fcn等能自定义函数模块

catyujian 发表于 2008-12-28 00:01

定义s-function或者matlabfcn吧!

ah1985 发表于 2014-4-28 21:59

这个问题我也很犯愁,不知楼主解决了没有?
页: [1]
查看完整版本: 在Smulink里实现LQR控制