How do I save variables from a function to the base workspace?

I have a matrix variable, corr_matrix. I would like to save this to the workspace without having to validate (export2wsdlg requests permission before exporting). Can you do this with evalin? I did not understand evalin's documentation...but I would like something like
Save2ws('variable_name', variable);
How can this be done?

1 Comment

What you are asking for with Save2ws is a way to poof a variable. In general this is bad practice. Can you give some details about how/where corr_matrix is being created?

Sign in to comment.

 Accepted Answer

4 Comments

This is what I was looking for, thank you.
@Pocho if you look around you will see that using eval, evalin, and assignin are considered equally, if not more, evil than globals.
in my script file: inputVT()
in my function file named inputVT.m
I have
v0 = input('velocity');
this works but my input is not stored to the workspace. How do I store it to ws?
In your script,
v0 = inptuVT();
and your inputVT.m would be
function v0 = inputVT
v0 = input('velocity');

Sign in to comment.

More Answers (2)

If you would like to do this for debugging purposes, you can click on the down-arrow below "Run" and choose "Pause on Errors". This will allow you to browse the internal variables and workspace in a function in debug-mode when an error occurs.
declare them as global variables
global var1 var2 var3
do it in your function and in matlab command

4 Comments

I agree, global variables are generally not good practice, but this would work.
Yes, avoid global variables if you possibly can, which is almost always. Experience debugging code that relied on global variables has taught me this lesson.
@Matt while I try and avoid globals, I would never trade a global for a evalin/assignin. At least globals give you a fighting chance of figuring out what is happening.
If you set variables as global you can not using them in simulikn

Sign in to comment.

Categories

Asked:

on 21 Aug 2012

Answered:

on 13 Jan 2020

Community Treasure Hunt

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

Start Hunting!