Optimizing simulink parameters from matlab code
12 views (last 30 days)
Show older comments
I have a simulink simulation that I am trying to optimize, however the gains (gain a,b,c etc) are calculated outside of simulink using matlab code before running the simulation.
For example if you want to run the simulation, you first go to the matlab code to calculate all the parameters:
In the matlab script one might enter:
Q=12000
f=24000
and from that the gains are calculated in the matlab script to be:
a=1/Q
b=f*Q
etc
I would like to optimize the values of Q and f rather than the gains a,b,c. However, when I optimize, my only options are things that are directly in the simulink code: a,b,c etc. How can I optimize the output of my model via changing Q and f?
Thanks!
Answers (1)
Sam Chak
on 25 Nov 2022
Put it another way around, you can fminunc() to directly optimize the gains
from the Simulink model and then probably solve for Q and f from the optimal gains
using fsolve().


Else, if the MATLAB script is simple enough that it consists of some straightforward static equations like
a = fun1(Q, f)
b = fun2(Q, f)
c = fun3(Q, f)
then you can describe that in the Simulink model using the fundamental blocks, and use fminunc() to optimize Q and f.
0 Comments
See Also
Categories
Find more on Simulink Design Optimization in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!