using add_block in a for loop
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hello, my problem is about creating Simulink Model in with script, due to variable model size I want to generate my model with help of for loops. When I use such command:
for k=1:n
Submodulename =sprintf('Submodule_%d' ,k);
pos = [x y+3*k*offset (x+w) (y+h+6*k*offset)];
add_block('NPC_MMC_Library/Submodule', Submodulename,...
'Position',pos);
end
Even my variable block name Submodulename is changing but add_block doesn't work,
thanx for any help in advance, Regards
2 commentaires
Réponse acceptée
C.J. Harris
le 3 Déc 2014
Modifié(e) : C.J. Harris
le 3 Déc 2014
I see you have defined a source block ('NPC_MMC_Library/Submodule'), however your destination doesn't appear to include the model name you are adding it to. I would expect your source to be of the format ['my_model/', Submodulename].
The reason it is failing is you are trying to add a block without stating which model you are adding it to.
Try this:
for k=1:n
Submodulename =sprintf('Submodule_%d' ,k);
pos = [x y+3*k*offset (x+w) (y+h+6*k*offset)];
add_block('NPC_MMC_Library/Submodule', ['my_model/', Submodulename], ...
'Position',pos);
end
Note: Replace 'my_model' with the name of your Simulink model
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Configure and View Diagnostics 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!