I have a simulink project which one shows on figure (project name 'UsingMATLABFunction.slx'). We are using 3 phase power source. And i tried take loop. Because we want increase power for each iteration to take different output values.
open_system('UsingMATLABFunction.slx');
W=30000;
set_param('UsingMATLABFunction/Source', 'Pref','W');
for ii= 1:10 %% 10 iterations. 10 times power increased.
W=W+10000
x=x+1;
y=y+1;
z=z+1;
set_param('UsingMATLABFunction/Source', 'Pref','W');
sim('UsingMATLABFunction.slx');
save_system('UsingMATLABFunction.slx');
end
I did it like this code but i cant change the current values with source. am i making a mistake somewhere?

Antworten (1)

MULI
MULI am 26 Apr. 2024

0 Stimmen

Hi Yusuf,
From the code you have provided it appears that the parameter ‘Pref’ is set to a string ‘W’ instead of setting it with numeric value. Due to this the parameter ‘Pref’ is not updated with the numeric values as you increase ‘W’ in each iteration of the loop.
To correctly update the parameter, convert the numeric value to a string using “num2str” as given below:
set_param('UsingMATLABFunction/Source', 'Pref',num2str(W));
With this correction loop will appropriately increase the value of ‘W’ by 10000 in each iteration.
You may refer to this documentation link for more information on that:
https://www.mathworks.com/help/releases/R2020a/simulink/slref/set_param.html
Hope this answers your query!

Produkte

Version

R2020a

Gefragt:

am 14 Jun. 2021

Beantwortet:

am 26 Apr. 2024

Community Treasure Hunt

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

Start Hunting!

Translated by