Assigning Dynamic Variables in Simulink

18 views (last 30 days)
How do I create a variable/ output a variable from a function using user defined matlab function block in simulink. The code of which is given below:
function y = fcn()
y = input('enter the variable value: ');
end
Using this code for the function gives an error in SIMULINK. I want Simlink to ask me for the value to be entered once I start the simulation.
Assume the there are only two blocks, i.e. User-defined function block and display block in simulink workspace.
  2 Comments
Fangjun Jiang
Fangjun Jiang on 10 Aug 2020
This is unrealistic. Keep in mind that the MATLAB Function block is executed in every simulation step, like every 1ms. Do you want to enter the value 1000 times for 1 second of simulation? What is your real need?
Sushanth Manchikatla
Sushanth Manchikatla on 10 Aug 2020
I need to create an interface where I can fix variable(s) by chosing from a prompt given by simulink/matlab. So how do I code this prompt? And this variable is fixed for all the simulations. I dont want to put the variable as a constant and change the value by opening the workspace everytime. Instead I need a seperate code which allows me to change the value for every execution.

Sign in to comment.

Answers (1)

Fangjun Jiang
Fangjun Jiang on 10 Aug 2020
Put the code in Model Properties, Callbacks, InitFcn. It will be executed every time the simulation is run.
MyData=input()
MyData is a variable used by the Simulink model.

Categories

Find more on Simulink Functions in Help Center and File Exchange

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!