MATLAB Tutorial 1
Published:
These notes recap the first MATLAB tutorial in which I introduced the MATLAB interface and some basics.
Console
The console contains
Command Window
Workspace
This is where the variables that are created will be saved
- Current Folder
This is where MATLAB is currently working. We’ll learn more about paths and present working directory later.
- Command History
This is all the past commands and functions you’ve run in this session. You can scroll through here and click on these to re-run a function
- Prompts
This is where you run console commands.
Variables
- Initializing variables
Creating a variable saves the results of an equation or expression. It uses the format variablename = expression.
>> myNumber = 3 + 5
This creates the variable “myNumber” and saves it to the workspace. You should see that myNumber has been saved with the value of 8, not the expression.
- Incrementing variables
Incrementing variables changes the value of the initialized variable, by using the variable in the expression.
>> myNumber = myNumber + 2
“myNumber” should appear in the workspace now with the value of 10 (i.e. the variable “myNumber” has been updated). This will be useful later in writing experimental code for trial loops or counters.
- Variable names
Variable names can be made up of alphanumeric characters and underscores, but must start with a letter. You can run into problems with underscores in variable names so programmers usually use mixed cases. Examples of variable names:
this1thing
thisVariable
my_number
my_number1
Types
Unlike most programming languages, such as Python or R, MATLAB has four types of objects and often do not require definition. You can run into some problems with functions and variables mismatching in the required types.
- Double
Stands for double precision, usually just big numbers.
- Single
Stands for single precision, smaller numbers. You won’t encounter these often.
- Char
A bunch of characters, somtimes referred to as a “string”. Defined using inverted commas
>> myName = 'William'
- Logical
A true or false result.
To find the class of an object, you can use the function class.
>> class(myNumber);
>> class(myName);
Note that:
>> class myNumber
produces a different result. This is because it treats myNumber here as a string (it will appear in purple when you type it in the console).
Functions
- Calling functions
Functions can be used in prompts or writing scripts. The format is function_name(arguments). For example:
>> abs(-3)
Here, abs is the function being called, the absolute value function. -3 is the argument for the function. The abs function takes the argument and turns it into the positive value, 3 in this case!
- Arguments
Different functions require different numbers of arguments (or none at all!). Use the help function to figure out what arguments are required for the function, and what order the arguments need to be input!
>> help abs
Random Number Generating
MATLAB isn’t capable of being truly random. It relies on something called a seed, which is a number that generates MATLAB’s next random events. Try this:
>> rng('Shuffle')
>> rand
This will generate a random decimal number between 0 and 1.
Now run this:
>> rng(0)
>> rand
I can predict you got 0.8147! Despite it being “random”, I was able to predict your result. This is because it relies on the seed number you entered (“0” in this case) to generate the random sequence of results. This is known as pseudorandomness. Reset the randomness by running:
>> rng('Shuffle')
This will reset the seed to a different number.
