Optimization based on inputs and outputs (for online optimization)
显示 更早的评论
Hi,
I want to do online optimization in a simulink real-time environment. I dont have a plant model, the plant is in the 'real' world and controlled via simulink.
The procedure for optimization could look like this:
- apply step change with initial parameters
- record response --> calculate benchmark
- give benchmark to optimization algorithm --> calculate new parameters
- apply step change with new parameters
-...
is there a way to use optimization functions such as fminsearch by giving them just the input and the output of a system? (instead of the function it self)
Cheers, Frank
2 个评论
Ryan G
2012-10-23
Why don't you use the real plant to create a linear system using system identification? Essentially you can send sweeps, sin waves etc into the system, record the output and then use the I/O relation to create a linear system and do your design in Simulink instead of on a true non-linear system (which is very difficult).
Frank
2012-10-25
采纳的回答
更多回答(3 个)
Paulo Naves
2019-7-28
0 个投票
I have been facing the same difficult and have not yet found a reasonable solution on the forum. I appreciate any help.
Rajiv Singh
2019-7-29
0 个投票
Please look at Simulink Design Optimization product. You can run simulation based optimization of chosen parameters and states while choosing your own custom minimization objective.
Paulo Naves
2019-7-29
0 个投票
I have tried to run Simulink Design Optimization, it worked very well using "Normal Mode" , like it was done on this video (https://www.youtube.com/watch?v=EfIdQ8YopgI)
But when I change to "External Mode", in my study trying to use each iteration step as a rotation velocity for DC motor connected to an arduino ( it works well without optimization loop) I find this error: Changing property 'ReturnWorkspaceOutputsName' is not allowed.
Thanks in advance
类别
在 帮助中心 和 File Exchange 中查找有关 Loop-Shaping Design 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!