How do I declare a variable in the MATLAB workspace from a MATLAB function?
28 次查看(过去 30 天)
显示 更早的评论
MathWorks Support Team
2009-6-27
编辑: MathWorks Support Team
2021-12-13
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.
采纳的回答
MathWorks Support Team
2021-12-10
编辑:MathWorks Support Team
2021-12-13
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 个评论
更多回答(1 个)
Gaganjyoti Baishya
2020-6-20
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 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Workspace Variables and MAT Files 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!