Using Mathematica (A Beginner's Guide)
Mathematica is a powerful mathmatics calculation tool. Mathematica
actually consists of two different modules: the Mathematica Front End and
the Mathematica Kernel. The Mathematica Front end is what runs when you
double-click on the Mathematica icon. When you perform a calcuation in
Mathematica, the front end passes the calculation to the Mathematica
Kernel which performs the calculation and returns the result to the front
end.
Quick Mathematica Demo
You can use Mathematica to plot functions. For example, if we wanted to
compare the behavior of the functions:
f(x) = x
f(x) = x^2
f(x) = x^3
To plot these functions, type Plot[x, {x,0,10}] and press the ENTER key (the
key on the number pad on the lower right portion of the keyboard - not the
RETURN key). This will plot f(x) = x. Next, click in a new area and type
Plot[x^2, {x,0,10}]. This will plot f(x) = x^2. Finally, type Plot[x^3,
{x,0,10}]. This will plot f(x) = x^3. Notice that the numbers in the
braces represent the domain of the plot.
We assign each of these plots to a name for further display. For example,
if we typed: plot1 = Plot[x,{x,0,10}], the plot of f(x) = x between x=0
and x=10 would be assigned to the variable plot1. So if we typed plot1 at
a later point in our notebook, it would display the graph of f(x) = x. If
we wanted to plot all three of the functions f(x) = x, f(x) = x^2, and
f(x) = x^3 on the same plots, we could set plot1 = Plot[x,{x,0,10}],
plot2 = Plot[x,{x,0,10}], plot3 = Plot[x,{x,0,10}] and then tell
Mathematica to display them all together. The way to do this is to use the
Show[] command by typing: Show[plot1,plot2,plot3]. This will display all
of these plots on the same set of axes.
Mathematica Notebooks
Mathematica for the Mactintosh uses "Notebooks" to keep track of your
calculations. The Mathematica notebooks can hold calculations, plots,
programs, and other things that you can do in Mathematica. Each notebook
consists of a series of "Cells" which contains a set of related
calculations. For example, you can perform calculations in a cell and
then plot those calculations in a related cell.
Some things that you can do in cells
1) You can type formatted text within a cell. You can treat the cell much
like a word processor and type titles, information, etc. and change the
font size, color, etc. The example given in class of formatted text cells
was the class list that was used to determine the order of presentations in
this class.
Evaulating Cells
To evaluate cells (perform the computation or operation defined in the
cell), press the ENTER key on the keyboard. This key is located on the
lower right corner of the number keypad. This is not the same key as the
RETURN key.
Lists in Mathematica
Mathematica uses lists to store information. A list is a set of numbers,
words, or virtually any type of data that is contained within braces with
each member of the list separated by columns. For example, if you wanted
to put the numbers 1 through 10 in a list, this would be
{1,2,3,4,5,6,7,8,9,10} in list format. You can assign a list to a
variable (just like the example with the plots above). Let's call the
above list joe. To set joe equal to the above list of numbers, we can
type joe = {1,2,3,4,5,6,7,8,9,10}.
In class, we used Mathematica to randomize our class presentation
schedule. Here is a link to the notebook - download it and study it to see
how it works.
Determining the Length of a List
We can determine the number of people in a list by using the Length
function in Mathematica. For example, if we typed Length[joe], Mathematica
would return a 10, because there are 10 numbers in the above list.
Supressing Output
After we evaluate a function in Mathematica, it usually will spit the
output out directly. If you do not want to have Mathematica give you the
output of every cell, you can tell it not to do this by putting a semicolon
after each evaluated function for which you do not want to see the
output.
The Table[] function in Mathematica
The table function takes a list, performs a specified function on the list,
and outputs a list that represents the results of the calculation. For
example, if we wanted to square all of the elements of the list joe that we
created above, we could use the Table[joe^2,{joe,0,Length[joe]}]. This
will create a list with the values of Joe^2 in it. The bracketed
information is the range that you wish the command to operate on in the
list. For example, if we only wanted to square the values of joe between 2
and 7, we could use the command Table[joe, {joe,2,7}] to do this.
Some of the things that Mathematica can do
Mathematica can perform both symbolic and numerical calculations. A
numerical calculation could be something like 1+1 or any complex operation
that you can usually do on a calculator. In addition, Mathematica can
manipulate algebra and solve sets of algebraic equations. For example, it
will solve a set of equations (e.g. 10 equations, 10 unknowns)
automaticallly and return the algebraic solutions for these equations. In
addition, Mathematica can integrate equations, differentiate equations,
solve differential equations, etc. Basically, anything that you learned
how to do in Calculus, Differential Equations, and Linear Algebra,
Mathematica can do it in a matter of nanoseconds and plot up all of the
results instantaneously. It is an extremely empowering piece of software
because it lets you skirt around the mechanics of the math (which should
be relagated to mathematicians) and let you investigate problems with some
pretty serious equations.
Graphics in Mathematica
Here is a graphic created in Mathematica:
Check out the graphics demo called "GraphicsDemo.nb" to see some of the
cool things that you can do in Mathematica.
In class, we played with the Table[] function in the notebook in order to
animate the graphics and change how the animation was viewed.
Clearing variables in Mathematica
If you have inadvertently assigned a value to a variable that you do not
wish to have a value, you can clear the variable's value by "zeroing" the
value out. To do this, type the name of the variable followed by= .;
For example, if we wanted to clear the value of joe, we could type
joe = .;
The Pallettes in Mathematica
There are some tool pallettes in Mathematica that allow you to symbolically
integrate, differentiate, sum, raise numbers to a power, etc. To use
these tools, click on the desired function (for example, the integration
symbol), type your expression, and then evaluate the cell. These tools
shortcut many of the intricate Mathematica expressions of past versions of
the program.
Using variables to perform calculations
We can assign values to variables and then use the variables to perform
calculations. For example, if we have a box, we can represent the
dimensions of the box as variables and then use the variables to calculate
the volume of the box. If we measured the length, width, and height of
the volume, we could type length = 20; width = 10; height = 5; . If we
wanted to calculate the volume of the box, we could type volume = length
width height; This will set the variable volume equal to the
length*width*height (the volume of the box). This is a very useful feature
for repeated calculations.
Other tidbits about Mathematica
Make sure to review the intro.nb file in order to
get a grasp on the general syntax of many Mathematica commands. It is
probably a good idea to read and play around with this notebook before
attempting the assignment.
Extensibility of Mathematica
Many people have written all sorts of graphics and computational functions
for Mathematica. These functions are not standard with Mathematica - they
do not automatically load up when you run the Front End and Kernal. In
order to use some of these functions, you need to tell Mathematica that you
wish to use the functions and exactly where the functions are located. To
do this, use the Needs["NAME OF PACKAGE"] command, where NAME OF
PACKAGE is the name of the file containing the functions you wish to use
with Mathematica is located. These are functions that you generally do
not use very often.
Pages maintained by
Prof. Ramón Arrowsmith
Pages last modified on Wed Nov 26 1997.