Save Variables declared in function to workplace.

1 view (last 30 days)
Hello
I am defining variables in a function, but after the execution those variables are not saved in my workplace.
How can I do it without actually returnig them in output.
And the no. of variables are unkown initially , after the user give some values according to it no. of variables are declared in the function and later on all those variables are used to compute the final value and this final value is the output of the function but I need the variables declared for further computation.
  2 Comments
Stephen23
Stephen23 on 23 Sep 2020
"I am defining variables in a function, but after the execution those variables are not saved in my workplace."
They are defined in the function workspace:
"How can I do it without actually returnig them in output."
The efficient, simple, and recommended way is to pass them as output arguments:
"And the no. of variables are unkown initially"
Then they should be simply stored in one container array, e.g. a cell array or a structure. Then your task is trivial.

Sign in to comment.

Accepted Answer

Ameer Hamza
Ameer Hamza on 23 Sep 2020
It seems that you are dynamically naming the variables. This is not a recommended practice and should be avoided as much as possible: https://www.mathworks.com/matlabcentral/answers/304528-tutorial-why-variables-should-not-be-named-dynamically-eval.
However, if you still want to do such a thing that then either use varargout: https://www.mathworks.com/help/matlab/ref/varargout.html or declare these variables as global: https://www.mathworks.com/help/matlab/ref/global.html

More Answers (0)

Community Treasure Hunt

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

Start Hunting!