MATLAB: Send Variable to Workspace In Middle of a Function

MATLAB

Is there a way to return a variable to the workspace in the middle of a function? I do not want to create two separate functions in order to do this. 

Best Answer

You can use the 'assignin' function. It allows you to assign a variable to a workspace in the middle of a function. If you wish to save multiple variables, you can either make a call to 'assignin' multiple times or save the variables in a container like a cell array or structure. You can refer to the documentation here. 
https://www.mathworks.com/help/matlab/ref/assignin.html
To test this, write a function, debug the function, execute the 'assignin' line, and quit debugging. You will see the variable saved in the specified workspace even though the function did not fully execute.