What is wrong with my code? How can i set parameters from an array into a block in simulink?

2 vues (au cours des 30 derniers jours)
code:
s=sprintf([sim_filename '/L_%d'],Loads_new_to_Loads_old_index(i,2));
add_block('mylibmodels/Single_phase_Var_Load', s)
set_param(s,'P', act_power_of_loads(1,i));
set_param(s,'Q', react_power_of_loads(1,i));
error:
Invalid setting in SubSystem block (mask) 'L_6' for parameter 'P'
The two arrays that i want to extract from them their values to set them as parameters in the blocks, are arrays with numbers only. Thank you
  3 commentaires
Antonis Marinou
Antonis Marinou le 15 Fév 2018
This is a small part of my code. The 'sim_filename' is define above this code. The problem is in the function set_param i believe. Thank you
Birdman
Birdman le 15 Fév 2018
Share the entire code you wrote. Everything.

Connectez-vous pour commenter.

Réponses (1)

Fangjun Jiang
Fangjun Jiang le 15 Fév 2018
Most block parameters, even though they are numeric to the user, are strings when getting from get_param(). So when setting the parameters, you also need to provide the string.
Just run get_param() first to see what type you get and then provide the similar. Use num2str(), mat2str() if needed.

Catégories

En savoir plus sur Programmatic Model Editing dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by