Set Simulink variable with m file

12 views (last 30 days)
Kris
Kris on 6 Jun 2012
Hello,
To be able to see how my Simulink model responds to differenct variabel values i want to set the Variable value with an m file(function).
The m file runs a for loop. In this for loop i collect data from an excel sheet wich i loaded into my workspace. Now i would like to change my Simulink model variable to the value from my excel file.
for a=1:10
HeatFactor(a,2) %the HeatFactor is an array, i retrieve data (a number)
from the second kolumn
simOut = sim( 'ABC', 'SaveOutput', 'on' )
results = simOut.get( 'yout' )
a=a+1;
end
So before i simulate i want to transfer the value i retrieve from HeatFactor(a,2). To the Variable F in my Simulink model (i used a constant block for this and set the value to F).
Also i would like to set the result of the simulation, the value i get from 'yout' into and array list. One that keeps counting and not one that get's reset everytime i speak to my model 'ABC'.
Thanks,
Kris

Answers (1)

K E
K E on 6 Jun 2012
You can use the set_param command within a mfile script to change a parameter in your Simulink model. These answers and this link may be helpful.
  1 Comment
Kaustubha Govind
Kaustubha Govind on 6 Jun 2012
Regarding getting "yout" into an array, you simply have to make your "results" variable a cell-array (or something similar).
results{i} = simOut.get( 'yout' );

Sign in to comment.

Categories

Find more on Programmatic Model Editing in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!