Initialize Variables in a Function

In a SCRIPT, I'm able to initialize variables which is displayed as empty variables in the workspace:
mass = [];
speed = [];
velocity = [];
BUT when I place these same initialize variables in a FUNCTION, MATLAB does not recognize them and does not store them in the workspace.
function myvariables()
mass = [];
speed = [];
velocity = [];
How can I execute initialize variables in a function?
Thanks, Amanda

 Accepted Answer

If you want a function to return those variables to the workspace, you'll need to declare it as:
function [mass speed velocity] = myvariables()
and call it as
[mass speed velocity] = myvariables()
Alternatively, you can assign those variables in either the calling, or base workspace (look up the help for assignin or evalin)
Alternatively, again, you can declare the variables as global in every function you want to use them, AND in the base workspace.

1 Comment

Variables declared within functions, and not explicitly returned in some fashion will be deleted when the function finishes, but are available within the function.

Sign in to comment.

More Answers (0)

Asked:

on 30 May 2013

Community Treasure Hunt

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

Start Hunting!