## Introduction to Matlab Scripts

#### In the Previous Tutorials, we have been introduced to the basic
methods of performing calculations and plotting graphs
in Matlab. We have used these to create some interesting models.
In this tutorial, we will extend our ability to create models by
learning the fundamentals of creating Matlab Script files (or M-Files)

A Matlab script file (also known as an M-File because Matlab script files
always have the file extension `.m`) is a method for
executing a series of Matlab instructions without typing all
of the commands from the keyboard. This allows one to automate
tasks, and will allow you to write script files that a student could run
without knowing the details of Matlab programming.
Begin by creating the following script file by selecting
`File-New-MFile` from the Matlab menu. Give it a name
such as `test1.m`
disp('Howdy Folks')
a = input('Enter a Number to Square ');
b = a*a;
disp(['The Result is ' num2str(b)])

Now type `test1` in the Matlab window and it will ask
for a number, square it and then display the result.
An important technique in programming is the concept of a loop - this
allows us to perform some series of instructions many times
without typing them in each time.
Consider the following situation - there is a reservoir of some material
(for the problem we are considering today this would be unmelted
snow - after melting this will flow into a river).
A very simple model of this would be that we have 100 units in the
reservoir and remove 20% each time step (for example, 20% of the snow
melts each day). We can make a script file to calculate the
amount of melting and the amount remaining after each day by
making the script file `melting.m`
Reserve = 100; % Initial amount in the Reservoir
LossRate = 0.2; % Rate at which material flows from reservoir
for i=1:20; % Perform the following statements 20 times
OutFlow = LossRate*Reserve; % Calculate the amount of snow that melts
Reserve = Reserve - OutFlow; % Subtract this from the reserve
disp(['After Day ' num2str(i) ' Outflow=' num2str(OutFlow) ' Reserve=' num2str(Reserve)]);
end % for i ...

Note that this program will run the loop a total of 20 times with
the variable `i` increasing by one each time.
The other

`Electronic Copy: http://physics.gac.edu/~huber/envision/tutor2/mtlscript.htm`

Created: 4-APR-1997 by Tom Huber,
Physics Department, Gustavus
Adolphus College.