How to run .m file script from Simulink(eg.slx) and results of script should update in same Simulink(eg.slx) file

2 views (last 30 days)
Hi everyone,
I have an optimisation algorithm in which it will find the best PID gain values for the given system,As of now the script is runing first and then the results are obtained. I want to call this script from a simulink were i kept my pid controller and the values should updated in the same simulink pid blocks.

Answers (1)

Salman Ahmed
Salman Ahmed on 11 Oct 2021
Hi Alex,
You can try the following to run your MATLAB script in Simulink:
  1. Using model callbacks : You can call the optimization script to update the gain values in a callback function.
  2. Using MATLAB Fcn block : You can define custom functionality of the optimization in SImulink using a MATLAB Fcn block. Note that the MATLAB Fcn block can only utilize MATLAB language features that are supported for C/C++ code generation. In such a case, you can define your custom function as coder.extrinsic.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!