Programming and Scripts
To create a script, use the
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 (
% 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:
You can also run scripts from the Editor using the Run button,
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.
editcommand, include the
.mlxextension with the file name:
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
while keyword, and conditional statements use
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
n on each execution until it reaches 100. The last command in the script,
f(1:10), displays the first 10 elements of
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:
'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
sz = 'high' only executes when
num is greater than or equal to 67.
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.