Numerical Analysis studies techniques for computing approximations
to mathematical quantities that are not readily computed analytically (with a
formula). Mathematical computer packages use numerical methods --
including Derive, Maple and MATLAB, as well as graphing calculators.
(Start MATLAB-- then enter and execute
the commands in red below)
1. Start a session with MATLAB by choosing the MATLAB icon
in the math folder. After MATLAB has been correctly started, the MATLAB desktop
should appear. You can control what windows are open on this desktop by using
the Desktop Menu.
In the Command Window, the prompt ">>" should appear. That is
the signal that the MATLAB interpreter is awaiting expressions to be entered
that it will evaluate.
2. Make the N:\m439
directory your current directory in MATLAB
Enter “N:\m439” in the Current Directory box or use the
browse button to choose this.
3. The fundamental
data object for MATLAB is the matrix. An easy way to enter a matrix in MATLAB
and to save its value in a variable is to enter
variable = [ list of each row's values separated by ;'s]
The matrix itself is returned as the value of the expression
entered. A scalar value is treated as a 1 x 1 matrix and may be entered without
any square brackets. Enter:
>> A = [1
2 3; 4 5 6; 7 8 9]
>> c = 10
5. You may also enter an expression without saving its value
in a variable. The most recent value returned by MATLAB is saved in the system
variable ans.
Try the following:
>> [1 2 3
4; 5 6 7 8]
>> ans
>> 5+2*30
>> ans
6. MATLAB is case-sensitive That is, "a" is
not the same as "A", nor is "aBs" the same as
"Abs" or "abs". Enter the following (the command who
gives information about currently defined variables and their current values):
>> B = [0
1; 1 0]
>> b = 2.5
>> who
7. When all the entries of a matrix are integers or rational
numbers, then they are displayed as such. If one or more are entered as
real (with a decimal point), then the format for the display is real (with
decimal points). Enter the following:
>> format
long
>> A = [1
2 3.5; 4 5 6]
>> b =
7.921
>> format
short
>> A
>> b
8. On-line help is available with the help command. Enter help
to get a general list of help topics, and help topic to get help
on the specified topic.
>> help
>> help
sqrt
9. Once a command has been entered and executed, it can be
recalled, edited if necessary and executed again by using the arrow cursor
keys. You can also select commands from
the History window to reexecute. Try
this to altering the values in the matrix A above.
10. MATLAB has a rich set of
mathematical functions available and also provides the ability for the user to
define new functions for subsequent use.
>> x*cos(pi/6)
11. All the variables
that you have created and their current values are saved in memory (in an area
called the workspace). You can
view your workspace in a Window by choosing workspace from the pull-down Window
menu. Once you exit MATLAB all values of
the variables are lost. If you want to save them choose the save button
in the Workspace Window. This saves the
variables and their values in a file call filename.mat. When you want to load
the variable values form the file use the Import
Data button in the Workspace Window.
12. If you want to clear a
variable from workspace,
click on the variable in the Workspace window and then choose the
Delete button. Try this for the variable
C.
13. The symbolic toolbox in MATLAB allows one to run the
Maple kernel to do symbolic computations that MATLAB itself does not provide
for. The syntax is
maple ('exact-maple-command')
For example to compute the symbolic antiderivative of sin(x)
>> maple('int(sin(x),x)')
14. Testing the limits of MATLAB accuracy. Enter
the following to determine what the commands eps, realmax, and realmin tell us about
the limited precision of MATLAB's floating point numbers.
>> help eps
>> eps
>> help
realmax
>> realmax
>> help
realmin
>> realmin
>> 0/0
>> help
>>
1/0
>> help inf
15. To observe the potential difficulties in
round-off error caused by limited precision of floating point numbers enter the
following commands to compute some simple sums.
>> format long e
>> 3 +
.2
>> ans + .2
>> ans + .2
An m-file is a text file that
contains either a sequence of MATLAB commands (in which case it is called a script
file) or a definition of a MATLAB function (in which case it is called a function
file).
Script Files
A script file is an ordinary text file that contains a sequence of MATLAB
commands. When invoked in MATLAB, the sequence of commands in the script file
is executed, in order, just as if the user were entering them interactively at
the command prompt.
To create a script file, open the MATLAB debugger-editor by
choosing File-New-M-file If you want to insert
comments into the file, you must use a % symbol at the beginning of each
line of the comment. Otherwise you type MATLAB commands as you would in
the MATLAB window.
1. Create a script file called squares.m that
calculates the squares of the integers from 1 to 10. Choose
File-New-M-File and enter the code below. Then choose File-Save and save in
your N:\m439 directory as squares.m.
%SQUARES
-- calculates the squares of the integers from 1 to 10
s= [ ];
i = 1;
while i <= 10
s(i)
= i^2;
i = i + 1;
end
s
2. Invoke this file in MATLAB, you would simply type:
>> squares
Note that this just executes the commands in the script file
Function Files
Functions are M-files that can accept input arguments and return output
arguments. The name of the M-file and the name of the function should be the
same. Functions operate on variables within their own local workspace, separate
from the workspace you access at the MATLAB command prompt.
The first line of a function M-file starts with the keyword function.
It gives the function name and order of arguments.
function output-argument = name-of-function (input-arguments)
3. Create an m-file called g.m
in your N:\m439 directory containing the following:
function y = g(x)
% g: Defines the function y
= g(x) below
% x is a real number
y = 1 + x - x.^2 ./4;
Note in the above file the use of the operators .^ and ./
for exponentiation and division.
We also use ‘.*’ for ordinary multiplication. This is used to avoid conflict with the
matrix multiplication and related operations for matrices.
4. Call the function g using the following
commands:
>> g(2)
>> result = g(4)
Our
next topic in this course (Chapter 2) will be the investigation of several different
methods for finding zeros of functions (i.e. x is a zero of the function f if
f(x) =0).
Execute the commands below to graph g on the specified range.
>> clf
>> fplot('g',[-2.5 2.5])
From the plot we can see there is a zero
for the function in this range. We could easily compute the two roots of the above function
g by using the quadratic formula. This
however is not the case for most functions.
The built-in command fzero in
MATLAB uses a numerical method to find an approximation to a zero of a function
near a specified value. This command
combines the best features of some of the methods we will investigate.
We ask MATLAB to find a zero near the
point -1 with the following command
>> fzero('g',-1)
Note
that the answer is returned in scientific notation and indicates a root of
approximately -0.82842746…
ans =
-8.284271247461901e-001