Programming and Scripts
Scripts
To create a script, use the edit
command,
edit mysphere
This command opens a blank file named mysphere.m
. Enter some code that creates a unit sphere, doubles the radius, and plots the results:
[x,y,z] = sphere; r = 2; surf(x*r,y*r,z*r) axis equal
Next, add code that calculates the surface area and volume of a sphere:
A = 4*pi*r^2; V = (4/3)*pi*r^3;
Whenever you write code, it is a good practice to add comments that describe the code. Comments enable others to understand your code and can refresh your memory when you return to it later. Add comments using the percent (%
) symbol.
% Create and plot a sphere with radius r. [x,y,z] = sphere; % Create a unit sphere. r = 2; surf(x*r,y*r,z*r) % Adjust each dimension and plot. axis equal % Use the same scale for each axis. % Find the surface area and volume. A = 4*pi*r^2; V = (4/3)*pi*r^3;
Save the file in the current folder. To run the script, type its name at the command line:
mysphere
You can also run scripts from the Editor using the Run button,
Live Scripts
Instead of writing code and comments in plain text, you can use formatting options in live scripts to enhance your code. Live scripts allow you to view and interact with both code and output and can include formatted text, equations, and images.
For example, convert mysphere
to a live script by selecting Save As and changing the file type to a MATLAB live code file (*.mlx
). Then, replace the code comments with formatted text. For instance:
- Convert the comment lines to text. Select each line that begins with a percent symbol, and then select Text,
- Rewrite the text to replace the comments at the end of code lines. To apply a monospace font to function names in the text, select . To add an equation, select Equation on the Insert tab.
edit
command, include the .mlx
extension with the file name:edit newfile.mlx
Loops and Conditional Statements
Within any script, you can define sections of code that either repeat in a loop or conditionally execute. Loops use a for
or while
keyword, and conditional statements use if
or switch
.
Loops are useful for creating sequences. For example, create a script named fibseq
that uses a for
loop to calculate the first 100 numbers of the Fibonacci sequence. In this sequence, the first two numbers are 1, and each subsequent number is the sum of the previous two, Fn = Fn-1 + Fn-2.
N = 100;
f(1) = 1;
f(2) = 1;
for n = 3:N
f(n) = f(n-1) + f(n-2);
end
f(1:10)
When you run the script, the for
statement defines a counter named n
that starts at 3. Then, the loop repeatedly assigns to f(n)
, incrementing n
on each execution until it reaches 100. The last command in the script, f(1:10)
, displays the first 10 elements of f
.
ans = 1 1 2 3 5 8 13 21 34 55
Conditional statements execute only when given expressions are true. For example, assign a value to a variable depending on the size of a random number: 'low'
, 'medium'
, or 'high'
. In this case, the random number is an integer between 1 and 100.
num = randi(100)
if num < 34
sz = 'low'
elseif num < 67
sz = 'medium'
else
sz = 'high'
end
The statement sz = 'high'
only executes when num
is greater than or equal to 67.
Script Locations
MATLAB looks for scripts and other files in certain places. To run a script, the file must be in the current folder or in a folder on the search path.
By default, the MATLAB
folder that the MATLAB Installer creates is on the search path. If you want to store and run programs in another folder, add it to the search path. Select the folder in the Current Folder browser, right-click, and then select Add to Path.