How do I declare a variable in the MATLAB workspace from a MATLAB function?
20 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
MathWorks Support Team
el 27 de Jun. de 2009
Editada: MathWorks Support Team
el 13 de Dic. de 2021
I wrote a function that provides some variables to Simulink. I have declared them global, so Simulink could see them. But I have to declare them at the prompt and I am unable to declare them in the function because Simulink does not see them.
Respuesta aceptada
MathWorks Support Team
el 10 de Dic. de 2021
Editada: MathWorks Support Team
el 13 de Dic. de 2021
Simulink has access to any variable defined in the MATLAB workspace. You do not need to declare a variable 'global'. In order to define a variable in the MATLAB workspace from a function, you can declare the variables in the function using the command EVALIN. For example:
function declare_variable
......
evalin('base','k=100');
......
In this example, when the function 'declare_variable' is called, it will generate a variable 'k' in the MATLAB workspace. This variable can then be seen by the Simulink model. Please note that if, before the function 'declare_variable' is called, a variable called 'k' exists in the MATLAB workspace already, calling the function 'declare_variable' will overwrite the existing variable 'k' with the new value (100).
For more information on the EVALIN function, see the following URL:
0 comentarios
Más respuestas (1)
Gaganjyoti Baishya
el 20 de Jun. de 2020
Hi,
You can easily add variables in base from function using assignin.
function myFunc(a,b)
x=3;
assignin('base','myVar',x);
end
assignin declares the varibale myVar with value of 3.
0 comentarios
Ver también
Categorías
Más información sobre Startup and Shutdown en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!