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

2 visualizaciones (últimos 30 días)
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 comentarios
Rhea Chandy
Rhea Chandy el 4 de Feb. de 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
Carlos Santiago Moreno Lozano el 5 de Feb. de 2021
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.

Iniciar sesión para comentar.

Respuesta aceptada

Mark McBroom
Mark McBroom el 6 de Feb. de 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.

Más respuestas (0)

Categorías

Más información sobre Electrical Sensors en Help Center y File Exchange.

Productos


Versión

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by