How can I change a parameter in a Simulink block using code setVariable?

1 visualizzazione (ultimi 30 giorni)
I do a simply circuit simulation, a voltage source DC and a resistence, i create 2 variables A = amplitude DC source and R = resistance, when try change this variables ony change A but R not change in the block so the out is not the rigth.
I do this
In = Simulink.SimulationInput('Sim');
In = In.setVariable('A',10);
In = In.setVariable('R',20);
In = simulink.compiler.configureForDeployment(In); % I need this
out = sim(In);
  2 Commenti
Rhea Chandy
Rhea Chandy il 4 Feb 2021
From what I understand, you're trying to update the variables 'A' and 'R' programmatically, but the variable R is not updating as expected. Can you share the model you're working on so that I can recreate the issue and investigate further?
Carlos Santiago Moreno Lozano
I need create an app web with this simulation, so if I change in the app R value, in the simulation should change too but the code dosn't work well.

Accedi per commentare.

Risposta accettata

Mark McBroom
Mark McBroom il 6 Feb 2021
Since the variables you are trying to change are in the Model Workspace, you need to add an optional argument specifying this.
In = In.setVariable('R',2, 'Workspace', 'RL')
In = In.setVariable('A',20, 'Workspace', 'RL')
Thanks.
Mark.

Più risposte (0)

Categorie

Scopri di più su Electrical Sensors in Help Center e File Exchange

Prodotti


Release

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by