声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 6052|回复: 9

[控制系统类] 在Smulink里实现LQR控制

[复制链接]
发表于 2006-7-12 10:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
想请教一下,如何在simulink里实现最优主动控制?[K,S,E]=LQR(A,B,Q,R,N)
在simulink里有相应的模块可以用吗?
回复
分享到:

使用道具 举报

 楼主| 发表于 2006-7-12 14:56 | 显示全部楼层
有人知道怎么解决吗?
发表于 2006-7-12 21:57 | 显示全部楼层
不知你说的意思
simulink中的大多数模块都支持多种数据类型
 楼主| 发表于 2006-7-12 22:21 | 显示全部楼层
问题是这样的。我现在想在simulink里做一个结构振动主动控制的仿真。我用的算法是线性二次型最优控制算法,即LQR方法。
我原先用MALAB编程计算控制力增益矩阵K,主要用的是控制工具箱函数[K,S,E]=LQR(A,B,Q,R,N),我就想问在simulink里是否有计算控制力增益矩阵K的模块呢?希望帮帮忙,谢谢!
 楼主| 发表于 2006-7-13 20:47 | 显示全部楼层
简单地说就是,再simulink里如何调用MATLAB里的lqr函数呢?
发表于 2006-7-14 11:04 | 显示全部楼层
先在你的m文件中执行lqr函数求出控制增益K。
然后在你的simulink主动控制系统仿真时添加一个gain模块,给其幅值K,即可。
 楼主| 发表于 2006-7-14 11:53 | 显示全部楼层
我做的是拉索振动的轴向主动控制。问题是我的计算过程中每一步结构的刚度也在发生变化,那么每一步的控制增益K都不一样,所以不可能一次性地给K一个常数,想在simulink里调用lqr函数,来计算每一步的K。有好的解决办法吗?
发表于 2006-7-14 15:05 | 显示全部楼层
你试一试matlab fcn等能自定义函数模块
发表于 2008-12-28 00:01 | 显示全部楼层
定义s-function或者matlabfcn吧!
发表于 2014-4-28 21:59 | 显示全部楼层
这个问题我也很犯愁,不知楼主解决了没有?
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-23 07:10 , Processed in 0.111578 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表