mathematica manual - christopher newport universitypkhalili/mm01.pdfmathematica has a solve...

24
Mathematica Manual Notebook 1: An Introduction to Mathematica Technology (T) & Computer Algebra System (CAS) Exercises In this manual, you will find example exercises, similar to the T (Technology) and CAS exercises in your text, and their correspond- ing solutions, discussed and illustrated with Mathematica. To solve a given exercise with Mathematica, first study the correspond- ing example exercise in this manual and then use the example to guide you in solving the exercise in your text. But before attempting to solve the exercises, spend a few minutes reading through this introduction to familiarize yourself with the basic features, commands, and structure of Mathematica. You are also strongly encouraged to complete the first Mathematica module accompanying the Calculus texts entitled "An Overview of Mathematica" at this on-line website. Mathematica Arithmetic You can think of Mathematica as a powerful calculator which can do exact as well as approximate arithmetic. Addition, Subtraction, Multiplication and Division The symbols +, - and are used for adding, subtracting and dividing numbers, respectively. Here are three examples. 575754575849849894 + 748949854985944749598984 748950430740520599448878 87575750 - 489747598744894574949 - 489747598744806999199 99686868612732546598686500000000000 5000 19937373722546509319737300000000 The asterisk * or better yet, at least one space, is used to multiply numbers. 6868868686 * 18234987271740 125253733060463458733640 6868868686 · 18234987271740 125253733060463458733640 Powers and Absolute Value The ^ stands for the power. An Introduction to Mathematica 13 Copyright © 2010 Pearson Education, Inc. Publishing as Addison-Wesley.

Upload: vuongtu

Post on 14-Apr-2018

217 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Mathematica Manual - Christopher Newport Universitypkhalili/MM01.pdfMathematica has a Solve (symbolic solve) Command and also an NSolve (numerical solve) command, but these do not

Mathematica Manual

Notebook 1: An Introduction to Mathematica

� Technology (T) & Computer Algebra System (CAS) Exercises

In this manual, you will find example exercises, similar to the T (Technology) and CAS exercises in your text, and their correspond-

ing solutions, discussed and illustrated with Mathematica. To solve a given exercise with Mathematica, first study the correspond-

ing example exercise in this manual and then use the example to guide you in solving the exercise in your text.

But before attempting to solve the exercises, spend a few minutes reading through this introduction to familiarize yourself with the

basic features, commands, and structure of Mathematica. You are also strongly encouraged to complete the first Mathematica

module accompanying the Calculus texts entitled "An Overview of Mathematica" at this on-line website.

� Mathematica Arithmetic

You can think of Mathematica as a powerful calculator which can do exact as well as approximate arithmetic.

� Addition, Subtraction, Multiplication and Division

The symbols +, - and � are used for adding, subtracting and dividing numbers, respectively. Here are three examples.

575754575849849894 + 748949854985944749598984

748950430740520599448878

87575750 - 489747598744894574949

-489747598744806999199

99686868612732546598686500000000000 � 5000

19937373722546509319737300000000

The asterisk * or better yet, at least one space, is used to multiply numbers.

6868868686 * 18234987271740

125253733060463458733640

6868868686 ´ 18234987271740

125253733060463458733640

� Powers and Absolute Value

The ^ stands for the power.

An Introduction to Mathematica 13

Copyright © 2010 Pearson Education, Inc. Publishing as Addison-Wesley.

Page 2: Mathematica Manual - Christopher Newport Universitypkhalili/MM01.pdfMathematica has a Solve (symbolic solve) Command and also an NSolve (numerical solve) command, but these do not

55757^22

262172278221307346860617326987246499100441142524856119005736335031073771467377455�

720035345978636911261049

Notice that the last output is such a large number that is fills up several lines! The following input was created by calling on the

power function in the Basic Math Input or Basic Math Assistant Palette (see next subsection).

1095

15386239549

If you want the absolute value of a variable or expression, the Mathematica command is Abs[...]

Abs@-5D

5

number = 3

Abs@number - 5D3

2

� Palettes

Mathematica comes with some standard palettes containing shortcuts to entering commands from the keyboard. Two very useful

palettes, called Basic Math Assistant, and Basic Math Input contain shortcuts for computing powers, square roots, summations

and much more. To open these palettes, pull down the Palettes and then select Basic Math Assistant or select Other and Basic

Math Input. The Basic Math Assistant palette is divided into four sections, Calculator, Basic Commands, Typesetting, and Help

and Settings. If necessary, resize your notebook so that the notebook and palettes are not overlapping.

To demonstrate how to use this palette, suppose you want to compute 390 625 . In an Input cell, click on the Typesetting

button containing � . Then enter 390 625 in the square and execute the cell. Your input and output should look like the

following.

390625

625

When using any palette key which requires more than one number such as the fraction ��

and ��

, use your left Mouse button

or the Tab key to move from one number to the next. For example, to compute 757 555 � 5, use the button containing ��

in the

palette. Enter 757 555, then press the Tab key or select the denominator and enter 5.

757555

5

151511

14 Mathematica Manual for Calculus

Copyright © 2010 Pearson Education, Inc. Publishing as Addison-Wesley.

Page 3: Mathematica Manual - Christopher Newport Universitypkhalili/MM01.pdfMathematica has a Solve (symbolic solve) Command and also an NSolve (numerical solve) command, but these do not

� Exact vs. Approximate Calculations

Study the following input and output statements.

27

3 3

Notice that Mathematica returns an exact answer. This may not always be helpful. For example, the following output is identical

to the input since Mathematica returns the exact answer in reduced from.

5899

7

5899

7

There are several ways of obtaining an approximate answer as shown in the following cells.

Mathematica will display an approximate answer if at least one number in the calculation contains a decimal point.

5899.

7

842.714

Placing //N immediately after a calculation will produce the same result. Note the use of upper-case N, not n.

5899

7�� N

842.714

Instead of placing //N immediately after a calculation, you can instead place a calculation inside N[�]. Note the use of the square

brackets to enclose arguments.

NB5899

7F

842.714

Entering N[�,n] instructs Mathematica to attempt to find an n-digit approximation.

NB5899

7, 15F

842.714285714286

� Using Previous Results

The percent symbol % always represents the last output produced by Mathematica.

625

125

5

At this point, 5 is the most recent result produced by Mathematica. So the following example will compute 52.

An Introduction to Mathematica 15

Copyright © 2010 Pearson Education, Inc. Publishing as Addison-Wesley.

Page 4: Mathematica Manual - Christopher Newport Universitypkhalili/MM01.pdfMathematica has a Solve (symbolic solve) Command and also an NSolve (numerical solve) command, but these do not

%^2

25

The command %n represents the result on output line Out[n]. For example, the following command will subtract 1 from the

result in Out[15] (verify).

%15 - 1

841.714

With Mathematica, you can perform more than one calculation in a single cell by placing two calculations on separate lines using

the Enter key on the QWERTY keyboard, not on the numeric keypad.

23.1

2 - 9

4.80625

-7

� Assigning Names

Mathematica has two commands that can be used to assign names to values. One assignment command is called the equals

command (=) and the other is the delayed equals command (:=). There is a subtle, yet very important difference between the two

commands which will be illustrated shortly.

Suppose we want to assign x the value of 2 and y the value of 3.

x = 2

2

y = 3

3

The number of letters in a name assigned to a value can be of any length as long as it does not begin with a number and as long as

there are no spaces between any of the characters in the name. Mathematica is very case-sensitive, and, since all built-in Mathemat-

ica commands begin with an upper-case letter, it is suggested that you avoid beginning a name you assign with an upper-case

letter, until you know more about the built-in commands.

For example, suppose you want to compute the product of x and y and assign the name prod to the result. Recall that the space

appearing between the x and the y represents multiplication.

prod = x y

6

If you wish to see the value of prod again, just type in the name and execute the cell.

prod

6

Now suppose we change the values of x and y.

16 Mathematica Manual for Calculus

Copyright © 2010 Pearson Education, Inc. Publishing as Addison-Wesley.

Page 5: Mathematica Manual - Christopher Newport Universitypkhalili/MM01.pdfMathematica has a Solve (symbolic solve) Command and also an NSolve (numerical solve) command, but these do not

x = 9

y = 10

9

10

Notice that the product does not change!

prod

6

The reason the value of prod is still 6 is due to the use of the = command. When = is used, the right hand side of the assignmentprod=x y

is immediately executed and the resulting value is assigned to prod. If instead you had execute the assignment prod:=x y

then the right hand side of the assignment statement would not actually be computed until prod appears later on in the input cell or

in some other input cell.

The Clear command removes assignments that you have made. It is always a good idea to clear an assigned name before

creating a new assignment for that name. You can also quit the kernel (last option under the Evaluation tab), but that willclear ALL assigned values and functions.

Clear@prodD

Now the delayed equals := is used to assign prod to be the product of x and y. Notice that there is no output when the : = assign-

ment is defined.

prod := x y

Since the current value of x and y are 9 and 10, respectively, then executing the following input cell produces a result of 90.

prod

90

Now suppose you change the value of x to 4. Then the value of prod changes as expected.

x = 4

4

prod

40

� Suppressing Output

Recall that more than one command can be placed in a single input cell as long as each new command starts on a new line.

An Introduction to Mathematica 17

Copyright © 2010 Pearson Education, Inc. Publishing as Addison-Wesley.

Page 6: Mathematica Manual - Christopher Newport Universitypkhalili/MM01.pdfMathematica has a Solve (symbolic solve) Command and also an NSolve (numerical solve) command, but these do not

x = 30

y = 40

prod

30

40

1200

Suppose you do not want the values of x and y displayed as output. Placing a semicolon (;) at the end of a line will suppress the

result of the current line from being displayed in the output.

x = 90;

y = 30;

prod

2700

� Mathematica Commands

� Built-In Commands and Constants

Mathematica commands consist of a string of letters beginning with a capital letter followed by a series of arguments enclosed in

square brackets. Two commands which you have already seen in this chapter are N and Clear. Here are a few more examples.

If m and n are integers, Range@m, nD produces a list of all the integers from m to n inclusive.

[email protected], 10D

81.1, 2.1, 3.1, 4.1, 5.1, 6.1, 7.1, 8.1, 9.1<

If list represents a list of numbers, then Min[list] will return the smallest number in list.

Min@%D

1.1

The following Plot command will plot the function f HxL = cosHxL - x for values of x ranging from -Π to 2 Π. Note the use of curly

braces to enclose the domain variable and specified domain interval.

Plot@Cos@xD - x, 8x, -Π, 2 Π<D

-2 2 4 6

-5

-4

-3

-2

-1

1

2

You can assign a name to a graph also. Placing a semicolon after a Plot command will suppress the graph from being displayed.

You would not usually do this unless you want to name the graph and display it later. The Show command can be used for this.

18 Mathematica Manual for Calculus

Copyright © 2010 Pearson Education, Inc. Publishing as Addison-Wesley.

Page 7: Mathematica Manual - Christopher Newport Universitypkhalili/MM01.pdfMathematica has a Solve (symbolic solve) Command and also an NSolve (numerical solve) command, but these do not

You can assign a name to a graph also. Placing a semicolon after a Plot command will suppress the graph from being displayed.

You would not usually do this unless you want to name the graph and display it later. The Show command can be used for this.

p1 = PlotBSinB1

xF, :x, 0,

Π

2>F;

Show@p1D

0.5 1.0 1.5

-1.0

-0.5

0.5

1.0

In Mathematica, an equation such as cosHxL - x = 0 is represented in Mathematica by Cos[x]-x==0. Since the cosine function

is a Mathematica command, it must begin with a capital letter and its argument must be enclosed in square brackets.

With regard to the equation, a double equals sign (==) is used in a Mathematica equation. A single equals sign represents an

assignment command and therefore cannot be used for an equation.

Mathematica has a Solve (symbolic solve) Command and also an NSolve (numerical solve) command, but these do not always

work with nonpolynomial functions. Notice the error commands generated when we attempt to use these commands to solve the

equation cited.

Clear@xDSolve@Cos@xD - x == 0, xDNSolve@Cos@xD - x == 0, xD

Solve::tdep : The equations appear to involve the variables to be solved for in an essentially non-algebraic way. �

Solve@-x + Cos@xD � 0, xD

Solve::tdep : The equations appear to involve the variables to be solved for in an essentially non-algebraic way. �

NSolve@-x + Cos@xD � 0, xD

The following FindRoot command attempts to locate a solution to cos(x) - x = 0 near any specified value. Since the graph of

cos(x) - x crosses the x-axis near x = 1, that is the value we will specify.

Notice that the FindRoot command consists of two words (Find and Root) which are both capitalized. Notice there is no

space separating the two words. Mathematica will always capitalize the first letter in each word and will never leave any spaces

between the words in a single command.

Clear@xDFindRoot@Cos@xD - x == 0, 8x, 1<D8x ® 0.739085<

Some Mathematica commands represent constants. For example the command Pi is Π and ã (from the Basic Commands palette)

or E is Euler's number e. The following commands will display their approximate values.

An Introduction to Mathematica 19

Copyright © 2010 Pearson Education, Inc. Publishing as Addison-Wesley.

Page 8: Mathematica Manual - Christopher Newport Universitypkhalili/MM01.pdfMathematica has a Solve (symbolic solve) Command and also an NSolve (numerical solve) command, but these do not

N@ΠDN@ãD3.14159

2.71828

If we wanted to specify them out to 100 or 25 decimals, we could do that.

N@Π, 100DN@ã, 25D3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825�

342117068

2.718281828459045235360287

You should note that the command for the natural logarithm (base ã) is NOT Ln, but rather Log. If you want Log base 10 or any

other base, you need to insert that base first. In the following, we will first ask for Ln and see what happens and then compute the

decimal equivalents for Log base ã (default base), Log base 10 and Log base 2]

[email protected]@100.DLog@10, 100.DLog@2, [email protected]

4.60517

2.

6.64386

As another example, the command for computing the square root of a number x is Sqrt[x].

Sqrt@16D

4

But as seen earlier, a more natural way of computing square roots is the use the button containing � in Basic Math Input

(under Palette-Other) or Basic Math Assistant Palette.

� Command Options and Additional Plots

Many Mathematica functions, especially the commands which produce graphs, contain options for enhancing the output. For

example, the option PlotStyle ® [email protected] adjusts the thickness of the curve being plotted. You can make the

arrow either by selecting it from a palette or by using the dash (minus sign) immediately followed by the greater-than sign.

20 Mathematica Manual for Calculus

Copyright © 2010 Pearson Education, Inc. Publishing as Addison-Wesley.

Page 9: Mathematica Manual - Christopher Newport Universitypkhalili/MM01.pdfMathematica has a Solve (symbolic solve) Command and also an NSolve (numerical solve) command, but these do not

Plot@Sin@xD + Cos@2 xD, 8x, 0, 2 Π<, PlotStyle ® [email protected]

1 2 3 4 5 6

-2.0

-1.5

-1.0

-0.5

0.5

1.0

In the following Plot command, two functions contained in brackets8 ...<, x2 and x2 sin2 x are plotted simultaneously with an

option for changing the thickness of the first curve and the color of the second curve.

PlotA9x2, x2 Sin@xD2=, 8x, -5 Π, 5 Π<, PlotStyle ® [email protected], RGBColor@0, 0, 1D<E

-15 -10 -5 5 10 15

50

100

150

200

250

Many functions that used to be in add-on packages in older versions of Mathematica are now in the kernel. One such function is

the one for doing an implicit plot. When y cannot be solved for explicitly, we call on the function ContourPlot. This plot considers

the function of x and y to be a surface in three-dimensions and plots the contour of that surface in the xy-plane.

Note that here we must specify the plot interval for both x and y. The PlotPoints®30 option is used to make the plot the curve

look less choppy and the AspectRatio ->2.4

1.6 option changes the height to width ratio of the plot. RGB stands for red-green-

blue and different arguments will produce different colors or blends of colors. These last three commands are optional and could be

changed or eliminated, as the second plot demonstrates.

The following lines of input begin with a clear command since the variables used were assigned specific values earlier in this

notebook.

An Introduction to Mathematica 21

Copyright © 2010 Pearson Education, Inc. Publishing as Addison-Wesley.

Page 10: Mathematica Manual - Christopher Newport Universitypkhalili/MM01.pdfMathematica has a Solve (symbolic solve) Command and also an NSolve (numerical solve) command, but these do not

Clear@x, yDContourPlotBx2 + y4 � y2 - x, 8x, -1.3, 0.3<, 8y, -1.2, 1.2<,

PlotPoints ® 30, AspectRatio ®2.4

1.6, ContourStyle ® RGBColor@0, 0, 1DF

-1.0 -0.5 0.0

-1.0

-0.5

0.0

0.5

1.0

ContourPlotAx2 + y4 � y2 - x, 8x, -1.3, 0.3<,8y, -1.2, 1.2<, AspectRatio ® 1, ContourStyle ® RGBColor@1, 0, 0DE

-1.0 -0.5 0.0

-1.0

-0.5

0.0

0.5

1.0

Another variation of a plot is filling in areas above, below or between plots. Following is an example of each.

22 Mathematica Manual for Calculus

Copyright © 2010 Pearson Education, Inc. Publishing as Addison-Wesley.

Page 11: Mathematica Manual - Christopher Newport Universitypkhalili/MM01.pdfMathematica has a Solve (symbolic solve) Command and also an NSolve (numerical solve) command, but these do not

Another variation of a plot is filling in areas above, below or between plots. Following is an example of each.

Plot@x Sin@2 xD, 8x, 0, 2 Pi<, Filling ® AxisD

1 2 3 4 5 6

-4

-2

2

4

PlotA9x, x2, x3=, 8x, 0, 1.5<, Filling ® 81 ® 82<, 2 ® 83<<E

0.2 0.4 0.6 0.8 1.0 1.2 1.4

0.5

1.0

1.5

2.0

2.5

3.0

If you have a set of points that you wish to plot, you can use the ListPlot command. Let's plot the first 25 prime numbers.

mylist = Prime@Range@25DDListPlot@mylistD82, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97<

5 10 15 20 25

20

40

60

80

100

Parametric, polar, and three dimensional plotting is demonstrated in later examples.

� Animating Plots

An Introduction to Mathematica 23

Copyright © 2010 Pearson Education, Inc. Publishing as Addison-Wesley.

Page 12: Mathematica Manual - Christopher Newport Universitypkhalili/MM01.pdfMathematica has a Solve (symbolic solve) Command and also an NSolve (numerical solve) command, but these do not

Animating Plots

Mathematica Version 7 makes it very easy to manipulate plots or to animate them. These commands use one or more iterators that

take on specified values. In the following example, the parameter "a" is the iterator and it will take on values from 1/2 to 5 in

jumps of 1/2. After executing the command, move the slider at the top to observe the way in which the graph changes as the

parameter "a" takes on the values specified

Manipulate@Plot@Cos@a xD, 8x, 0, 6<D, 8a, 1 � 2, 5, 1 � 2<D

a

1 2 3 4 5 6

-1.0

-0.5

0.5

1.0

If we wanted to allow two parameters to change, we could do the following. When the iterator is just given a lower bound and

upper bound, the jumps are automatically in in steps of 1.

Manipulate@Plot@Sin@a x + bD, 8x, 0, 6<D, 8a, 1, 5<, 8b, 0, 10<D

a

b

1 2 3 4 5 6

-1.0

-0.5

0.5

1.0

In this next example, we demonstrate the Animate command. To turn the motion off, speed it up, slow it down, or reverse it, click

on the icons to the right of the slider. Be certain to stop the animation before proceeding.

24 Mathematica Manual for Calculus

Copyright © 2010 Pearson Education, Inc. Publishing as Addison-Wesley.

Page 13: Mathematica Manual - Christopher Newport Universitypkhalili/MM01.pdfMathematica has a Solve (symbolic solve) Command and also an NSolve (numerical solve) command, but these do not

In this next example, we demonstrate the Animate command. To turn the motion off, speed it up, slow it down, or reverse it, click

on the icons to the right of the slider. Be certain to stop the animation before proceeding.

AnimateAContourPlotAx2 + y2 � r2, 8x, -6, 6<, 8y, -6, 6<, PlotPoints ® 20E, 8r, 0, 5<E

r

-6 -4 -2 0 2 4 6-6

-4

-2

0

2

4

6

� Help Menu

To see information about a given Mathematica command, enter a ? followed immediately by the name of the command.

? FindRoot

FindRoot@ f , 8x, x0<D searches for a numerical root of f , starting from the point x = x0.

FindRoot@lhs == rhs, 8x, x0<D searches for a numerical solution to the equation lhs == rhs.FindRoot@8 f1, f2, …<, 88x, x0<, 8 y, y0<, …<D searches for a simultaneous numerical root of all the fi.FindRoot@8eqn1, eqn2, …<, 88x, x0<, 8 y, y0<, …<D

searches for a numerical solution to the simultaneous equations eqni. �

For more detailed information use ??.

?? FindRoot

FindRoot@ f , 8x, x0<D searches for a numerical root of f , starting from the point x = x0.

FindRoot@lhs == rhs, 8x, x0<D searches for a numerical solution to the equation lhs == rhs.FindRoot@8 f1, f2, …<, 88x, x0<, 8 y, y0<, …<D searches for a simultaneous numerical root of all the fi.FindRoot@8eqn1, eqn2, …<, 88x, x0<, 8 y, y0<, …<D

searches for a numerical solution to the simultaneous equations eqni. �

Attributes@FindRootD = 8HoldAll, Protected<

Options@FindRootD =

8AccuracyGoal ® Automatic, Compiled ® Automatic, DampingFactor ® 1, Evaluated ® True,

EvaluationMonitor ® None, Jacobian ® Automatic, MaxIterations ® 100, Method ® Automatic,

PrecisionGoal ® Automatic, StepMonitor ® None, WorkingPrecision ® MachinePrecision<

Another excellent source of information is the Help menu. You are encouraged to explore the Help menu to learn more about

Mathematica and its features.

� Creating Functions

An Introduction to Mathematica 25

Copyright © 2010 Pearson Education, Inc. Publishing as Addison-Wesley.

Page 14: Mathematica Manual - Christopher Newport Universitypkhalili/MM01.pdfMathematica has a Solve (symbolic solve) Command and also an NSolve (numerical solve) command, but these do not

Creating Functions

You can create your own Mathematica commands. Since Mathematica commands always begin with a capital letter, as men-

tioned before, you should get in the habit of beginning the names of your commands with a lower case letter. The name of your

command can be a string of letters followed immediately by square brackets containing the variables in the function. An under-

score _ is placed immediately after each variable on the left-hand side of the assignment statement to alert Mathematica to the fact

that the a variable has been declared. The assignment statement used here is =, but a := could have also been used. Sometimes the

delayed equals := is preferred over the = , but not always. The following lines of input begin with a clear command since the

variables used were assigned specific values earlier in this notebook. Notice that we are suppressing output with the ; .

Clear@x, yD;f@x_D = x2 Sin@xD2;

The variable x is called a dummy variable since it can be replaced by any other variable or number.

f@yD

y2 Sin@yD2

Recall that variables can be a string of letters. So in the following input, the dummy variable x is replaced with fred and so every

occurrence of x in the function is replaced with fred .

f@fredD

fred2 Sin@fredD2

You can also evaluate the function for a given value such as x =Π

2 and you can plot a function you created.

fBΠ

2F

Plot@f@xD, 8x, -5 Π, 5 Π<D

Π2

4

-15 -10 -5 5 10 15

50

100

150

200

Before redefining a function, it is always a good idea use the Clear command to clear out the current definition of the function

along with the variables to be used. Note that you do not ask it to clear f[x], but only f. In the following, the function f is redefined

to equal x2 - 4 . Abs is the absolute value command.

26 Mathematica Manual for Calculus

Copyright © 2010 Pearson Education, Inc. Publishing as Addison-Wesley.

Page 15: Mathematica Manual - Christopher Newport Universitypkhalili/MM01.pdfMathematica has a Solve (symbolic solve) Command and also an NSolve (numerical solve) command, but these do not

Clear@x, fD;f@x_D = AbsAx2 - 4E;Plot@f@xD, 8x, -3, 3<D

-3 -2 -1 1 2 3

1

2

3

4

5

� Lists

� Definition of a List

One of the most important structures in Mathematica is a list. A list is an ordered array of elements contained inside braces 8 ...<.Here is an example of a list of numbers.

81, 2, 3, 4, 5<

81, 2, 3, 4, 5<

Notice that the elements of the list are separated by commas. As the following example shows, a list does not need to contain

numbers only.

8x, 81, 2<, Π<

8x, 81, 2<, Π<

The list just created contains three elements: an unassigned variable x, a list 81, 2< and the number Π.

� Creating Lists

A list can be created and assigned a name.

first4 = 81, 2, 3, 4<

81, 2, 3, 4<

The Table command can be used to create a list. For example, suppose we want to create a list containing the first 15 positive

integers. The command Table[a[i],{i,1,n}] will create a list of the form {a[1], a[2], ..., a[n]}. Here are

couple of examples.

Table@i, 8i, 1, 15<D

81, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15<

pts = TableAx2, 8x, 1, 10<E

81, 4, 9, 16, 25, 36, 49, 64, 81, 100<

Given a list 8y1, y2, y3, ..., yn}, the ListPlot command can be used to plot the points H1, y1L, H2, y2L, ..., Hn, ynL.

An Introduction to Mathematica 27

Copyright © 2010 Pearson Education, Inc. Publishing as Addison-Wesley.

Page 16: Mathematica Manual - Christopher Newport Universitypkhalili/MM01.pdfMathematica has a Solve (symbolic solve) Command and also an NSolve (numerical solve) command, but these do not

Given a list 8y1, y2, y3, ..., yn}, the ListPlot command can be used to plot the points H1, y1L, H2, y2L, ..., Hn, ynL.

ListPlot@ptsD

2 4 6 8 10

20

40

60

80

100

The points are difficult to see, so an option is added to make the points more visible.

ListPlot@pts, PlotStyle ® [email protected]

2 4 6 8 10

20

40

60

80

100

Next, the Table command is used to create a list of lists, each containing an ordered pair of two numbers. The variable x will go

from -1 to 1 in steps of 0.25.

newpts = TableB:x, 1 - x2 >, 8x, -1, 1, .25<F

88-1., 0.<, 8-0.75, 0.661438<, 8-0.5, 0.866025<, 8-0.25, 0.968246<,80., 1.<, 80.25, 0.968246<, 80.5, 0.866025<, 80.75, 0.661438<, 81., 0.<<

In the list newpts, each list of two points can be thought of as an ordered pair which can then be plotted.

ListPlot@newpts, PlotStyle ® [email protected]`DD

-1.0 -0.5 0.5 1.0

0.2

0.4

0.6

0.8

1.0

The following PlotJoined®True option will connect the points.

28 Mathematica Manual for Calculus

Copyright © 2010 Pearson Education, Inc. Publishing as Addison-Wesley.

Page 17: Mathematica Manual - Christopher Newport Universitypkhalili/MM01.pdfMathematica has a Solve (symbolic solve) Command and also an NSolve (numerical solve) command, but these do not

The following PlotJoined®True option will connect the points.

ListPlot@newpts, Joined ® TrueD

-1.0 -0.5 0.5 1.0

0.2

0.4

0.6

0.8

1.0

� Extracting Elements of a List

Consider the list created earlier called pts.

pts

81, 4, 9, 16, 25, 36, 49, 64, 81, 100<

To extract the ith element in the list, use the command pts[[i]].

pts@@9DD

81

Recall that the list newpts consists of a list of lists of length 2.

newpts

88-1., 0.<, 8-0.75, 0.661438<, 8-0.5, 0.866025<, 8-0.25, 0.968246<,80., 1.<, 80.25, 0.968246<, 80.5, 0.866025<, 80.75, 0.661438<, 81., 0.<<

Executing newpts[[i]] will extract the ith element of the list which itself is a list.

newpts@@2DD

8-0.75, 0.661438<

Executing newpts[[i,j]] will return the jth element in the ith list. For example, the following command extracts the 2nd

element in the fourth list contained in newpts.

newpts@@4, 2DD

0.968246

Here is another example where the first element in the last ordered pair is extracted.

newpts@@9, 1DD

1.

� Extracting Solutions to an Equation

An Introduction to Mathematica 29

Copyright © 2010 Pearson Education, Inc. Publishing as Addison-Wesley.

Page 18: Mathematica Manual - Christopher Newport Universitypkhalili/MM01.pdfMathematica has a Solve (symbolic solve) Command and also an NSolve (numerical solve) command, but these do not

Extracting Solutions to an Equation

When you useMathematica to find the solution to an equation,the output will be displayed in list form and therefore the solutions

can be extracted using the ideas discussed previously in this introduction. Consider the command FindRoot[eqn, 8x, x0<]which attempts to find a solution to the equation eqn near x0. For example, suppose we are searching for the positive solution to

x2 - 3 = 0. In the following input statement, the result of the FindRoot command is assigned the name sol.

sol = FindRootAx2 - 3 == 0, 8x, 2<E

8x ® 1.73205<

Notice that the output is a list containing x®1.73205 and this is the only element in the list.

sol@@1DD

x ® 1.73205

The single element in the list can be divided into two parts. The first part is x and the second part is 1.73205.

sol@@1, 1DD

x

sol@@1, 2DD

1.73205

Therefore the actual solution is extracted using sol[[1,2]].

Now consider the following commands which find all the solutions to a given polynomial equation. The first command finds the

solutions symbolically, while the second command uses a numerical routine. These commands will not always work when solving

nonpolynomial equations. The FindRoot command is used then.

polysol = SolveAx4 - 3 x2 + x == 0, xEpolysolnum = NSolveAx4 - 3 x2 + x == 0, xE

:8x ® 0<, :x ®1

J 1

2J-1 + ä 3 NN1�3

+1

2J-1 + ä 3 N

1�3>,

:x ® -1 - ä 3

22�3 J-1 + ä 3 N1�3-1

2

1

2J-1 + ä 3 N

1�3J1 + ä 3 N>,

:x ® -1

2J1 - ä 3 N

1

2J-1 + ä 3 N

1�3-

1 + ä 3

22�3 J-1 + ä 3 N1�3>>

88x ® -1.87939<, 8x ® 0.<, 8x ® 0.347296<, 8x ® 1.53209<<

The solutions each consist of a list of 4 lists. For example, to extract the third list from the numerical solution, use the following

command.

polysolnum@@3DD

8x ® 0.347296<

The third element is also a list containing one element, x®0.347296 which is extracted as follows.

30 Mathematica Manual for Calculus

Copyright © 2010 Pearson Education, Inc. Publishing as Addison-Wesley.

Page 19: Mathematica Manual - Christopher Newport Universitypkhalili/MM01.pdfMathematica has a Solve (symbolic solve) Command and also an NSolve (numerical solve) command, but these do not

polysolnum@@3, 1DD

x ® 0.347296

The actual third solution is the second part of x®0.347296 which can therefore be obtained by executing the following

command.

polysolnum@@3, 1, 2DD

0.347296

Here is how you can extract the last solution in the numerical solution.

polysolnum@@4, 1, 2DD

1.53209

� Animations as Lists

The Table command used to form lists can also be used to form a list of frames in a graphics movie which can then be animated

with Mathematica.

Suppose you want to graph the equation r = cosH5 ΘL in the polar coordinate system. The following input will do this where the

option PlotRange->{{-1,1},{-1,1}} instructs Mathematica to plot the graph with the horizontal axis ranging from -1 to

1 and the vertical axes ranging from -1 to 1. The other option given here is Ticks->None which will leave the axes unlabeled.

PolarPlot@Sin@5 ΘD, 8Θ, 0, Π<, PlotRange ® 88-1, 1<, 8-1, 1<<, Ticks ® NoneD

The following command will essentially form a list of the graphs PolarPlot@Sin@5 ΘD, 8Θ, 0, b},PlotRange->{{-1,1},{-1,1}}, Ticks->None];

for b =Π

12, 2 Π

12, 3 Π

12, ..., Π

and then allow you to view the created frames by sliding the bar at the top.

An Introduction to Mathematica 31

Copyright © 2010 Pearson Education, Inc. Publishing as Addison-Wesley.

Page 20: Mathematica Manual - Christopher Newport Universitypkhalili/MM01.pdfMathematica has a Solve (symbolic solve) Command and also an NSolve (numerical solve) command, but these do not

polarframes = ManipulateB

PolarPlot@Sin@5 ΘD, 8Θ, 0, b<, PlotRange -> 88-1, 1<, 8-1, 1<<, Ticks -> NoneD, :b,Π

12, Π,

Π

12>F

b

For a more sophisticated example, suppose you want to create a movie illustrating the relationship between the unit circle and the

sine curve. The purpose of the following example is to show you the power of animation, so don't worry about understanding all of

the details.

Following is a list of three plots: a circle, a sine curve, and a set of connected points that will animate to show the connection

between points on the circle and the sine curve. We use AspectRatio ->2

2 Π+2 to produce a graph whose ratio of height to

width is 2 to 2 Π + 2. The other options have been described previously in this notebook. As mentioned before, turn the animation

off before proceeding.

32 Mathematica Manual for Calculus

Copyright © 2010 Pearson Education, Inc. Publishing as Addison-Wesley.

Page 21: Mathematica Manual - Christopher Newport Universitypkhalili/MM01.pdfMathematica has a Solve (symbolic solve) Command and also an NSolve (numerical solve) command, but these do not

AnimateBShowB:Graphics@Circle@8-1, 0<, 1DD,

PlotBSin@xD, 8x, 0, 2 Π<, PlotRange -> 88-2, 2 Π<, 8-1, 1<<, AspectRatio ->2

2 Π + 2,

PlotStyle -> RGBColor@1, 0, 0DF, ListPlotB88-1, 0<, 8Cos@tD - 1, Sin@tD<, 8t, Sin@tD<<,

PlotRange ® 88-2, 2 Π<, 8-1, 1<<, AspectRatio ®2

2 Π + 2, Ticks ® None,

Joined ® True, PlotStyle ® [email protected], Blue<F>F, :t, 0, 2 Π,Π

16>F

t

� Fours Types of Brackets in Mathematica

Four types of brackets have been described in this chapter: H ...L, 8 ...<, @ ...D and @@ ...DD.Round brackets H ...L are used for mathematical grouping of terms.

7 H3 + 4L

49

Curly brackets 8 ...< are used for creating lists.

mylist = 8Π, ã, 1<

8Π, ã, 1<

Square brackets [...] are used in defining functions and evaluating built-in, add-on,and defined functions.

g@x_D = x + Sin@xD;g@Π � 2D

1 +Π

2

CosB6 Π

5F

1

4J-1 - 5 N

Double square brackets [[...]] are used to extract parts of a list.

mylist@@2DD

ã

Do not attempt to interchange these symbols! For example, using round brackets instead of square brackets when defining or

evaluating a function will produce an undesired result. Mathematica interprets the parentheses as g times Π.

An Introduction to Mathematica 33

Copyright © 2010 Pearson Education, Inc. Publishing as Addison-Wesley.

Page 22: Mathematica Manual - Christopher Newport Universitypkhalili/MM01.pdfMathematica has a Solve (symbolic solve) Command and also an NSolve (numerical solve) command, but these do not

Do not attempt to interchange these symbols! For example, using round brackets instead of square brackets when defining or

evaluating a function will produce an undesired result. Mathematica interprets the parentheses as g times Π.

g HΠL

g Π

� Common Problems and How to Fix Them

� Interpreting Warning Messages

If Mathematica thinks that you have executed a command containing an error, it will display a warning message. Look closely at

the braces and brackets.

Plot@Cos@xD, 8x, 0, 2 ΠD

The highlights show the brackets and braces. In this case, a right curly bracket was forgotten and can be easily fixed.

Plot@Cos@xD, 8x, 0, 2 Π<D

1 2 3 4 5 6

-1.0

-0.5

0.5

1.0

Suppose you forget to insert the domain. Notice the red carrot that will appear when you close your right bracket. This shows that

something is missing.

Plot@Cos@xDD

Plot::argr : Plot called with 1 argument; 2 arguments are expected. �

Plot@Cos@xDD

Suppose you forget to identify the variable when giving the domain.

Plot@Cos@xD, 80, 2 Π<D

Plot::pllim : Range specification 80, 2 Π< is not of the form 8x, xmin, xmax<. �

Plot@Cos@xD, 80, 2 Π<D

The error message tells you what is wrong.

34 Mathematica Manual for Calculus

Copyright © 2010 Pearson Education, Inc. Publishing as Addison-Wesley.

Page 23: Mathematica Manual - Christopher Newport Universitypkhalili/MM01.pdfMathematica has a Solve (symbolic solve) Command and also an NSolve (numerical solve) command, but these do not

� Using an Add-On Function Before Loading it into Memory

In this 7.0 version of Mathematica, many of the Packages that had to be loaded no longer need to be loaded. Here is an example of

problems that will occur if you attempt to use an add-on command before it has been loaded into memory.

For example, the add-on command DayOfWeek[{year, month, day}] will return the day of the week on which the given

date occurred.

DayOfWeek@81962, 6, 6<D

DayOfWeek@81962, 6, 6<D

The command did not work because it was not loaded into memory first. The command is contained in a package called Calen-

dar. Now, when the package is loaded,a warning message occurs, because we tried to execute the command Dayof Week before

loading the package.

Needs@"Calendar`"D

DayOfWeek::shdw : Symbol DayOfWeek appears in multiple contexts 9Calendar`,

Global`=; definitions in context Calendar` may shadow or be shadowed by other definitions. �

Suppose you ignore the warning message and you try to execute DayOfWeek again. It works this time, but the command shows

up as red.

DayOfWeek@81962, 6, 6<D

Wednesday

Another more drastic way to get rid of this error message is to close the Mathematica kernel (last option under the Evaluation

menu). That will let you start with a clean slate, where all earlier definitions have been removed. Now, you can load the appropri-

ate package.

� Using Reserved Mathematica Words

As you already know, all Mathematica commands and constants begin with a capital letter. These commands are reserved words

that cannot be used for anything else other than their intended purpose. So when assigning names or creating functions, it is

generally a good idea to use names beginning with a lower case letter to avoid reserved Mathematica words. In the following

example, if you try to assign the name N to the sum of one plus one, an error message will appear on the screen.

N = 1 + 1

Set::wrsym : Symbol N is Protected. �

2

N

N

If you wanted a quick reminder of the N command (introduced earlier), execute ?N.

? N

N@exprD gives the numerical value of expr.

N@expr, nD attempts to give a result with n-digit precision. �

One way to resolve the problem would be to use a lower case letter.

An Introduction to Mathematica 35

Copyright © 2010 Pearson Education, Inc. Publishing as Addison-Wesley.

Page 24: Mathematica Manual - Christopher Newport Universitypkhalili/MM01.pdfMathematica has a Solve (symbolic solve) Command and also an NSolve (numerical solve) command, but these do not

One way to resolve the problem would be to use a lower case letter.

n = 1 + 1;

n

2

� Failing to capitalize Reserved Mathematica commands

Another common problem when using Mathematica is failing to capitalize the first letter in a Mathematica command. In the

following input line, sin[x] should be Sin[x] and therefore undesired results follow.

Plot@sin@xD, 8x, 0, 2 Π<D

1 2 3 4 5 6

0.2

0.4

0.6

0.8

1.0

In the following input cell, the first letter is capitalized, but since the FindRoot command consists of two words (i.e., Find and

Root), the letter r should instead be R.

FindrootAx2 - 11, 8x, 2<E

FindrootA-11 + x2, 8x, 2<E

Making the necessary correction leads to the desirable result.

FindRootAx2 - 11, 8x, 2<E

8x ® 3.31662<

This concludes your brief introduction to Mathematica. As you proceed through the following chapters, you may want to refer

back to this chapter on occasion.

36 Mathematica Manual for Calculus

Copyright © 2010 Pearson Education, Inc. Publishing as Addison-Wesley.