Variables and the Workspace
Variables in Matlab are used to name and store numeric values that will be
used in the expressions that you wish to evaluate.
They are different from the variables that you have used in Math classes and in Maple.
While a variable in Matlab can contain any value, it must be assigned a value before
it can be used in an expression. Expressions are x+2*y-z
or 1/2*(h^2+b^2)
.
The use of variables in Matlab is similar to using named memory locations in a hand-held calculator. Just as you
would not use your calculator to calculate x+2*y-z
without first
assigning values to the memory locations labelled x
, y
,
and z
, you will not use Matlab to evaluate such an expression without
first assigning values to the variable names chosen.
Therefore, we will assign values to variable names and then use those variables
in our calculations.
Why use variables instead of just the numeric value?
Once a value is assigned to a variable it can be reused throughout a problem without retyping the value. This is preferrable since it is easy to make typing errors when entering numeric values and there is no way for Matlab to know if a numeric value is correct or not. However, Matlab can tell if a variable name was typed correctly. We just need to correctly assign the value once and then use the variable name throughout our calculations. Assigning values to variable names makes it possible to change one value and re-solve the entire problem for the new value. It also helps us remember what each value represents in the context of our solution.
Variable Scope (local access vs global access)
The scope of a variable is also important. The scope determines where the value of a
variable is available for use in Matlab. For example, variables that you define in
the main command window are available in the command window (local to that window).
But, they are not available in the functions that you define.
However, a user can define variables that are available in multiple scopes.
By executing the global
command with a list of variables,
you make each of those variables global
or accessible to any other block that executes the global
statement.
The value can be assigned once and then used in more than one scope.
Caution: Defining all variables as global
will likely cause more problems than it will solve.
Only make a variable global
if it must be used in more than scope and it is inconvenient to pass it to each
function that requires the variable's value.
Workspace Variables
The Matlab workspace refers to the set of variables that have been
assigned values. These variables are available for use in calculating other values. Click on the
Workspace tab to see the variables that have been assigned values and are available in the current scope.
If the Workspace tab is not visible, select Desktop->Workspace
from the menu tree to add it to your Desktop layout.
Pre-Defined Variable Names
There are some values that Matlab has already assigned to variable names.
For example, the value of
has been assigned to the variable pi
. Matlab is case-sensitive, so be sure to use
pi
and not Pi
.
Descriptive Variable Names
Choosing good descriptive names for each variable is important to your success
in using Matlab for solving problems. Single letter variable names like x
,
y
, and z
are less common than more descriptive names like
height
, width
, tempStart
, tempEnd
,
cost
, price
, time
, etc. There are several
rules to follow when choosing a descriptive name for a variable.
Variable Naming Rules (must be followed)
Variable names ...
- must be unique in the first 63 characters*.
- must begin with a letter.
- may not contain blank spaces or other types of punctuation.
- may contain any combination of letters, digits, and underscores.
- are case-sensitive. That means that
height
is a different name thanHeight
.*Matlab uses only the first
namelengthmax=63
characters of the name to distinguish one variable from another. So be sure to keep this in mind when choosing variable and user-defined function names. User-defined functions presented in a later lesson.
Use the genvarname
function to
create names that are both valid and unique.
See the genvarname
reference page to find out how to do this.