TI-89
TI-92 Plus
Guidebook
for Advanced Mathematics
Software Version 2.0
© 1999-2002 Texas Instruments
TI-89 Shortcut Keys
General
Alpha Rules
¥ O
2a
List of Flash applications
j
Type one lowercase letter
Type one uppercase letter
Lowercase alpha lock
Uppercase alpha lock
Exit alpha lock
Toggle between last two chosen
applications or split screens
¤
2 ™
¤ j
j
¥ |, ¥ «
Lighten or darken contrast
¥ ¸
Calculate approximate answer
¥ C, ¥ D Move cursor to top or bottom
(in editors)
3D Graphing
¤ C, ¤ D Scroll tall objects in history
¤ A, ¤ B
Highlight left or right from cursor
C, D, A, B
Animate graph
2C, 2D Page up or page down
«, |
X, Y, Z
µ
Change animation speed
View along axis
(in editors)
2A, 2B Move cursor far left or far right
Return to original view
Change graph format style
Expanded/normal view
Í
On-screen Keyboard Map ( ¥ ^)
p
Press N to exit the map.
Greek Letters
¥ c
To access the Greek
character set
¥ c j+ letter To access lowercase Greek
letters. Example:
¥ c j[W] displays ω
¥ c ¤ + letter
To access uppercase Greek
letters. Example:
¥ c ¤ [W] displays Ω
The keyboard map displays shortcuts that are
not marked on the keyboard. As shown
below, press ¥ and then the applicable key.
If you press a key combination that does not
access a Greek letter, you get the normal
letter for that key.
¥ Á
¥ c
ƒ
Access Greek letters
(see next column)
ξ
X
ψ
Y
ζ
Z
τ
T
¥ d
¥ b
¦ (comment)
Copy graph coordinates to
∆
sysdata
β
B
α
A
ε
E
δ
¥ e
!
(factorial)
C
H
D
I
¥ Í
Display FORMATS dialog box
Γ
γ
φ
F
¥ 1 – ¥ 9
Run programs kbdprgm1()
through kbdprgm9()
G
J
O
U
¥ p
& (append)
µ
M
λ
L
¥ ^
On-screen keyboard map
K
N
¥ §
¥ ´
@
Σ
Π
ρ
R
σ
π
Turn off unit so that it returns
to current application the
next time you turn it on
P
V
Q
S
Ω
ω
¥ µ (zero)
¥ ¶
‚
W
¥ ·
Copy graph coordinates to
Home screen history
TI-92 Plus Shortcut Keys
General
Editing
¥ O
2 a
List of Flash applications
Toggle between last two chosen
applications or split screens
Copy graph coordinates to
sysdata
Display FORMATS dialog box
Copy graph coordinates to
Home screen history
Create new variable
¥ C
Move cursor to top
¥ D
Move cursor to bottom
Move cursor to far left
Move cursor to far right
Scroll tall objects in history
2 A
¥ D
2 B
‚ C, ‚ D
2 C, 2 D Page up and page down
¥ X
¥ C
¥ V
¥ F
¥ H
Cut
Copy
Paste
¥ N
¥ O
¥ S
Open existing variable
Save copy as
3D Graphing
¥ |, ¥ « Lighten or darken contrast
C, D, A, B
Animate graph
Change animation speed
View along axis
Return to original view
Change graph format style
Expanded/normal view
¥ ¸
Calculate approximate answer
Turn off unit so that it returns
to current application the next
time you turn it on
«, |
X, Y, Z
µ (zero)
F
¥ ´
¥ 1 – ¥ 9
Run programs kbdprgm1()
p
through kbdprgm9()
Accent Marks
On-screen Keyboard Map ( ¥ ”)
2 A + letter
2 C + letter
2 E + letter
2 N + letter
à, è, ì, ò, ù, À, È, Ì, Ò, Ù
ç, Ç
á, é, í, ó, ú, ý, Á, É, Í, Ó, Ú, Ý
ã, ñ, õ, Ã, Ñ, Õ
Press N to exit the map.
2 O + letter â, ê, î, ô, û, Â, Ê, Î, Ô, Û
2 U + letter
ä, ë, ï, ö, ü, ÿ, Ä, Ë, Ï, Ö, Ü
Greek Letters
2 G
To access the Greek
character set
To access lowercase Greek
letters. Example: 2 G W
displays ω
See the table below for shortcuts that are not
marked on the TI-92 Plus keyboard. See the
next column for accent marks and Greek
letters.
2 G + letter
2 Q
2 W
2 R
?
!
@
#
2 G ¤ + letter To access uppercase Greek
letters. Example: 2 G ¤ W
displays Ω
If you press a key combination that does not
access a Greek letter, you get the normal
letter for that key.
(factorial)
2 T
(indirection)
2 H
& (append)
2 X
¦
ƒ
(comment)
¥ Á
Ω
Π
Ω
Π
¥ µ (zero)
¥ ¶
R
ω
ε
ρ τ
ψ
π
‚
Q
U
I
O
P
W
E
T
Y
Σ
∆
Γ
α σ
δ
φ γ
λ
A
S
D
F
G
H
J
K
L
ζ
ξ
β
µ
Z
X
C
V
B
N
M
q
Table of Contents
This guidebook describes how to use the TI-89 / TI-92 Plus. The
table of contents can help you locate "getting started"
information as well as detailed information about the
location to find details about every TI-89 / TI-92 Plus function
and instruction.
Flash Applications...................................................................................... x
Keystroke Differences.............................................................................xii
What’s New?............................................................................................. xiv
Getting the TI.89 Ready to Use ................................................................ 2
Getting the TI.92 Plus Ready to Use........................................................ 3
Setting the Contrast and Selecting a Language...................................... 4
Performing Computations......................................................................... 8
Graphing a Function ................................................................................ 11
Chapter 1:
Getting Started
Turning the TI.89 / TI.92 Plus On and Off ............................................ 14
Setting the Display Contrast................................................................... 15
The TI.89 Keyboard ................................................................................. 16
The TI.92 Plus Keyboard......................................................................... 17
Modifier Keys............................................................................................ 18
Entering Alphabetic Characters............................................................. 21
Home Screen............................................................................................. 23
Entering Numbers.................................................................................... 25
Entering Expressions and Instructions................................................. 26
Formats of Displayed Results................................................................. 29
Editing an Expression in the Entry Line............................................... 32
Menus......................................................................................................... 34
Using the Custom Menu .......................................................................... 37
Selecting an Application.......................................................................... 38
Setting Modes ........................................................................................... 40
Using the Clean Up Menu to Start a New Problem.............................. 43
Using the Catalog Dialog Box................................................................. 44
Storing and Recalling Variable Values................................................... 47
Reusing a Previous Entry or the Last Answer...................................... 49
Auto-Pasting an Entry or Answer from the History Area................... 52
Status Line Indicators in the Display..................................................... 53
Finding the Software Version and ID Number..................................... 55
Chapter 2:
Operating the
Calculator
iii
Preview of Symbolic Manipulation........................................................ 58
Using Undefined or Defined Variables.................................................. 59
Using Exact, Approximate, and Auto Modes ....................................... 61
Automatic Simplification......................................................................... 64
Delayed Simplification for Certain Built-In Functions........................ 66
Substituting Values and Setting Constraints ........................................ 67
Overview of the Algebra Menu............................................................... 70
Common Algebraic Operations.............................................................. 72
Overview of the Calc Menu..................................................................... 75
Common Calculus Operations................................................................ 76
User-Defined Functions and Symbolic Manipulation ......................... 77
If You Get an Out-of-Memory Error....................................................... 79
Special Constants Used in Symbolic Manipulation ............................. 80
Chapter 3:
Symbolic
Manipulation
Preview of Constants and Measurement Units.................................... 82
Entering Constants or Units ................................................................... 83
Converting from One Unit to Another................................................... 85
Setting the Default Units for Displayed Results .................................. 87
Creating Your Own User-Defined Units................................................ 88
List of Pre-Defined Constants and Units............................................... 89
Chapter 4:
Constants and
Measurement Units
Saving the Home Screen Entries as a Text Editor Script ................... 94
Cutting, Copying, and Pasting Information .......................................... 95
Creating and Evaluating User-Defined Functions ............................... 97
Using Folders to Store Independent Sets of Variables ..................... 100
If an Entry or Answer Is “Too Big” ...................................................... 103
Chapter 5:
Additional Home
Screen Topics
Preview of Basic Function Graphing................................................... 106
Overview of Steps in Graphing Functions.......................................... 107
Setting the Graph Mode......................................................................... 108
Defining Functions for Graphing ......................................................... 109
Selecting Functions to Graph............................................................... 111
Setting the Display Style for a Function.............................................. 112
Defining the Viewing Window .............................................................. 113
Changing the Graph Format ................................................................. 114
Graphing the Selected Functions......................................................... 115
Displaying Coordinates with the Free-Moving Cursor...................... 116
Tracing a Function................................................................................. 117
Using Zooms to Explore a Graph......................................................... 119
Using Math Tools to Analyze Functions ............................................. 122
Chapter 6:
Basic Function
Graphing
Preview of Parametric Graphing.......................................................... 128
Overview of Steps in Graphing Parametric Equations ..................... 129
Differences in Parametric and Function Graphing ........................... 130
Chapter 7:
Parametric
Graphing
iv
Preview of Polar Graphing.................................................................... 134
Overview of Steps in Graphing Polar Equations................................ 135
Differences in Polar and Function Graphing...................................... 136
Chapter 8:
Polar Graphing
Preview of Sequence Graphing ............................................................ 140
Overview of Steps in Graphing Sequences......................................... 141
Differences in Sequence and Function Graphing .............................. 142
Setting Axes for Time, Web, or Custom Plots.................................... 146
Using Custom Plots................................................................................ 150
Using a Sequence to Generate a Table................................................ 151
Chapter 9:
Sequence Graphing
Preview of 3D Graphing ........................................................................ 154
Overview of Steps in Graphing 3D Equations.................................... 156
Differences in 3D and Function Graphing.......................................... 157
Moving the Cursor in 3D ....................................................................... 160
Rotating and/or Elevating the Viewing Angle..................................... 162
Animating a 3D Graph Interactively .................................................... 164
Changing the Axes and Style Formats................................................. 165
Contour Plots.......................................................................................... 167
Example: Contours of a Complex Modulus Surface ......................... 170
Implicit Plots........................................................................................... 171
Example: Implicit Plot of a More Complicated Equation................. 173
Chapter 10:
3D Graphing
Preview of Differential Equation Graphing........................................ 176
Overview of Steps in Graphing Differential Equations..................... 178
Differences in Diff Equations and Function Graphing...................... 179
Setting the Initial Conditions................................................................ 184
Defining a System for Higher-Order Equations ................................. 186
Example of a 2nd-Order Equation ....................................................... 187
Example of a 3rd-Order Equation........................................................ 189
Setting Axes for Time or Custom Plots............................................... 190
Example of Time and Custom Axes .................................................... 191
Example Comparison of RK and Euler ............................................... 193
Example of the deSolve( ) Function.................................................... 196
Troubleshooting with the Fields Graph Format ................................ 197
Chapter 11:
Differential
Equation Graphing
v
Preview of Additional Graphing Topics.............................................. 202
Collecting Data Points from a Graph................................................... 203
Graphing a Function Defined on the Home Screen........................... 204
Graphing a Piecewise Defined Function............................................. 206
Graphing a Family of Curves................................................................ 208
Using the Two-Graph Mode.................................................................. 209
Drawing a Function or Inverse on a Graph ........................................ 212
Drawing a Line, Circle, or Text Label on a Graph ............................. 213
Saving and Opening a Picture of a Graph ........................................... 217
Animating a Series of Graph Pictures ................................................. 219
Saving and Opening a Graph Database ............................................... 220
Chapter 12:
Additional
Graphing Topics
Preview of Tables................................................................................... 222
Overview of Steps in Generating a Table............................................ 223
Setting Up the Table Parameters ......................................................... 224
Displaying an Automatic Table ............................................................ 226
Building a Manual (Ask) Table............................................................. 229
Chapter 13:
Tables
Preview of Split Screens........................................................................ 232
Setting and Exiting the Split Screen Mode ......................................... 233
Selecting the Active Application.......................................................... 235
Chapter 14:
Split Screens
Preview of the Data/Matrix Editor....................................................... 238
Overview of List, Data, and Matrix Variables..................................... 239
Starting a Data/Matrix Editor Session................................................. 241
Entering and Viewing Cell Values........................................................ 243
Inserting and Deleting a Row, Column, or Cell.................................. 246
Defining a Column Header with an Expression................................. 248
Using Shift and CumSum Functions in a Column Header................ 250
Sorting Columns..................................................................................... 251
Saving a Copy of a List, Data, or Matrix Variable .............................. 252
Chapter 15:
Data/Matrix Editor
Preview of Statistics and Data Plots.................................................... 254
Overview of Steps in Statistical Analysis............................................ 258
Performing a Statistical Calculation.................................................... 259
Statistical Calculation Types ................................................................ 261
Statistical Variables................................................................................ 263
Defining a Statistical Plot...................................................................... 264
Statistical Plot Types ............................................................................. 266
Using the Y= Editor with Stat Plots..................................................... 268
Graphing and Tracing a Defined Stat Plot .......................................... 269
Using Frequencies and Categories ...................................................... 270
If You Have a CBL 2/CBL or CBR......................................................... 272
Chapter 16:
Statistics and
Data Plots
vi
Preview of Programming....................................................................... 276
Running an Existing Program............................................................... 278
Starting a Program Editor Session....................................................... 280
Overview of Entering a Program.......................................................... 282
Overview of Entering a Function......................................................... 285
Using Variables in a Program ............................................................... 288
Using Local Variables in Functions or Programs .................................. 290
String Operations ................................................................................... 292
Conditional Tests ................................................................................... 294
Using If, Lbl, and Goto to Control Program Flow.............................. 295
Using Loops to Repeat a Group of Commands.................................. 297
Configuring the TI-89 / TI-92 Plus........................................................ 300
Getting Input from the User and Displaying Output ......................... 301
Creating a Table or Graph..................................................................... 305
Drawing on the Graph Screen .............................................................. 307
Accessing Another TI.89 / TI.92 Plus, a CBL 2/CBL, or a
Chapter 17:
Programming
CBR..................................................................................................... 309
Debugging Programs and Handling Errors......................................... 310
Example: Using Alternative Approaches ............................................ 311
Assembly-Language Programs ............................................................. 313
Preview of Text Operations.................................................................. 316
Starting a Text Editor Session.............................................................. 317
Entering and Editing Text..................................................................... 319
Entering Special Characters.................................................................. 324
Entering and Executing a Command Script ....................................... 328
Creating a Lab Report............................................................................ 330
Chapter 18:
Text Editor
Preview of the Numeric Solver ............................................................ 334
Displaying the Solver and Entering an Equation ............................... 335
Defining the Known Variables.............................................................. 337
Solving for the Unknown Variable....................................................... 339
Graphing the Solution............................................................................ 340
Chapter 19:
Numeric Solver
Preview of Number Bases..................................................................... 344
Entering and Converting Number Bases............................................. 345
Performing Math Operations with Hex or Bin Numbers .................. 346
Comparing or Manipulating Bits .......................................................... 347
Chapter 20:
Number Bases
vii
Preview of Memory and Variable Management ................................. 350
Checking and Resetting Memory ......................................................... 353
Displaying the VAR-LINK Screen......................................................... 355
Manipulating Variables and Folders with VAR-LINK ........................ 357
Pasting a Variable Name to an Application ........................................ 359
Archiving and Unarchiving a Variable................................................. 360
If a Garbage Collection Message Is Displayed................................... 362
Memory Error When Accessing an Archived Variable...................... 364
Chapter 21:
Memory and
Variable
Management
Linking Two Units.................................................................................. 366
Transmitting Variables, Flash Applications, and Folders................. 367
Transmitting Variables under Program Control................................. 371
Upgrading Product Software (Base Code) ......................................... 373
Collecting and Transmitting ID Lists................................................... 378
Compatibility between a TI.89, TI.92 Plus, and TI.92 ...................... 380
Chapter 22:
Linking and
Upgrading
Analyzing the Pole-Corner Problem .................................................... 384
Deriving the Quadratic Formula .......................................................... 386
Exploring a Matrix ................................................................................. 388
Exploring cos(x) = sin(x)...................................................................... 389
Finding Minimum Surface Area of a Parallelepiped.......................... 390
Running a Tutorial Script Using the Text Editor ............................... 392
Decomposing a Rational Function....................................................... 394
Studying Statistics: Filtering Data by Categories .............................. 396
CBL 2/CBL Program for the TI-89 / TI-92 Plus................................... 399
Studying the Flight of a Hit Baseball ................................................... 400
Visualizing Complex Zeros of a Cubic Polynomial............................. 402
Solving a Standard Annuity Problem................................................... 404
Computing the Time-Value-of-Money.................................................. 405
Finding Rational, Real, and Complex Factors.................................... 406
Simulation of Sampling without Replacement................................... 407
Chapter 23:
Activities
Quick-Find Locator ................................................................................ 410
Alphabetical Listing of Operations ...................................................... 414
Appendix A:
Functions and
Instructions
viii
TI-89 / TI-92 Plus Error Messages ....................................................... 542
Modes....................................................................................................... 550
TI.89 Key Codes ..................................................................................... 556
TI.92 Plus Key Codes............................................................................. 559
Entering Complex Numbers ................................................................. 563
Accuracy Information............................................................................ 566
System Variables and Reserved Names .............................................. 567
Regression Formulas ............................................................................. 570
Contour Levels and Implicit Plot Algorithm....................................... 572
Runge-Kutta Method.............................................................................. 573
Appendix B:
Reference
Information
Battery Information ............................................................................... 576
In Case of Difficulty ............................................................................... 579
Support and Service Information......................................................... 580
Warranty Information............................................................................ 581
Appendix C:
Service and
Warranty
Information
setMode( ) and getMode( ) ................................................................... 584
setGraph( ) .............................................................................................. 587
setTable( ) ............................................................................................... 589
Appendix D:
Programmer’s
Guide
Index ........................................................................................................ 591
TI-89 Shortcut Keys
TI-92 Plus Shortcut Keys
ix
Flash Applications
Flash functionality enables the ability to download different
applications to a TI-89 / TI-92 Plus calculator from the enclosed
Applications
CD-ROM, the TI web site, or from another calculator.
Before downloading new applications to a TI-89 / TI-92 Plus, please
read and accept the license agreement on the TI-89 / TI-92 Plus
Applications CD-ROM.
Before installing Flash applications, you will need:
Hardware/Software
Requirements
•
•
A computer with a CD-ROM drive and a serial port.
TI™ Connect or TI-GRAPH LINK™ software and a TI-GRAPH LINK
cable. If you need the TI Connect/ TI-GRAPH LINK software or a
TI-GRAPH LINK cable, check the TI web site at education.ti.com.
To set up:
Hardware Setup for
the Computer
1. Insert the small end of the TI-GRAPH LINK cable into the port at
the bottom of the TI-89 or the top of the TI-92 Plus.
2. Connect the other end to the computer’s serial port using a
25-to-9 pin adapter if necessary.
To install an application:
Installing a Flash
Application from the
CD-ROM
1. Insert the TI-89 / TI-92 Plus Applications CD-ROM into the
computer’s CD-ROM drive.
2. From the computer, start the TI-GRAPH LINK software.
Note: For further
information about
transmitting applications to
and from your computer
using TI Connect, refer to
the TI Connect online help.
3. From the Link menu, click Send Flash Software 8 Applications and
Certificates.
4. Locate the Flash application on the CD-ROM and double-click.
The Flash application is copied to the calculator.
To run an application:
Running a Flash
Application
1. On the TI-89 / TI-92 Plus, press ¥ O to display the FLASH
APPLICATIONS menu.
2. Use the cursor keys CD to highlight the application and press
¸.
x
Do not attempt to transfer an application if a low-battery message
appears on either the receiving or sending calculator.
Transferring a Flash
Application from
another
1. Connect the calculators with the calculator-to-calculator cable
TI-89 / TI-92 Plus
that came with the TI-89 / TI-92 Plus.
2. On the sending calculator:
a. Press 2 °
b. Press:
Note: This guidebook uses
TI-89 screen shots.
TI-89: 2 ‰
TI-92 Plus: ‰
c. Highlight the Flash application and press † (a Ÿ is displayed
to the left of the selected item)
3. On the receiving calculator:
a. Press 2 °
b. Press …
c. Select: 2:Receive
d. Press ¸
4. On the sending calculator:
a. Press …
b. Select: 1:Send to TI-89/92 Plus
c. Press ¸
To back up an application to the computer:
Backing up a Flash
Application
1. On the calculator, press:
TI-89: "
TI-92 Plus: ¹ "
2. From the computer, start the TI-GRAPH LINK software
3. From the Link menu, click Receive Flash Software
4. Select one or more Flash applications and click add
5. Click ok
Note: For further
information about
transmitting applications to
and from your computer
using TI Connect, refer to
the TI Connect online help.
6. Save the application to the computer and record this information
for future reference.
To delete a Flash application from the calculator:
Deleting a Flash
Application
1. Press 2 ° to display the VAR-LINK screen
2. Press:
TI-89: 2 ‰
TI-92 Plus: ‰
Note: To select all Flash
applications, use the ‡ All
menu.
3. Highlight the Flash application and press † (a Ÿis displayed to
the left of the selected item)
4. Press ƒ and choose 1:Delete
— or —
Press 0 (a confirmation message appears)
5. Press ¸ to confirm the deletion.
xi
Keystroke Differences
There are certain differences in keystrokes using the TI-89 / TI-92 Plus for various operations. The
following table shows the keystrokes for major commands for the two calculators.
³
›
FUNCTION
TI-89
TI-92 Plus
LETTERS
One lowercase letter (a-s, u, v, w)
j A-S, U-W
T, X, Y, Z
2 ™
j
A-S, U-W
One lowercase letter (t, x, y, z)
Several lowercase letters
T, X, Y, Z
End several lowercase letters
Several uppercase letters
¤ ™
j
2 ¢
End several uppercase letters
2 ¢.
FUNCTION KEYS
F6
2 ˆ
2 ‰
2 Š
ˆ
‰
Š
F7
F8
NAVIGATION
Scroll tall objects up or down in history
¤ C, ¤ D
‚ C, ‚ D
2 A, 2 B
E F G H
Move cursor far left or far right on entry line
Diagonal movement
2 A, 2 B
C and A
C and B
D and A
D and B
FUNCTIONS
Display Home screen
"
¥ "
¥ X
Cut
¥ 5
¥ 6
¥ 7
½
2 9
2 W
2 X
2 Y
2 x
¥ s
Copy
¥ C
Paste
¥ V
Catalog
2 ½
¥ 9
W
Display Units dialog box
Sin
Cos
Tan
LN
X
Y
x
eõ
2 s
2 ^
EE
^
xii
³
›
FUNCTION
TI-89
TI-92 Plus
SYMBOLS
ú (Conversion triangle)
2
¥
¥ Ï
Í
2
_ (Underscore)
θ (Theta)
2
Ï
| (“With”)
2 Í
2 È
2 v
2 ’
2 >
2 V
Space bar
' (Prime)
2 È
2 v
2 ’
° (Degree)
∠ (Angle)
Σ (Sigma)
xê (Reciprocal)
Space
½ Σ (
½ ^-1
j
HIDDEN SHORTCUTS
Place data in sysdata variable
¥ b
¥ D
Greek characters
Keyboard map
Place data in Home screen history
Grave (à, è, ì, ò, ù)
Cedilla (ç)
¥ c j or ¥ c ¤
¥ ^
¥ G or ¥G ¤
¥ ”
¥ ·
¥ H
2 ¿ 5
2 ¿ 5 6
2 ¿ 5
2 ¿ 5 6
2 ¿ 5
2 ¿ 5
2 ¿ 3
2 ¿ 5 6
2 ¿ 3
¥ p (times)
¥ §
2 A a, e, i, o, u
2 C
c
Acute (á, é, í, ó, ú, ý)
Tilde (ã, ñ, õ)
2 E a, e, i, o, u, y
2 N a, n, o
2 O a, e, i, o, u
2 U a, e, i, o, u, y
2 Q
Caret (â, ê, î, ô, û)
Umlaut (ä, ë, ï, ö, ü, ÿ)
? (Question mark)
β (Beta)
2 S
# (Indirection)
& (Append)
2 T
2 H
@ (Arbitrary)
2 R
≠ (Not equal to symbol)
! (Factorial)
¥ Á
2 V
¥ e
2 W
Comment (Circle-C)
New
¥ d
ƒ 3
ƒ 1
ƒ 2
¥ Í
¦
2 X
¥ N
¥ O
¥ S
¥ F
¦
Open
Save copy as
Format dialog box
xiii
What’s New?
TI developed the Advanced Mathematics
Software Version 2.0 to enable
downloadable calculator software
applications for the TI-89 and TI-92 Plus.
Introducing
Advanced
Mathematics
Software
For details, refer to:
Chapter 21 and 22
Version 2.0
Advanced Mathematics Software Version 2.0 is an infrastructure
enhancement of the current Advanced Mathematics Software
Version 1.xx. It has all the features of Version 1.xx. The improved
infrastructure enables multiple downloadable calculator software
applications, language localization. This enhancement also provides
your new TI-89 / TI-92 Plus with maximum reapportionment of the
over 702-KB Flash memory between user data archive and calculator
software applications.
All previous TI-89 and TI-92 Plus Modules can be upgraded to Version
2.0. However, on some TI-89 and all TI-92 Plus Module units, the user
data archive can only occupy a maximum of 384-KB of the over 702-
KB Flash memory shared with calculator software applications.
You can down load Advan ced Math em atics Software Version
2.0 to you r com pu ter from th e TI web site at education.ti.com,
th en tran sfer it to you r TI-89 / TI-92 Plu s u sin g th e
TI™ Connect or TI GRAPH LINK™ software an d a TI-GRAPH LINK
cable. Th e Advan ced Math em atics Software is free from th e TI
web site at education.ti.com.
The TI-89 / TI-92 Plus can be localized into
other languages. These free applications
translate prompts, error messages, and
most functions into one of several
languages.
Language
Localization
For details, refer to:
Chapter 1
The improved user interface allows folder collapse/expand and
expands the CATALOG menu to include application functions and
user-defined functions.
Improved User
Interface
xiv
The TI-89 / TI-92 Plus uses Flash technology,
which lets you upgrade future software
versions without buying a new calculator.
Upgradability with
Flash ROM
For details, refer to:
Chapter 22
As new functionality becomes available, you can electronically
upgrade your TI-89 / TI-92 Plus. Future software versions include
maintenance upgrades that will be released free of charge, as well as
new applications and major future upgrades that will be available for
purchase from the TI web site.
To download upgrades from the TI web site, you must have an
Internet-connected computer, TI™ Connect or TI-GRAPH LINK™
software, and a TI-GRAPH LINK cable. You can also transfer the
product software (operating system) and Flash applications from
one TI-89 / TI-92 Plus to another using a unit-to-unit cable, provided
that the receiving calculator is also licensed to run that software.
New to the TI-92 Plus is the custom menu feature that lets you create
your own toolbar menu. A custom menu can contain any available
function, instruction, or set of characters. The TI-92 Plus has a default
custom menu that you can modify or redefine.
Custom Menu
xv
Getting Started
Getting the TI.89 Ready to Use ................................................................ 2
Getting the TI.92 Plus Ready to Use........................................................ 3
Setting the Contrast and Selecting a Language...................................... 4
Performing Computations......................................................................... 8
Graphing a Function ................................................................................ 11
1
This chapter helps you to get started using the TI-89 / TI-92 Plus
quickly. This chapter takes you through several examples to
introduce you to some of the principal operating and graphing
functions of the TI-89 / TI-92 Plus.
After setting up your TI-89 / TI-92 Plus and completing these
examples, please read Chapter 2: Operating the Calculator. You
then will be prepared to advance to the detailed information
provided in the remaining chapters in this guidebook.
Chapter 1: Getting Started
1
Getting the TI-89 Ready to Use
The TI-89 comes with four AAA batteries. This chapter
describes how to install these batteries. It also describes how
to turn the unit on for the first time, set the display contrast,
select a language, and view the Home screen for both the
TI-89 and the TI-92 Plus.
To install the four AAA batteries:
Installing the AAA
Batteries
1. Place the TI-89 face down on a soft cloth to prevent scratching
the display face.
2. On the back of the calculator, depress the battery cover latch. Lift
and remove the battery cover.
3. Remove the batteries from the package and install them in the
battery compartment. Arrange the batteries according to the
polarity (+ and N) diagram in the battery compartment.
Important: When replacing
batteries in the future,
ensure that the TI-89 is
turned off by pressing
2 ®.
4. Replace the battery cover by inserting the two prongs into the
two slots at the bottom of the battery compartment, and then
push the cover until the latch snaps closed.
To replace the batteries without losing any information stored in
memory, follow the directions in Appendix C.
Lithium battery
AAA batteries
2
Chapter 1: Getting Started
Getting the TI-92 Plus Ready to Use
The TI-92 Plus comes with four AA batteries. This chapter
describes how to install these batteries. It also describes how
to turn the unit on for the first time, set the display contrast,
select a language, and view the Home screen for both the
TI-92 Plus and the TI-89.
To install the four AA alkaline batteries:
Installing the AA
Batteries
1. Holding the TI-92 Plus unit upright, slide the latch on the top of the
unit to the left unlocked position; slide the rear cover down about
one-eighth inch and remove it from the main unit.
Slide to open.
top
Important: When replacing
batteries in the future,
ensure that the TI-92 Plus is
turned off by pressing
2 ®.
I/O
2. Place the TI-92 Plus face down on a soft cloth to prevent
scratching the display face.
3. Install the four AA batteries. Be sure to position the batteries
according to the diagram inside the unit. The positive (+) terminal
of each battery should point toward the top of the unit.
back
AA batteries
Lithium battery
4. Replace the rear cover and slide the latch on the top of the unit to
the right locked position to lock the cover back in place.
Chapter 1: Getting Started
3
Setting the Contrast and Selecting a Language
After you install the batteries in your TI-89 / TI-92 Plus, press ´. It is
possible that the display contrast may be too dark or too dim to see
anything.
Turning the Unit on
and Adjusting the
Display Contrast
To adjust the display to your satisfaction, hold down ¥ (diamond
symbol inside a green border) and momentarily press | (minus key)
to lighten the display. Hold down ¥ and momentarily press « (plus
key) to darken the display.
You will see a screen that lists several languages. The list of
languages on your calculator may vary from this example.
Languages other than English are available as Flash applications.
English is part of the product software (base code). You may keep as
many or as few alternate languages on your calculator as you want
(subject to memory limitation) and switch between them easily.
During the process, you will be given an opportunity to choose
additional languages to keep or delete. You may also add or delete
language applications through the VAR-LINK screen.
Languages on the
TI-89 / TI-92 Plus
The TI-89 / TI-92 Plus can be localized into one of several languages.
Localizing means that all menu names, dialog boxes, error messages,
etc., will display in the language of your choice.
Important
Information About
the Language
Process
The TI-89 / TI-92 Plus can be localized into only one language at a
time; however, you can keep additional languages on the unit and
switch the language at any time.
The initial localization of the TI-89 / TI-92 Plus occurs in three phases:
¦
Phase I - Select the language in which you would like to localize
the TI-89 / TI-92 Plus. Future online instructions will appear in the
selected language.
¦
¦
Phase II - Read the instructional message that appears in the
language you selected in Phase I.
Note: English cannot be
deleted and remains
available in the product
software (base code).
Phase III - The TI-89 / TI-92 Plus is localized into the language you
selected in Phase I. You can now select one or more language
applications that you would like to keep on the calculator (in case
you want to switch to another language later). You can always
reload one or more language applications later, if necessary. The
calculator will then automatically delete the unselected
languages.
4
Chapter 1: Getting Started
1. Press the cursor keys (D or C) to
move the pointer to the language in
which you would like to set your
TI-89 / TI-92 Plus. (The list of
Localizing the
TI-89 / TI-92 Plus
languages on your calculator may
vary from this example.)
Note: Until you complete
the localization process, the
Select a Language dialog
box will reappear when you
turn the unit on.
2. Press ¸ to set the TI-89 / TI-92 Plus into the selected language.
(Pressing N halts the localization process and displays the
Home screen.)
3. Read the message that appears and
then press ¸.
The message displays in the
language you previously selected.
4. Press the cursor keys (D or C) to move the pointer and then
press ƒ to select each additional language that you would like to
keep.
— or —
Press „ to select and keep all of the language applications.
You cannot uncheck English or the
language you selected in step 1.
Pressing ƒ toggles the Ÿ on and off.
5. Press ¸ to complete the localization process. Additional
selected languages, if any, are retained in memory and unselected
languages are deleted to free up Flash memory. (Pressing N
halts the localization process and displays the Home screen.)
If additional language applications remain on your TI-89 / TI-92 Plus,
you can change the localization language via Page 3 (…) of the Mode
dialog box. See “Setting Modes” in Chapter 2 for information on how
to use the Mode dialog box. You can add or delete language and other
Flash applications via the VAR-LINK screen. See “Transmitting
Variables, Flash Applications, and Folders” in Chapter 22.
Language applications are available on the enclosed CD and from the
Texas Instruments web site. For up-to-date information about Flash
applications, including additional language applications, check the
Texas Instruments web site at:
education.ti.com
Chapter 1: Getting Started
5
After you select a language, a blank Home screen is displayed.
About the Home
Screen
The Home screen lets you execute instructions, evaluate
expressions, and view results.
The following example contains previously entered data and
describes the main parts of the Home screen. Entry/answer pairs in
the history area are displayed in “pretty print.” Pretty print displays
expressions in the same form in which they are written on the board
or in textbooks.
Toolbar
Lets you display menus for
selecting operations
applicable to the Home
screen. To display a toolbar
menu, press ƒ, „, etc.
History Area
Lists entry/answer pairs
you have entered. Pairs
scroll up the screen as
you make new entries.
Last Entry
Your last entry.
Last Answer
Result of your last entry.
Note that results are not
displayed on the entry line.
Entry Line
Where you enter
expressions or
instructions.
Status Line
Shows the current state
of the calculator.
6
Chapter 1: Getting Started
The following example shows an answer that is not on the same line
as the expression. Note that the answer is longer than the screen
width. An arrow (8) indicates the answer is continued. The entry line
contains ellipsis (…). Ellipsis indicates the entry is longer than the
screen width.
Last Entry
"Pretty print" is ON.
Exponents, roots,
fractions, etc., are
displayed in the same
form in which they are
traditionally written.
Answer Continues
Highlight the answer and
press B to scroll right and
view the rest of it. Note that
the answer is not on the
same line as the
expression.
Expression Continues
Press B to scroll right and
view the rest of the entry.
Press 2 A or 2 B to go
to the beginning or end of
the entry line.
When you want to turn the TI-89 / TI-92 Plus off, press 2®.
(Note: ® is the second function of the ´ key.)
Turning the
TI-89 / TI-92 Plus
Off
Chapter 1: Getting Started
7
Performing Computations
This section provides several examples for you to perform that demonstrate some of the
computational features of the TI-89 / TI-92 Plus. The history area in each screen was
cleared by pressing ƒ and selecting 8:Clear Home, before performing each example, to
illustrate only the results of the example’s keystrokes.
³
›
TI.89
Keystrokes
TI.92 Plus
Keystrokes
Steps
Display
Showing Computations
1. Compute sin(p/4) and display the 2 W 2 T W 2 T
result in symbolic and numeric
format.
e 4 d ¸
¥ ¸
e 4 d ¸
¥ ¸
To clear the history area of previous
calculations, press ƒ and select
8:Clear Home.
Finding the Factorial of
Numbers
1. Compute the factorial of several 5 2 I 7 1 5 2 W ¸
numbers to see how the
TI-89 / TI-92 Plus handles very
large integers.
¸
2 0 2 I 7 1 2 0 2 W ¸
¸
To get the factorial operator (!), press
2 I, select 7:Probability, and
then select 1:!.
3 0 2 I 7 1 3 0 2 W ¸
¸
Expanding Complex Numbers
1. Compute (3+5i)3 to see how the c 3 « 5 2 ) c 3 « 5 2 )
TI-89 / TI-92 Plus handles
computations involving complex
numbers.
d Z 3 ¸
d Z 3 ¸
Finding Prime Factors
1. Compute the factors of the
„ 2
„ 2
rational number 2634492.
2 6 3 4 4 9 2 d 2 6 3 4 4 9 2 d
¸
¸
You can enter “factor” on the entry
line by typing FACTOR on the
keyboard, or by pressing „ and
selecting 2:factor(.
2. (Optional) Enter other numbers
on your own.
8
Chapter 1: Getting Started
³
›
TI.89
Keystrokes
TI.92 Plus
Keystrokes
Steps
Display
Expanding Expressions
1. Expand the expression (xì 5)3.
„ 3
„ 3
c X | 5 d Z 3 c X | 5 d Z 3
You can enter “expand” on the entry
line by typing EXPAND on the
keyboard, or by pressing „ and
selecting 3:expand(.
d
d
¸
¸
2. (Optional) Enter other
expressions on your own.
Reducing Expressions
1. Reduce the expression
(x2ì 2xì 5)/(xì 1) to its simplest
form.
„ 7
„ 7
c X Z 2 | 2 X c X Z 2 | 2 X
| 5 d e
c X | 1 d d
¸
| 5 d e
c X | 1 d d
¸
You can enter “propFrac” on the entry
line by typing PROPFRAC on the
keyboard, or by pressing „ and
selecting 7:propFrac(.
Factoring Polynomials
1. Factor the polynomial (x2ì 5)
„ 2
„ 2
with respect to x.
X Z 2 | 5
b X d
¸
X Z 2 | 5
b X d
¸
You can enter “factor” on the entry
line by typing FACTOR on the
keyboard or by pressing „ and
selecting 2:factor(.
Solving Equations
1. Solve the equation x2ì 2xì 6=2
„ 1
„ 1
with respect to x.
X Z 2 | 2 X | 6 X Z 2 | 2 X | 6
Á 2 b X d
¸
Á 2 b X d
¸
You can enter “solve(” on the entry
line by selecting “solve(” from the
Catalog menu, by typing SOLVE( on
the keyboard, or by pressing „ and
selecting 1:solve(.
The status line area shows the
required syntax for the marked item
in the Catalog menu.
Chapter 1: Getting Started
9
³
›
TI.89
Keystrokes
TI.92 Plus
Keystrokes
Steps
Display
Solving Equations with a Domain
Constraint
1. Solve the equation x2ì 2xì 6=2
with respect to x where x is
greater than zero.
„ 1
„ 1
X Z 2 | 2 X | 6 X Z 2 | 2 X | 6
Á 2 b X d
Í X
2 Ã 0
¸
Á 2 b X d
2 Í X
2 Ã 0
¸
The “with” (I) operator provides
domain constraint.
TI.89: Í
TI.92 Plus: 2 Í
Finding the Derivative of
Functions
1. Find the derivative of
2 = c X | Y 2 = c X | Y
d Z 3 e c X « dZ3ecX«
Y d Z 2 b X d Y d Z 2 b X d
(xì y)3/(x+y)2 with respect to x.
This example illustrates using the
calculus differentiation function and
how the function is displayed in
“pretty print” in the history area.
¸
¸
Finding the Integral of
Functions
1. Find the integral of xù sin(x) with 2 < X p
2 < X p
respect to x.
2 W X d b W X d b
X d ¸ X d ¸
This example illustrates using the
calculus integration function.
10
Chapter 1: Getting Started
Graphing a Function
The example in this section demonstrates some of the graphing capabilities of the
TI-89 / TI-92 Plus. It illustrates how to graph a function using the Y= Editor. You will learn
how to enter a function, produce a graph of the function, trace a curve, find a minimum
point, and transfer the minimum coordinates to the Home screen.
Explore the graphing capabilities of the TI-89 / TI-92 Plus by graphing the function
y=(|x2ì 3|ì 10)/2.
³
›
TI.89
Keystrokes
TI.92 Plus
Keystrokes
Steps
Display
¥ #
¥ #
1. Display the Y= Editor.
entry line
c ½ A
¸
c2½A
¸
2. Enter the function
(abs(x2ì 3)ì 10)/2.
“pretty print”
X Z 2 | 3 d | X Z 2 | 3 d |
display of the
function in the
entry line
1 0 d e 2
1 0 d e 2
¸
¸
„ 6
„ 6
3. Display the graph of the
function.
Select 6:ZoomStd by pressing 6 or by
moving the cursor to 6:ZoomStd and
pressing ¸.
…
…
4. Turn on Trace.
The tracing cursor, and the x and y
coordinates are displayed.
tracing
cursor
‡ D D ¸ ‡ D D ¸
5. Open the MATH menu and select
3:Minimum.
Chapter 1: Getting Started
11
³
›
TI.89
Keystrokes
TI.92 Plus
Keystrokes
Steps
Display
B. . . B
B . . . B
6. Set the lower bound.
¸
¸
Press B (right cursor) to move the
tracing cursor until the lower bound
for x is just to the left of the minimum
node before pressing ¸ the
second time.
B. . . B
B . . . B
7. Set the upper bound.
Press B (right cursor) to move the
tracing cursor until the upper bound
for x is just to the right of the
minimum node.
¸
¸
8. Find the minimum point on the
graph between the lower and
upper bounds.
minimum point
minimum coordinates
¥ ·
"
¥ H
¥ "
9. Transfer the result to the Home
screen, and then display the
Home screen.
Shortcuts for copying graph
coordinates to Home screen history:
TI.89: ¥ ·
TI.92 Plus: ¥ H
12
Chapter 1: Getting Started
Operating the Calculator
Turning the TI.89 / TI.92 Plus On and Off ............................................ 14
Setting the Display Contrast................................................................... 15
The TI.89 Keyboard ................................................................................. 16
The TI.92 Plus Keyboard......................................................................... 17
Modifier Keys............................................................................................ 18
Entering Alphabetic Characters............................................................. 21
Home Screen............................................................................................. 23
Entering Numbers.................................................................................... 25
Entering Expressions and Instructions................................................. 26
Formats of Displayed Results................................................................. 29
Editing an Expression in the Entry Line............................................... 32
Menus......................................................................................................... 34
Using the Custom Menu .......................................................................... 37
Selecting an Application.......................................................................... 38
Setting Modes ........................................................................................... 40
Using the Clean Up Menu to Start a New Problem.............................. 43
Using the Catalog Dialog Box................................................................. 44
Storing and Recalling Variable Values................................................... 47
Reusing a Previous Entry or the Last Answer...................................... 49
Auto-Pasting an Entry or Answer from the History Area................... 52
Status Line Indicators in the Display..................................................... 53
Finding the Software Version and ID Number..................................... 55
2
This chapter gives a general overview of the TI-89 / TI-92 Plus and
describes its basic operations. By becoming familiar with the
information in this chapter, you can use the TI-89 / TI-92 Plus to
solve problems more effectively.
The Home screen is the most commonly used application on the
TI-89 / TI-92 Plus. You can use the Home screen to perform a wide
variety of mathematical operations.
Chapter 2: Operating the Calculator
13
Turning the TI-89 / TI-92 Plus On and Off
You can turn the TI-89 / TI-92 Plus on and off manually by using
the ´and 2®(or ¥ ®) keys. To prolong battery life,
the APDé (Automatic Power Downé) feature lets the
TI-89 / TI-92 Plus turn itself off automatically.
Press ´.
Turning the
TI-89 / TI-92 Plus
On
¦
If you turned the unit off by pressing 2®, the TI-89 / TI-92 Plus
returns to the Home screen.
¦
If you turned the unit off by pressing ¥ ®or if the unit turned
itself off through APD, the TI-89 / TI-92 Plus returns to whichever
application you used last.
You can use either of the following keys to turn off the TI-89 / TI-92 Plus.
Turning the
TI-89 / TI-92 Plus Off
Press:
Description
Note: ® is the second
function of the ´ key.
2®
(press 2
and then
Settings and memory contents are retained by the
Constant Memoryé feature. However:
¦
You cannot use 2®if an error message is
press ®)
displayed.
¦
When you turn the TI-89 / TI-92 Plus on again, it
always displays the Home screen (regardless of
the last application you used).
¥ ®
Similar to 2®except:
(press ¥
and then
press ®)
¦
You can use ¥ ®if an error message is
displayed.
¦
When you turn the TI-89 / TI-92 Plus on again, it
will be exactly as you left it.
After several minutes without any activity, the TI-89 / TI-92 Plus turns
itself off automatically. This feature is called APD.
APD (Automatic
Power Down)
When you press ´, the TI-89 / TI-92 Plus will be exactly as you left it.
¦
The display, cursor, and any error conditions are exactly as you
left them.
¦
All settings and memory contents are retained.
APD does not occur if a calculation or program is in progress, unless
the program is paused.
The TI-89 uses four AAA alkaline batteries and a back-up lithium
battery. The TI-92 Plus uses four AA alkaline batteries and also has a
back-up lithium battery. To replace the batteries in either calculator
without losing any information stored in memory, follow the
directions in Appendix C.
Batteries
14
Chapter 2: Operating the Calculator
Setting the Display Contrast
The brightness and contrast of the display depend on room
lighting, battery freshness, viewing angle, and the adjustment
of the display contrast. The contrast setting is retained in
memory when the TI-89 / TI-92 Plus is turned off.
You can adjust the display contrast to suit your viewing angle and
lighting conditions.
Adjusting the
Display Contrast
To:
Press and hold both:
Decrease (lighten) the contrast
¥ and |
Increase (darken) the contrast
¥ and «
TI-89 contrast keys
TI-92 Plus contrast keys
VAR-LINK
O
VAR-LINK
CHAR
U
CHAR
If you press and hold ¥ | or ¥ « too long, the display may go
completely black or blank. To make finer adjustments, hold ¥ and
then tap |or « .
As the batteries get low, the display begins to dim (especially during
calculations) and you must increase the contrast. If you have to
increase the contrast frequently, replace the four alkaline batteries.
When to Replace
Batteries
Tip: The display may be
very dark after you change
batteries. Use ¥ | to
lighten the display.
The status line along the bottom of the display also gives battery
information.
Indicator in status line
Description
Batteries are low.
Replace batteries as soon as possible.
When using the TI-92 Plus on a desk or table top, you can use the
snap-on cover to prop up the unit at one of three angles. This may
make it easier to view the display under various lighting conditions.
Using the TI-92 Plus
Cover as a Stand
Note: Slide the tabs at the
top-sides of the TI-92 Plus
into the slots in the cover.
Chapter 2: Operating the Calculator
15
The TI-89 Keyboard
Use this section to familiarize yourself with the various keys on
the TI-89 keyboard. Most keys can perform two or more
functions, depending on whether you first press a modifier key.
Overview of Some
Important Keys
ƒ through 2 Š
function keys let you
select toolbar menus.
Used with ¥, you can
also select applications
(page 39).
N cancels a menu or
dialog box.
A, B, C, and D move
the cursor.
2, ¥, ¤, and j
modify the action of
other keys (page 18).
O lets you select an
application (page 38).
" displays the Home
screen, where you
perform most
M erases the entry
line. Also used to delete an
entry/answer pair in the
history area.
calculations.
X, Y, and Z are often
used in symbolic
calculations.
½ lets you select
from a list of functions
and instructions (page 44).
3 lets you view and
change mode settings that
determine how numbers
and graphs are interpreted,
calculated, and displayed
(page 40).
Adjust the contrast by
pressing ¥ | (lighten) or
¥ « (darken).
¸ evaluates an expression,
executes an instruction, selects a
menu item, etc.
You can use ¥ ¸ to display an
approximate numerical result.
To move the cursor in a particular direction, press the appropriate
cursor key (A, B, C, or D).
Moving the Cursor
Some TI-89 applications also let you press:
¦
¦
¦
¦
2 A or 2 B to move to the beginning or end of a line.
2 C or 2 D to move up or down one screen at a time.
¥ C or ¥ D to move to the top or bottom of a page.
C and A, C and B, D and A, or D and B to move diagonally.
(Press the indicated cursor keys simultaneously.)
16
Chapter 2: Operating the Calculator
The TI-92 Plus Keyboard
With the TI-92 Plus’s easy-to-hold shape and keyboard layout,
you can quickly access any area of the keyboard even when
you are holding the unit with two hands.
The keyboard is divided into several areas of related keys.
Keyboard Areas
Cursor Pad
Function Keys
Moves the display
cursor in up to 8
directions, depending
on the application.
Access the toolbar menus
displayed across the top
of the screen.
TI-92 Plus
Application
Shortcut Keys
Used with the
¥ key to let you
select commonly
used
HOME
Y=
WINDOW GRAPH
TblSet
TABLE
applications.
QWERTY Keyboard
Enters text characters
just as you would on a
typewriter.
Calculator Keypad
Performs a variety of
math and scientific
operations.
To move the cursor, press the applicable edge of the cursor pad. This
guidebook uses key symbols such as A and B to indicate which
side of the cursor pad to press.
Cursor Pad
C
For example, press B to move the
cursor to the right.
Note: The diagonal directions
(H, etc.) are used only for geometry
A
B
and graphing applications.
D
Chapter 2: Operating the Calculator
17
Modifier Keys
Modifier Keys
Modifier
Description
2
(second)
Accesses the second function of the next key you
press. On the keyboard, these are printed in the
same color as the 2 key.
¥
Activates keys that select certain applications
(page 39), menu items, and other operations from
the keyboard. On the keyboard, these are printed in
the same color as the ¥ key.
(diamond)
¤
(shift)
Types an uppercase character for the next letter
key you press. ¤ is also used with Band Ato
highlight characters in the entry line for editing
purposes.
Note: For information about
using ¤ and j, refer to
“Entering Alphabetic
j
(TI-89 only)
Used to type alphabetic letters, including a space
character. On the keyboard, these are printed in
the same color as the j key.
Characters” on page 21.
‚ (hand)
Used with the cursor pad to manipulate geometric
(TI-92 Plus only) objects. ‚ is also used for drawing on a graph.
The N key is one of several keys that can perform three
operations, depending on whether you first press 2 or ¥.
Examples of 2
and ¥ Modifiers
The following TI-89 example shows using the 2 or ¥ modifier key
with the N key.
2 K accesses
QUIT, which is the
same color as the
2 key.
¥ 7 accesses PASTE,
which is the same color as
the ¥ key.
QUIT PASTE
ESC
N accesses the
key’s primary
function.
The following TI-92 Plus example shows using the 2 or ¥ modifier
key with the Y alphabetic key.
2 accesses ú
(convert). The
convert symbol is
the same color as
the 2 key.
¥ ' displays the
Table screen. The word is
the same color as the ¥
key.
ú TABLE
Y
Pressing the
primary key types
the letter Y.
18
Chapter 2: Operating the Calculator
Some keys perform only one additional operation, which may require
either 2 or ¥, depending on the color in which the operation is
printed on the keyboard and where it is positioned above the key.
On the TI-89, ¥ 5
accesses CUT, which
is the same color as
the ¥ key.
CUT
2nd
When you press a modifier such as 2 or ¥, a 2ND or 2 indicator
appears in the status line at the bottom of the display. If you press a
modifier by accident, press it again (or press N) to cancel its
effect.
Other Important
Keys You Need to
Be Familiar With
Key
Description
¥ #
Displays the Y= Editor (Chapter 6).
Displays the Window Editor (Chapter 6).
Displays the Graph screen (Chapter 6).
Sets parameters for the Table screen (Chapter 13).
Displays the Table screen (Chapter 13).
¥ $
¥ %
¥ &
¥ '
Note: Some keystrokes
differ between the TI-89 and
the TI-92 Plus. See the
Keystroke Differences table
in the front of this guidebook
for a complete list.
TI.89:
These keys let you edit entered information by
performing a cut, copy, or paste operation.
¥ 5
¥ 6
¥ 7
TI.92 Plus:
¥ X (cut)
¥ C (copy)
¥ V (paste)
2 a
Switches the active side in a split screen (Chapter 14).
2 ¾ Toggles the custom menu on and off (page 37).
2
Converts measurement units (Chapter 4).
Designates a measurement unit (Chapter 4).
TI.89:
¥
TI.92 Plus:
2
0
Deletes the character to the left of the cursor
(backspaces).
2 /
¥ 8
Toggles between insert and overtype mode for
entering information (page 33).
Deletes the character to the right of the cursor.
Chapter 2: Operating the Calculator
19
Important Keys
(continued)
Key
Description
TI.89:
Í
Enters the “with” operator, which is used in symbolic
calculations (Chapter 3).
TI.92 Plus:
2 Í
2 <,
Performs integrations and derivatives (Chapter 3).
2 =
2 ’
Designates an angle in polar, cylindrical, and spherical
coordinates.
2 I Displays the MATH menu.
2 ¯
Displays the MEMORY screen (Chapter 21).
2
Displays the VAR-LINK screen for managing variables
°
and Flash applications (Chapter 21).
2 £
Recalls the contents of a variable (page 48).
TI.89:
Displays the UNITS dialog box (Chapter 4).
2 9
TI.92 Plus:
¥ À
2 ¿ Displays the CHAR menu, which lets you select Greek
letters, international accented characters, etc.
(Chapter 18).
2 ±, Recalls the previous entry and the last answer,
2 ² respectively (page 49).
20
Chapter 2: Operating the Calculator
Entering Alphabetic Characters
Alphabetic characters are used in expressions such as xñ+yñ,
to enter variable names (page 47), and in the Text Editor
(Chapter 18).
The letters x, y, z, and t are commonly used in algebraic expressions.
So that you can type them quickly, these letters are primary keys on
the TI-89 keyboard.
Entering a Letter
Character on the
TI-89
X
Y
Z
T
Other letters are available as the j function of another key,
similar to the 2 and ¥ modifiers described in the previous section.
For example:
2 È types , which
is the same color as
j [A] types an A,
which is the same
color as the j key.
´
A
the 2 key.
´
=
Typing Alphabetic
Characters on the
TI-89 / TI-92 Plus
To:
On the TI.89, press:
On the TI.92 Plus, press:
Type a single
lowercase
alpha
j and then the letter
key
(status line shows
the letter key
)
character.
Note: On the TI-89, you do
not need j or alpha-lock
to type x, y, z, or t. But you
must use ¤ or uppercase
ALPHA-lock for X, Y, Z, or T.
Type a single
uppercase
alpha
¤ and then the letter key ¤ and then the letter key
(status line shows +)
(status line shows +)
character.
Type a space.
j (alpha function
spacebar
of the · key)
Note: On the TI-89, alpha-
lock is always turned off
when you change
applications, such as going
from the Text Editor to the
Home screen.
Turn on
lowercase
alpha-lock.
2 ™
(status line shows
(no action needed)
)
)
Turn on
uppercase
ALPHA-lock.
¤ ™
(status line shows
2 ¢
Turn off alpha- j (turns off upper-
lock. and lowercase lock)
2 ¢ (turns off
uppercase lock)
Chapter 2: Operating the Calculator
21
On the TI-89, while either type of alpha-lock is on:
Typing Alphabetic
Characters …
(continued)
¦
To type a period, comma, or other character that is the primary
function of a key, you must turn alpha-lock off.
¦
To type a second function character such as 2 [, you do not
need to turn alpha-lock off. After you type the character, alpha-
lock remains on.
There are certain times when you do not need to press j or
2 ™ to type alphabetic characters on the TI-89. Automatic
alpha-lock is turned on whenever a dialog box is first displayed. The
automatic alpha-lock feature applies to these dialog boxes:
Automatic Alpha-
Lock in TI-89 Dialog
Boxes
Dialog box
Alpha-lock
Catalog dialog box
All commands are listed in alphabetical
order. Press a letter to go to the first
command that begins with that letter. See
page 44 for more information.
Units dialog box
In each unit category, type the first letter of a
unit or constant. See Chapter 4 for more
information.
Note: To type a number,
press j to turn alpha-
lock off. Press j or
2 ™ to resume typing
letters.
Dialog boxes with entry These include, but are not limited to: Create
fields
New Folder, Rename, and Save Copy As. See
page 35 for more information about dialog
boxes.
Alpha-lock is not turned on in dialog boxes that require numeric-
only entries. The dialog boxes that accept only numeric entries are:
Resize Matrix, Zoom Factors, and Table Setup.
Use the 2 ¿ menu to select from a variety of special
characters. For more information, refer to “Entering Special
Characters” in Chapter 18.
For Special
Characters
22
Chapter 2: Operating the Calculator
Home Screen
When you first turn on your TI-89 / TI-92 Plus, the Home screen
is displayed. The Home screen lets you execute instructions,
evaluate expressions, and view results.
When you turn on the TI-89 / TI-92 Plus after it has been turned off with
2 ®, the display always shows the Home screen. (If the
TI-89 / TI-92 Plus turned itself off through APDé, the display shows the
previous screen, which may or may not have been the Home screen.)
Displaying the
Home Screen
To display the Home screen at any time:
¦
Press:
TI.89: "
TI.92 Plus: ¥ "
— or —
¦
¦
Press 2K
— or —
Press:
TI.89: O jA
TI.92 Plus: OA
The following example gives a brief description of the main parts of
the Home screen.
Parts of the Home
Screen
History Area
Lists entry/answer pairs
you have entered.
Toolbar
Press ƒ, „, etc., to
display menus for selecting
operations.
Pretty Print Display
Shows exponents,
roots, fractions, etc.,
in traditional form.
Refer to page 29.
Last Answer
Last Entry
Your last entry.
Result of your last entry.
Note that results are not
displayed on the entry line.
Entry Line
Where you enter
expressions or
instructions.
Status Line
Shows the current state
of the TI-89 / TI-92 Plus.
The history area shows up to eight previous entry/answer pairs
(depending on the complexity and height of the displayed
expressions). When the display is filled, information scrolls off the
top of the screen. You can use the history area to:
History Area
¦
Review previous entries and answers. You can use the cursor to
view entries and answers that have scrolled off the screen.
¦
Recall or auto-paste a previous entry or answer onto the entry
line so that you can re-use or edit it. Refer to pages 50 and 52.
Chapter 2: Operating the Calculator
23
Normally, the cursor is in the entry line. However, you can move the
cursor into the history area.
Scrolling through
the History Area
To:
Do this:
View entries or answers
that have scrolled off
the screen
1. From the entry line, press Cto
highlight the last answer.
2. Continue using Cto move the
cursor from answer to entry, up
through the history area.
Go to the oldest or newest If the cursor is in the history area, press
history pair
¥ C or ¥ D, respectively.
Note: For an example of
viewing a long answer, refer
to page 28.
View an entry or answer
that is too long for one
line (ú is at end of line)
Move the cursor to the entry or answer.
Use A and B to scroll left and right (or
2 A and 2 B to go to the beginning
or end), respectively.
Return the cursor to the
entry line
Press N, or press Duntil the cursor is
back on the entry line.
Use the history indicator on the status line for information about the
entry/answer pairs. For example:
History Information
on the Status Line
Total number of
pairs that are
currently saved.
If the cursor
is on the
entry line:
Maximum number
of pairs that can
be saved.
8/30
Pair number of
the highlighted
entry or answer.
If the cursor
is in the
history area:
Total number of
pairs that are
currently saved.
By default, the last 30 entry/answer pairs are saved. If the history
area is full when you make a new entry (indicated by 30/30), the new
entry/answer pair is saved and the oldest pair is deleted. The history
indicator does not change.
Modifying the
History Area
To:
Do this:
Change the number of
pairs that can be saved
Press ƒ and select 9:Format, or press
TI.89: ¥ Í TI.92 Plus: ¥ F. Then
press B, use Cor Dto highlight the
new number, and press ¸ twice.
Clear the history area
Press ƒ and select 8:Clear Home, or
and delete all saved pairs
enter ClrHome on the entry line.
Delete a particular
entry/answer pair
Move the cursor to either the entry or
answer. Press 0or M.
24
Chapter 2: Operating the Calculator
Entering Numbers
The keypad lets you enter positive and negative numbers for
your calculations. You can also enter numbers in scientific
notation.
1. Press the negation key ·. (Do not use the subtraction key |.)
Entering a Negative
Number
2. Type the number.
To see how the TI-89 / TI-92 Plus evaluates a negation in relation to
other functions, refer to the Equation Operating System (EOSé)
hierarchy in Appendix B. For example, it is important to know that
functions such as xñ are evaluated before negation.
Evaluated as ë(2ñ)
Use c and d to include
parentheses if you have
any doubt about how a
negation will be
evaluated.
Important: Use | for
subtraction and use
· for negation.
If you use | instead of ·(or vice versa), you may get an error
message or you may get unexpected results. For example:
¦
¦
¦
9 p ·7 = ë 63
— but —
9 p | 7 displays an error message.
6 | 2 = 4
— but —
6 · 2 = ë 12 since it is interpreted as 6(ë 2), implied multiplication.
· 2 « 4 = 2
— but —
| 2 « 4 subtracts 2 from the previous answer and then adds 4.
1. Type the part of the number that precedes the exponent. This
value can be an expression.
Entering a Number
in Scientific
Notation
2. Press:
TI.89: ^
TI.92 Plus: 2 ^
E appears in the display.
3. Type the exponent as an integer with up to 3 digits. You can use a
negative exponent.
Entering a number in scientific notation does not cause the answers
to be displayed in scientific or engineering notation.
The display format is determined by
the mode settings (pages 29 through
31) and the magnitude of the
number.
Represents 123.45 × 10- 2
Chapter 2: Operating the Calculator
25
Entering Expressions and Instructions
You perform a calculation by evaluating an expression. You
initiate an action by executing the appropriate instruction.
Expressions are calculated and results are displayed
according to the mode settings described on page 29.
Expression Consists of numbers, variables, operators, functions,
and their arguments that evaluate to a single answer.
For example: prñ +3.
Definitions
¦
Enter an expression in the same order that it
normally is written.
¦
In most places where you are required to enter a
value, you can enter an expression.
Operator
Function
Performs an operation such as +, ì, ù, ^.
¦
Operators require an argument before and after the
operator. For example: 4+5 and 5^2.
Returns a value.
Note: Appendix A describes
all of the TI-89 / TI-92 Plus
built-in functions and
instructions.
¦
Functions require one or more arguments
(enclosed in parentheses) after the function. For
example: ‡(5) and min(5,8).
Instruction Initiates an action.
Note: This guidebook uses
the word command as a
generic reference to both
functions and instructions.
¦
¦
Instructions cannot be used in expressions.
Some instructions do not require an argument. For
example: ClrHome.
¦
Some require one or more arguments. For
example: Circle 0,0,5.
For instructions, do not put the
arguments in parentheses.
The TI-89 / TI-92 Plus recognizes implied multiplication, provided it
does not conflict with a reserved notation.
Implied
Multiplication
If you enter:
The TI.89 / TI.92 Plus interprets it as:
Valid
2p
2ù p
4 sin(46)
4ù sin(46)
5(1+2) or (1+2)5
5ù (1+2) or (1+2)ù 5
[1,2]a
[a 2a]
2(a)
2ù a
Invalid xy
a(2)
a[1,2]
Single variable named xy
Function call
Matrix index to element a[1,2]
26
Chapter 2: Operating the Calculator
Expressions are evaluated according to the Equation Operating
System (EOSé) hierarchy described in Appendix B. To change the
order of evaluation or just to ensure that an expression is evaluated
in the order you require, use parentheses.
Parentheses
Calculations inside a pair of parentheses are completed first. For
example, in 4(1+2), EOS first evaluates (1+2) and then multiplies the
answer by 4.
Type the expression, and then press ¸ to evaluate it. To enter a
function or instruction name on the entry line, you can:
Entering an
Expression
¦
¦
¦
Press its key, if available. For example, press TI.89: 2W or
TI.92 Plus: W.
— or —
Select it from a menu, if available. For example, select 2:abs from
the Number submenu of the MATH menu.
— or —
Type the name letter-by-letter from the keyboard. (On the TI-89,
use j and 2 ™ to type letters.) You can use any mixture
of uppercase or lowercase letters. For example, type sin( or Sin(.
Type the function name in this
example.
Calculate 3.76 ÷ (ë 7.9 + ‡5) + 2 log 45.
Example
On the TI.89:
On the TI.92 Plus:
Display
3.76/(ë 7.9+‡(
3 . 7 6 e
c · 7 . 9
« 2 ]
3 . 7 6 e
c · 7 . 9
« 2 ]
2 ] inserts ‡( because its
argument must be in parentheses.
5 d d
5 d d
3.76/(ë 7.9+‡(5))
Use d once to close ‡(5) and
again to close (ë7.9 + ‡5).
Note: You can also select
log by using
TI.89: ½
TI.92 Plus: 2 ½
(page 44).
« 2
« 2
3.76/(ë 7.9+‡(5))+2log(45)
log requires ( ) around its
argument.
2 ™ L O G j L O G
c 4 5 d
c 4 5 d
¸
¸
Displays last result only.
To enter more than one
expression or instruction
at a time, separate them
with a colon by pressing
2Ë.
Entering Multiple
Expressions on a
Line
! is displayed when you press §
to store a value to a variable.
Chapter 2: Operating the Calculator
27
In the history area, if both the entry and its answer cannot be
displayed on one line, the answer is displayed on the next line.
If an Entry or
Answer Is Too Long
for One Line
If an entry or answer is too long to
fit on one line, ú is displayed at the
end of the line.
To view the entire entry or answer:
1. Press Cto move the cursor from the entry line up into the history
area. This highlights the last answer.
2. As necessary, use Cand Dto highlight the entry or answer you
want to view. For example, Cmoves from answer to entry, up
through the history area.
Note: When you scroll to
the right, 7 is displayed at
the beginning of the line.
3. Use Band Aor 2Band
2Ato scroll right and left.
4. To return to the entry line,
press N.
When you press ¸ to evaluate an expression, the
TI-89 / TI-92 Plus leaves the expression on the entry line and highlights
it. You can continue to use the last answer or enter a new
expression.
Continuing a
Calculation
If you press:
The TI.89 / TI.92 Plus:
«, |, p, e,
Z, or §
Replaces the entry line with the variable ans(1),
which lets you use the last answer as the
beginning of another expression.
Any other key
Erases the entry line and begins a new entry.
Calculate 3.76 ÷ (ë 7.9 + ‡5). Then add 2 log 45 to the result.
Example
On the TI.89:
On the TI.92 Plus:
Display
3 . 7 6 e c · 7 . 9 «
3 . 7 6 e c · 7 . 9 «
2 ] 5 d d ¸
2 ] 5 d d ¸
« 2 2 ™ L O G j « 2 L O G
c 4 5 d
¸
c 4 5 d
¸
When you press «, the entry
line is replaced with the
variable ans(1), which
contains the last answer.
When a calculation is in progress, BUSY appears on the right end of
the status line. To stop the calculation, press ´.
Stopping a
Calculation
There may be a delay before the “break”
message is displayed.
Press Nto return to the current application.
28
Chapter 2: Operating the Calculator
Formats of Displayed Results
A result may be calculated and displayed in any of several
formats. This section describes the TI-89 / TI-92 Plus modes
and their settings that affect the display formats. To check or
change your current mode settings, refer to page 40.
By default, Pretty Print = ON. Exponents, roots, fractions, etc., are
displayed in the same form in which they are traditionally written.
You can use 3to turn pretty print off and on.
Pretty Print Mode
Pretty Print
ON
OFF
xì 3
p
p^2, p/2, ‡((xì 3)/2)
pñ,
,
2
2
The entry line does not show an expression in pretty print. If pretty
print is turned on, the history area will show both the entry and its
result in pretty print after you press ¸.
By default, Exact/Approx = AUTO. You can use 3to select from
three settings.
Exact/Approx Mode
Because AUTO is a combination of
the other two settings, you should be
familiar with all three settings.
Note: By retaining fractional
and symbolic forms, EXACT
reduces rounding errors that
could be introduced by
EXACT — Any result that is not a whole number is displayed in a
fractional or symbolic form (1/2, p, 2, etc.).
Shows whole-number results.
intermediate results in
chained calculations.
Shows simplified fractional results.
Shows symbolic p.
Shows symbolic form of roots that
cannot be evaluated to a whole
number.
Press ¥ ¸ to temporarily
override the EXACT setting and
display a floating-point result.
Chapter 2: Operating the Calculator
29
APPROXIMATE — All numeric results, where possible, are displayed
in floating-point (decimal) form.
Exact/Approx
(continued)
Fractional results are
evaluated numerically.
Note: Results are rounded
to the precision of the
TI-89 / TI-92 Plus and
displayed according to
current mode settings.
Symbolic forms, where
possible, are evaluated
numerically.
Because undefined variables cannot be evaluated, they are
treated algebraically. For example, if the variable r is undefined,
prñ = 3.14159⋅rñ.
AUTO — Uses the EXACT form where possible, but uses the
APPROXIMATE form when your entry contains a decimal point. Also,
certain functions may display APPROXIMATE results even if your
entry does not contain a decimal point.
A decimal in the entry forces a
floating-point result.
Tip: To retain an EXACT
form, use fractions instead
of decimals. For example,
use 3/2 instead of 1.5.
The following chart compares the three settings.
Exact
Result
Approximate
Result
Auto
Result
Entry
8/4
2
4/3
2.
1.33333
25.5
2
4/3
Tip: To evaluate an entry in
APPROXIMATE form,
8/6
regardless of the current
setting, press ¥ ¸.
A decimal in the
entry forces a
floating-point
8.5ù 3
51/2
25.5
2
2
2
2
‡(2)/2
.707107
result in AUTO.
pù 2
2⋅p
6.28319
6.28319
2⋅p
pù 2.
2⋅p
6.28319
30
Chapter 2: Operating the Calculator
By default, Display Digits = FLOAT 6, which means that results are
rounded to a maximum of six digits. You can use 3to select
different settings. The settings apply to all exponential formats.
Display Digits Mode
Internally, the TI-89 / TI-92 Plus calculates and retains all decimal
results with up to 14 significant digits (although a maximum of 12 are
displayed).
Setting
Example
Description
Note: Regardless of the
FIX
(0 – 12)
123.
123.5
123.46
(FIX 0)
(FIX 1)
(FIX 2)
Results are rounded to the
selected number of decimal
places.
Display Digits setting, the
full value is used for internal
floating-point calculations to
ensure maximum accuracy.
123.457 (FIX 3)
FLOAT
123.456789012
Number of decimal places varies,
depending on the result.
Note: A result is
FLOAT
(1 – 12)
1.E 2
1.2E 2
123.
123.5
123.46
(FLOAT 1) Results are rounded to the total
(FLOAT 2) number of selected digits.
(FLOAT 3)
(FLOAT 4)
(FLOAT 5)
automatically shown in
scientific notation if its
magnitude cannot be
displayed in the selected
number of digits.
123.457 (FLOAT 6)
By default, Exponential Format = NORMAL.
You can use 3to select from three
settings.
Exponential Format
Mode
Setting
Example
Description
Note: In the history area, a
number in an entry is
displayed in SCIENTIFIC if
its absolute value is less
than .001.
NORMAL
12345.6
If a result cannot be displayed in the
number of digits specified by the
Display Digits mode, the
TI-89 / TI-92 Plus switches from
NORMAL to SCIENTIFIC for that
result only.
SCIENTIFIC
1.23456E 4
12.3456E 3
1.23456 × 104
Exponent (power of 10).
Always 1 digit to the left of the
decimal point.
ENGINEERING
12.3456 × 103
Exponent is a multiple of 3.
May have 1, 2, or 3 digits to the
left of the decimal point.
Chapter 2: Operating the Calculator
31
Editing an Expression in the Entry Line
Knowing how to edit an entry can be a real time-saver. If you
make an error while typing an expression, it’s often easier to
correct the mistake than to retype the entire expression.
After you press ¸ to evaluate an expression, the TI-89 / TI-92 Plus
leaves that expression on the entry line and highlights it. To edit the
expression, you must first remove the highlight; otherwise, you may
clear the expression accidentally by typing over it.
Removing the
Highlight from the
Previous Entry
To remove the highlight,
move the cursor toward
the side of the expression
you want to edit.
B moves the cursor to the
end of the expression.
A moves the cursor to the beginning.
After removing the highlight, move the cursor to the applicable
position within the expression.
Moving the Cursor
To move the cursor:
Press:
Note: If you accidentally
press C instead of A or B,
the cursor moves up into the
history area. Press N or
press D until the cursor
returns to the entry line.
Left or right within an expression.
Aor B
Hold the pad to
repeat the
movement.
To the beginning of the expression.
To the end of the expression.
2A
2B
Deleting a Character
To delete:
Press:
The character to the
left of the cursor.
0
Hold 0to delete multiple
characters.
The character to the
right of the cursor.
¥ 0
All characters to the
right of the cursor.
M
(once only)
If there are no characters to the
right of the cursor, Merases
the entire entry line.
To clear the entry line, press:
Clearing the Entry
Line
¦
¦
Mif the cursor is at the beginning or end of the entry line.
— or —
MMif the cursor is not at the beginning or end of the
entry line. The first press deletes all characters to the right of the
cursor, and the second clears the entry line.
32
Chapter 2: Operating the Calculator
The TI-89 / TI-92 Plus has both an insert and an overtype mode. By
default, the TI-89 / TI-92 Plus is in the insert mode. To toggle between
the insert and overtype modes, press 2/.
Inserting or
Overtyping a
Character
If the TI.89 / TI.92 Plus is in:
The next character you type:
Will be inserted at the cursor.
Tip: Look at the cursor to
see if you’re in insert or
overtype mode.
Thin cursor between
characters
Will replace the highlighted
character.
Cursor highlights
a character
First, highlight the applicable characters. Then, replace or delete all
the highlighted characters.
Replacing or
Deleting Multiple
Characters
To:
Do this:
Highlight multiple
characters
1. Move the cursor to either side of the
characters you want to highlight.
To replace sin( with cos(, place
the cursor beside sin.
2. Hold ¤ and press Aor Bto highlight
characters left or right of the cursor.
Hold ¤ and press B B B B.
Tip: When you highlight
characters to replace,
remember that some
function keys automatically
add an open parenthesis.
Replace the
highlighted
characters
Type the new characters.
— or —
Delete the
highlighted
characters
Press 0.
Chapter 2: Operating the Calculator
33
Menus
To leave the keyboard uncluttered, the TI-89 / TI-92 Plus uses
menus to access many operations. This section gives an
overview of how to select an item from any menu. Specific
menus are described in the appropriate chapters of this
guidebook.
Displaying a Menu
Press:
To display:
ƒ, „,
etc.
A toolbar menu — Drops down from the toolbar at the
top of most application screens. Lets you select
operations useful for that application.
O
APPLICATIONS menu — Lets you select from a list of
applications. Refer to page 38.
2¿
2I
CHAR menu — Lets you select from categories of
special characters (Greek, math, etc.).
MATH menu — Lets you select from categories of
math operations.
TI.89:
½
CATALOG menu — Lets you select from a complete,
alphabetic list of the TI-89 / TI-92 Plus’s built-in
functions and instructions. Also lets you select user-
defined functions or Flash application functions (if
any have been defined or loaded).
TI.92 Plus:
2 ½
2¾ CUSTOM menu — Lets you access a menu that you
can customize to list any available function,
instruction, or character. The TI-89 / TI-92 Plus includes
a default custom menu, which you can modify or
redefine. Refer to page 37 and to Chapter 17.
To select an item from the displayed menu, either:
Selecting an Item
from a Menu
¦
Press the number or letter shown to the left of that item. For a
letter on the TI-89, press j and then a letter key.
— or —
¦
Use the cursor pad Dand Cto highlight the item, and then press
¸. (Note that pressing Cfrom the first item moves the
highlight to the last item, and vice versa.)
6 indicates that a menu will drop down
from the toolbar when you press „.
To select factor, press 2 or D ¸.
This closes the menu and inserts the
function at the cursor location.
factor(
34
Chapter 2: Operating the Calculator
If you select a menu item ending with ú, a submenu is displayed. You
then select an item from the submenu.
Items Ending with
ú(Submenus)
Note: Because of limited
screen size, the TI-89
overlaps these menus as:
For example, List displays a
submenu that lets you select a
specific List function.
ï indicates that you can use
the cursor pad to scroll down
for additional items.
For items that have a submenu, you can use the cursor pad as
described below.
¦
¦
¦
To display the submenu for the highlighted item, press B.
(This is the same as selecting that item.)
To cancel the submenu without making a selection, press A.
(This is the same as pressing N.)
To wrap to the last menu item directly from the first menu item,
press C. To wrap to the first menu item directly from the last
menu item, press D.
If you select a menu item containing “. . .” (ellipsis marks), a dialog
box is displayed for you to enter additional information.
Items Containing “. . .”
(Dialog Boxes)
For example, Save Copy As ...
displays a dialog box that prompts
you to select a folder name and
type a variable name.
" indicates that you can press B to
display and select from a menu.
An input box indicates that you
must type a value. (Alpha-lock is
automatically turned on for the
TI-89. See page 22.)
After typing in an input box such as Variable, you must
press ¸ twice to save the information and close
the dialog box.
To cancel the current menu without making a selection, press N.
Depending on whether any submenus are displayed, you may need to
press Nseveral times to cancel all displayed menus.
Canceling a Menu
Chapter 2: Operating the Calculator
35
To move from one toolbar menu to another without making a
selection, either:
Moving from One
Toolbar Menu to
Another
¦
¦
Press the key (ƒ, „, etc.) for the other toolbar menu.
— or —
Use the cursor pad to move to the next (press B) or previous
(press A) toolbar menu. Pressing Bfrom the last menu moves to
the first menu, and vice versa.
When using B, be sure that an item with a submenu is not
highlighted. If so, Bdisplays that item’s submenu instead of moving
to the next toolbar menu.
Round the value of p to three decimal places. Starting from a clear
entry line on the Home screen:
Example: Selecting
a Menu Item
1. Press 2Ito display the MATH menu.
2. Press 1 to display the Number
submenu. (Or press ¸ since
the first item is automatically
highlighted.)
3. Press 3 to select round. (Or press
DDand ¸.)
4. Press 2Tb 3 d and then
¸ to evaluate the expression.
Selecting the function in
Step 3 automatically
typed round( on the
entry line.
36
Chapter 2: Operating the Calculator
Using the Custom Menu
The TI-89 / TI-92 Plus has a custom menu that you can turn on
and off at any time. You can use the default custom menu or
create your own as described in Chapter 17: Programming.
When you turn on the custom menu, it replaces the normal toolbar
menu. When you turn it off, the normal menu returns. For example,
from the Home screen’s normal toolbar menu, press 2 ¾ to
toggle the custom menu on and off.
Turning the Custom
Menu On and Off
Note: You can also turn the
custom menu on and off by
entering CustmOn or
2 ¾
CustmOff in the entry line
and pressing ¸.
Home screen normal toolbar menu
Custom menu
Unless the menu has been modified, the default custom menu
appears.
Tip: A custom menu can
give you quick access to
commonly used items.
Chapter 17 shows you how
to create custom menus for
the items you use most
often.
Menu
Function
ƒ Var
Common variable names.
Function names such as f(x), g(x), and f(x,y).
„ f(x)
… Solve
† Unit
Items related to solving equations.
Common units such as _m, _ft, and _l.
Symbols such as #, ?, and ~.
‡ Symbol
Internat’l
Commonly accented characters such as è, é,and ê.
TI.89: 2 ˆ
TI.92 Plus: ˆ
Tool
ClrHome, NewProb, and CustmOff.
TI.89: 2 ‰
TI.92 Plus: ‰
If a custom menu other than the default is displayed and you want to
restore the default:
Restoring the
Default Custom
Menu
1. From the Home screen, use 2 ¾ to turn off the custom
menu and display the Home screen’s normal toolbar menu.
Note: The previous custom
menu is erased. If that menu
was created with a program
(Chapter 17), it can be
recreated later by running
the program again.
2. Display the Clean Up toolbar menu,
and select 3:Restore custom default.
TI.89: 2 ˆ
TI.92 Plus: ˆ
This pastes the commands used to create the default menu into
the entry line.
3. Press ¸ to execute the commands and restore the default.
Chapter 2: Operating the Calculator
37
Selecting an Application
The TI-89 / TI-92 Plus has different applications that let you
solve and explore a variety of problems. You can select an
application from a menu, or you can access commonly used
applications directly from the keyboard.
1. Press Oto display a menu that lists the applications.
From the
APPLICATIONS Menu
2. Select an application. Either:
¦
Use the cursor pad Dor Cto
highlight the application and
then press ¸.
Note: To cancel the menu
without making a selection,
press N.
— or —
¦
Press the number or letter for
that application.
Application:
Lets you:
FlashApps
Display a list of Flash applications, if any.
Y= Editor
Define, edit, and select functions or
equations for graphing (Chapters 6 – 11).
Window Editor
Set window dimensions for viewing a graph
(Chapter 6).
Graph
Table
Display graphs (Chapter 6).
Display a table of variable values that
correspond to an entered function
(Chapter 13).
Data/Matrix Editor
Program Editor
Enter and edit lists, data, and matrices. You
can perform statistical calculations and
graph statistical plots (Chapters 15 and 16).
Enter and edit programs and functions
(Chapter 17).
Text Editor
Enter and edit a text session (Chapter 18).
Numeric Solver
Enter an expression or equation, define
values for all but one variable, and then solve
for the unknown variable (Chapter 19).
Home
Enter expressions and instructions, and
perform calculations.
38
Chapter 2: Operating the Calculator
You can access commonly used applications from the keyboard. On
the TI-89 for example, ¥ # is the same as pressing ¥ and then ƒ.
This guidebook uses the notation ¥ #, similar to the notation used
in second functions.
From the Keyboard
TI-89
Application:
Press:
Applications listed
above ƒ, „ etc.,
are printed in the
same color as ¥.
Home
TI.89: "
TI.92 Plus: ¹ "
Y= Editor
¥ #
Window Editor¥ $
Y=
WINDOW
F2
GRAPH
F3
TBLSet
F4
TABLE
F5
F1
Graph
¥ %
¥ &
Table Setup
Table Screen ¥ '
APPS
HOME
On the TI-92 Plus, applications are listed above the QWERTY keys.
Applications
Diamond key
Chapter 2: Operating the Calculator
39
Setting Modes
Modes control how numbers and graphs are displayed and
interpreted. Mode settings are retained by the Constant
Memoryé feature when the TI-89 / TI-92 Plus is turned off. All
numbers, including elements of matrices and lists, are
displayed according to the current mode settings.
Press 3to display the MODE dialog box, which lists the modes
and their current settings.
Checking Mode
Settings
There are three pages of mode listings.
Press ƒ, „, or … to quickly display a
particular page.
! indicates that you can
press B or A to display
and select from a menu.
Indicates you can
scroll down to see
additional modes.
Note: Modes that are not currently valid are dimmed. For example,
on Page 2, Split 2 App is not valid when Split Screen = FULL. When you
scroll through the list, the cursor skips dimmed settings.
From the MODE dialog box:
Changing Mode
Settings
1. Highlight the mode setting you want to change. Use Dor C(with
ƒ, „, or …) to scroll through the list.
2. Press Bor Ato display a menu that lists the valid settings. The
current setting is highlighted.
Tip: To cancel a menu and
return to the MODE dialog
box without making a
3. Select the applicable setting. Either:
¦
¦
Use Dor Cto highlight the setting and press ¸.
— or —
Press the number or letter for that setting.
selection, press N.
4. Change other mode settings, if necessary.
5. When you finish all your changes, press ¸ to save the
changes and exit the dialog box.
Important: If you press Ninstead of ¸ to exit the MODE
dialog box, any mode changes you made will be canceled.
40
Chapter 2: Operating the Calculator
Overview of the
Modes
Mode
Description
Graph
Type of graphs to plot: FUNCTION, PARAMETRIC,
POLAR, SEQUENCE, 3D, or DE.
Current
Folder
Folder used to store and recall variables. Unless you
have created additional folders, only the MAIN folder
is available. Refer to “Using Folders to Store
Independent Sets of Variables” in Chapter 5.
Note: For detailed
information about a
particular mode, look in the
applicable section of this
guidebook.
Display
Digits
Maximum number of digits (FLOAT) or fixed number
of decimal places (FIX) displayed in a floating-point
result. Regardless of the setting, the total number of
displayed digits in a floating-point result cannot
exceed 12. Refer to page 31.
Angle
Units in which angle values are interpreted and
displayed: RADIAN or DEGREE.
Exponential
Format
Notation used to display results: NORMAL,
SCIENTIFIC, or ENGINEERING. Refer to page 31.
Complex
Format
Format used to display complex results, if any:
REAL (complex results are not displayed unless you
use a complex entry), RECTANGULAR, or POLAR.
Vector
Format
Format used to display 2- and 3-element vectors:
RECTANGULAR, CYLINDRICAL, or SPHERICAL.
Pretty Print
Turns the pretty print display feature OFF or ON.
Refer to page 29.
Split Screen
Splits the screen into two parts and specifies how the
parts are arranged: FULL (no split screen),
TOP-BOTTOM, or LEFT-RIGHT. Refer to Chapter 14.
Split 1 App
Split 2 App
Application in the top or left side of a split screen. If you
are not using a split screen, this is the current application.
Application in the bottom or right side of a split
screen. This is active only for a split screen.
Number of
Graphs
For a split screen, lets you set up both sides of the
screen to display independent sets of graphs.
Graph 2
If Number of Graphs = 2, selects the type of graph in
the Split 2 part of the screen. Refer to Chapter 12.
Split Screen
Ratio
Proportional sizes of the two parts of a split screen:
1:1, 1:2, or 2:1. (TI-92 Plus only)
Exact/Approx Calculates expressions and displays results in
numeric form or in rational/symbolic form: AUTO,
EXACT, or APPROXIMATE. Refer to page 29.
Chapter 2: Operating the Calculator
41
Modes
Mode
Description
(continued)
Base
Lets you perform calculations by entering numbers in
decimal (DEC), hexadecimal (HEX), or binary (BIN) form.
Unit System
Lets you enter a unit for values in an expression,
such as 6_m * 4_m or 23_m/_s * 10_s, convert values
from one unit to another within the same category,
and create your own user-defined units.
Custom Units Lets you select custom defaults. The mode is dimmed
until you select Unit System, 3:CUSTOM.
Language
Lets you localize the TI-89 / TI-92 Plus into one of
several languages, depending on which language
Flash applications are installed.
42
Chapter 2: Operating the Calculator
Using the Clean Up Menu to Start a New Problem
On the Home screen, the Clean Up toolbar menu lets you start
a new calculation from a cleared state without resetting the
TI-89 / TI-92 Plus’s memory.
From the Home screen, display the Clean Up menu by pressing:
TI.89: 2 ˆ
TI.92 Plus: ˆ
Clean Up Toolbar
Menu
Menu Item
Description
Clear a–z
Clears (deletes) all single-character variable names
in the current folder, unless the variables are locked
or archived. You will be prompted to press ¸ to
confirm the action.
Tip: When defining a
variable that you want to
retain, use more than one
character in the name. This
prevents it from being
deleted inadvertently by
1:Clear a–z.
Single-character variable names are often used in
symbolic calculations such as:
solve(aøxñ+bøx+c=0,x)
If any of the variables have already been assigned a
value, your calculation may produce misleading
results. To prevent this, you can select 1:Clear a–z
before beginning the calculation.
Note: For information about
checking and resetting
memory or other system
defaults, refer to
NewProb
Places NewProb in the entry line. You must then
press ¸ to execute the command.
NewProb performs a variety of operations that let you
begin a new problem from a cleared state without
resetting the memory:
Chapter 21.
¦
Clears all single-character variable names in the
current folder (same as 1:Clear a–z), unless the
variables are locked or archived.
¦
¦
Turns off all functions and stat plots (FnOff and
PlotsOff) in the current graphing mode.
Performs ClrDraw, ClrErr, ClrGraph, ClrHome,
ClrIO, and ClrTable.
Restore
custom
default
If a custom menu other than the default is in effect,
this lets you restore the default. Refer to page 37.
Chapter 2: Operating the Calculator
43
Using the Catalog Dialog Box
The CATALOG provides a way to access any built-in
TI-89 / TI-92 Plus command (functions and instructions) from
one convenient list. In addition, the CATALOG dialog box lets
you select functions used in Flash applications or user-defined
functions (if any have been loaded or defined).
To display the CATALOG dialog box, press:
Displaying the
CATALOG
TI.89: ½
TI.92 Plus: 2 ½
The CATALOG defaults to „ Built-in, which displays an alphabetic
list of all pre-installed TI-89 / TI-92 Plus commands (functions and
instructions).
…and † allow access to
Flash application functions
and User-Defined functions
and programs.
Defaults to
„ Built-in.
ƒ Help is reserved for
a future online help
Flash application.
Note: Options that are not currently valid are dimmed. For
example, ƒ Help is reserved for a future online help Flash
application. … Flash Apps is dimmed if you have not installed a
Flash application. † User-Defined is dimmed if you have not
created a function or a program.
When you select a command, its name is inserted in the entry line at
the cursor location. Therefore, you should position the cursor as
necessary before selecting the command.
Selecting a Built-in
Command from the
CATALOG
1. Press:
TI.89: ½
TI.92 Plus: 2 ½
2. Press „ Built-in.
Note: The first time you
display the Built-in list, it
starts at the top of the list.
The next time you display
the list, it starts at the same
place you left it.
¦ Commands are listed in
alphabetical order. Commands that
do not start with a letter
(+, %, ‡, G, etc.) are at the end of
the list.
¦ To exit the CATALOG without
selecting a command, press N.
44
Chapter 2: Operating the Calculator
3. Move the ú indicator to the command, and press ¸.
To move the ú indicator:
Press or type:
Tip: From the top of the list,
press C to move to the
bottom. From the bottom,
press D to move to the top.
One command at a time
Dor C
One page at a time
2Dor 2C
To the first command that
begins with a specified letter
The letter key. (On the TI-89, do
not press j first. If you do,
you need to press j or
2 ™ again before you can
type a letter.)
For the command indicated by ú, the status line shows the required
and optional parameters, if any, and their type.
Information about
Parameters
Indicated command
and its parameters
Brackets [ ] indicate
optional parameters.
Note: For details about the
parameters, refer to that
command’s description in
Appendix A.
From the example above, the syntax for factor is:
factor(expression)
— or —
required
optional
factor(expression,variable)
A Flash application may contain one or more functions. When you
select a function, its name is inserted in the entry line at the cursor
location. Therefore, you should position the cursor as necessary
before selecting the function.
Selecting a Flash
Application
Function
1. Press:
TI.89: ½
TI.92 Plus: 2 ½
2. Press … Flash Apps. (This option is dimmed if no Flash
applications are installed in the TI-89 / TI-92 Plus.)
¦ The list is alphabetized by function
name. The left column lists functions.
The right column lists the Flash
application that contains the function.
¦ Information about a function is
displayed in the status line.
¦ To exit without selecting a function,
press N.
Chapter 2: Operating the Calculator
45
3. Move the ú indicator to the function, and press ¸.
To move the ú indicator:
Press or type:
One function at a time
Dor C
One page at a time
2Dor 2C
To the first function that
The letter key. (On the TI-89, do
begins with a specified letter not press j first. If you do,
you need to press j or
2 ™ again before you can
type a letter.)
You can create your own functions or programs and then use
† User-Defined to access them. For instructions on how to create
functions, see “Creating and Evaluating User-Defined Functions” in
Chapter 5, and “Overview of Entering a Function” in Chapter 17. See
Chapter 17 for instructions on how to create and run a program.
Selecting a
User-Defined
Function or
Program
When you select a function or program, its name is inserted in the
entry line at the cursor location. Therefore, you should position the
cursor as necessary before selecting the function or program.
1. Press:
TI.89: ½
TI.92 Plus: 2 ½
2. Press † User-Defined. (This option is dimmed if you have not
defined a function or created a program.)
Note: Use the VAR-LINK
screen to manage
variables, folders, and
Flash applications. See
Chapter 21.
¦ The list is alphabetized by function /
program name. The left column lists
functions and programs. The right
column lists the folder that contains
the function or program.
¦ If the function or program’s first line is
a comment, the comment text is
displayed in the status line.
¦ To exit without selecting a function or
program, press N.
3. Move the ú indicator to the function or program, and press ¸.
To move the ú indicator:
Press or type:
One function or program at a Dor C
time
One page at a time
2Dor 2C
To the first function or
program that begins with a
specified letter
The letter key. (On the TI-89, do
not press j first. If you do,
you need to press j or
2 ™ again before you can
type a letter.)
46
Chapter 2: Operating the Calculator
Storing and Recalling Variable Values
When you store a value, you store it as a named variable. You
can then use the name instead of the value in expressions.
When the TI-89 / TI-92 Plus encounters the name in an
expression, it substitutes the variable’s stored value.
A variable name:
Rules for Variable
Names
¦
Can use 1 to 8 characters consisting of letters and digits. This
includes Greek letters (but not p), accented letters, and
international letters. Do not include spaces.
−
The first character cannot be a digit.
¦
¦
Can use uppercase or lowercase letters. The names AB22, Ab22,
aB22, and ab22 all refer to the same variable.
Cannot be the same as a name that is preassigned by the
TI-89 / TI-92 Plus. Preassigned names include:
−
Built-in functions (such as abs) and instructions (such as
LineVert). Refer to Appendix A.
−
System variables (such as xmin and xmax, which are used to
store graph-related values). Refer to Appendix B for a list.
Examples
Variable
Description
myvar
a
OK
OK
Log
Log1
Not OK, name is preassigned to the log function.
OK
3rdTotal
circumfer
Not OK, starts with a digit.
Not OK, more than 8 characters.
You can save any TI-89 / TI-92 Plus data type as a variable. For a list of
data types, refer to getType() in Appendix A. Some examples are:
Data Types
Data Types
Expressions
Lists
Examples
2.54, 1.25í 6, 2p, xmin/10, 2+3i, (xì 2)ñ, 2/2
{2 4 6 8}, {1 1 2}
1 0 0
[1 0 0],
Matrices
3 4 6
Character strings
Pictures
“Hello”, “The answer is:”, “xmin/10”
Functions
myfunc(arg), ellipse(x,y,r1,r2)
Chapter 2: Operating the Calculator
47
1. Enter the value you want to store, which can be an expression.
2. Press §. The store symbol (! ) is displayed.
3. Type the variable name.
Storing a Value in a
Variable
Note: TI-89 users should
use j as necessary
when typing variable names.
4. Press ¸.
To store to a variable temporarily, you can use the “with” operator.
Refer to “Substituting Values and Setting Constraints” in Chapter 3.
1. Type the variable name.
Displaying a
Variable
2. Press ¸.
If the variable is undefined, the variable name is shown in the result.
Note: Refer to Chapter 3 for
information about symbolic
manipulation.
In this example, the variable a is
undefined. Therefore, it is used as a
symbolic variable.
1. Type the variable name into the
expression.
Using a Variable in
an Expression
2. Press ¸ to evaluate the
expression.
Tip: To view a list of existing
variable names, use
2 ° as described in
Chapter 21.
The variable’s value
did not change.
If you want the result to replace the
variable’s previous value, you must
store the result.
In some cases, you may want to use a variable’s actual value in an
expression instead of the variable name.
Recalling a
Variable’s Value
1. Press 2£to display a dialog
box.
2. Type the variable name.
3. Press ¸ twice.
In this example, the value stored in num1 will be inserted at the
cursor position in the entry line.
48
Chapter 2: Operating the Calculator
Reusing a Previous Entry or the Last Answer
You can reuse a previous entry by reexecuting the entry “as is”
or by editing the entry and then reexecuting it. You can also
reuse the last calculated answer by inserting it into a new
expression.
When you press ¸ to evaluate an expression, the TI-89 / TI-92 Plus
leaves that expression on the entry line and highlights it. You can
type over the entry, or you can reuse it as necessary.
Reusing the
Expression on the
Entry Line
For example, using a variable, find the square of 1, 2, 3, etc.
As shown below, set the initial variable value and then enter the
variable expression. Next, reenter to increment the variable and
calculate the square.
Tip: Reexecuting an entry
“as is” is useful for iterative
calculations that involve
variables.
On the TI.89:
On the TI.92 Plus:
Display
0 §
2 ™ N U M
¸
0 §
N U M
¸
N U M j « 1 § N U M « 1 §
2 ™ N U M
2 Ë N U M Z 2
¸
N U M
2 Ë N U M Z 2
¸
¸ ¸
¸ ¸
Chapter 2: Operating the Calculator
49
Using the equation A=pr2, use trial and error to find the radius of a
circle that covers 200 square centimeters.
Tip: Editing an entry lets
you make minor changes
without retyping the entire
entry.
The example below uses 8 as the first guess and then displays the
answer in its approximate floating-point form. You can edit and
reexecute using 7.95 and continue until the answer is as accurate as
you want.
On the TI.89:
On the TI.92 Plus:
Display
8 § j R 2 Ë 8 § R 2 Ë
2 ã p ä j R Z 2
2 T R Z 2
¸
¸
¥ ¸
¥ ¸
Note: When the entry
contains a decimal point, the
result is automatically
A ¥ 8
7.95¸
A ¥ .
7.95¸
displayed in floating-point.
You can recall any previous entry that is stored in the history area,
even if the entry has scrolled off the top of the screen. The recalled
entry replaces whatever is currently shown on the entry line. You can
then reexecute or edit the recalled entry.
Recalling a Previous
Entry
To recall:
Press:
Effect:
Note: You can also use the
entry function to recall any
previous entry. Refer to
entry() in Appendix A.
The last entry
(if you’ve changed once
the entry line)
2²
If the last entry is still shown on
the entry line, this recalls the
entry prior to that.
Previous entries
2²
repeatedly
Each press recalls the entry
prior to the one shown on the
entry line.
For example:
If the entry line contains
the last entry, 2 ²
recalls this entry.
If the entry line is edited
or cleared, 2 ²
recalls this entry.
50
Chapter 2: Operating the Calculator
Each time you evaluate an expression, the TI-89 / TI-92 Plus stores the
answer to the variable ans(1). To insert this variable in the entry line,
press 2±.
Recalling the Last
Answer
For example, calculate the area of a garden plot that is 1.7 meters by
4.2 meters. Then calculate the yield per square meter if the plot
produces a total of 147 tomatoes.
1. Find the area.
1.7 p 4.2 ¸
2. Find the yield.
147 e 2 ± ¸
Variable ans(1) is
inserted, and its value is
used in the calculation.
Note: Refer to ans() in
Appendix A.
Just as ans(1) always contains the last answer, ans(2), ans(3), etc.,
also contain previous answers. For example, ans(2) contains the
next-to-last answer.
Chapter 2: Operating the Calculator
51
Auto-Pasting an Entry or Answer from the History Area
You can select any entry or answer from the history area and
“auto-paste” a duplicate of it on the entry line. This lets you
insert a previous entry or answer into a new expression
without having to retype the previous information.
The effect of using auto-paste is similar to 2²and 2± as
described in the previous section, but there are differences.
Why Use Auto-Paste
For entries:
Pasting lets you:
2 ² lets you:
Insert any previous Replace the contents of the
entry into the entry entry line with any previous
line.
entry.
Note: You can also paste
information by using the
ƒ toolbar menu. Refer to
“Cutting, Copying, and
Pasting Information” in
Chapter 5.
For answers:
Pasting lets you:
2 ± lets you:
Insert the displayed Insert the variable ans(1),
value of any
which contains the last
previous answer
into the entry line.
answer only. Each time you
enter a calculation, ans(1) is
updated to the latest answer.
1. On the entry line, place the cursor where you want to insert the
entry or answer.
Auto-Pasting an
Entry or Answer
2. Press Cto move the cursor up into the history area. This
highlights the last answer.
Tip: To cancel auto-paste
and return to the entry line,
press N.
3. Use Cand Dto highlight the entry or answer to auto-paste.
¦
¦
Cmoves from answer to
entry up through the history
area.
You can use Cto highlight
items that have scrolled off
the screen.
Tip: To view an entry or
answer too long for one line
(indicated by ú at the end of
the line), use B and A or
2 B and 2 A.
4. Press ¸.
The highlighted item is inserted
in the entry line.
This pastes the entire entry or answer. If you need only a part of the
entry or answer, edit the entry line to delete the unwanted parts.
52
Chapter 2: Operating the Calculator
Status Line Indicators in the Display
The status line is displayed at the bottom of all application
screens. It shows information about the current state of the
TI-89 / TI-92 Plus, including several important mode settings.
Status Line
Indicators
Graph
Number
(G#1 on the
TI-92 Plus)
Current
Folder
Modifier
Key
Replace
Batteries
Angle
Mode
Graph
Mode
History Pairs,
Busy/Pause,
Locked Variable
Exact/Approx
Mode
Indicator
Meaning
Current
Folder
Shows the name of the current folder. Refer to
“Using Folders to Store Independent Sets of
Variables” in Chapter 5. MAIN is the default folder
that is set up automatically when you use the
TI-89 / TI-92 Plus.
Note: To cancel 2, ¥,
j, or ¤, press the same
key again or press a
Modifier Key Shows which modifier key is in effect, as described
below.
different modifier key.
2nd
2 — will use the second function of the next key
you press.
Note: If the next key you
press does not have a
diamond feature or an
associated letter, the key
performs its normal
operation.
2
¥ — will use the diamond feature of the next key
you press.
(TI-89)
(TI-89)
j — will type the lowercase letter for the next
key you press.
2 ™ — lowercase alpha-lock is on. Until you
turn this off, will type the lowercase letter for each
key you press. To cancel alpha-lock, press j.
(TI-89)
¤ j — uppercase ALPHA-lock is on. Until you
turn this off, will type the uppercase letter for each
key you press. To cancel ALPHA-lock, press j.
+
¤ — will type the uppercase letter for the next key
you press. On the TI-89, you can use ¤ to type a
letter without having to use j.
Angle
Mode
Shows the units in which angle values are
interpreted and displayed. To change the Angle
mode, use the 3key.
RAD
DEG
Radians
Degrees
Chapter 2: Operating the Calculator
53
Status Line
(continued)
Indicator
Meaning
Exact/
Approx
Mode
Shows how answers are calculated and displayed.
Refer to page 29. To change the Exact/Approx mode,
use the 3key.
AUTO
Auto
EXACT
Exact
APPROX
Approximate
Graph
Number
If the screen is split to show two independent graphs,
this indicates which graph is active — GR1 or GR2.
(Displays G#1 or G#2 on the TI-92 Plus.)
Graph
Mode
Indicates the type of graphs that can be plotted. To
change the Graph mode, use the 3key.
FUNC
y(x) functions
PAR
POL
SEQ
3D
x(t) and y(t) parametric equations
r(q) polar equations
u(n) sequences
z(x,y) 3D equations
DE
y'(t) differential equations
Battery
Displayed only when the batteries are getting low. If
BATT is shown with a black background, change the
batteries as soon as possible.
History Pairs, The information shown in this part of the status line
Busy/Pause,
Archived
depends on the application you are using.
Displayed on the Home screen to show the number
of entry/answer pairs in the history area. Refer to
page 24.
23/30
A calculation or graph is in progress.
You paused a graph or program.
BUSY
PAUSE
Œ
The variable opened in the current editor
(Data/Matrix Editor, Program Editor, or Text Editor)
is locked or archived and cannot be modified.
54
Chapter 2: Operating the Calculator
Finding the Software Version and ID Number
In some situations, you may need to find out information about
your TI-89 / TI-92 Plus, particularly the software version and the
unit’s ID number.
From the Home screen, press
ƒ and then select A:About.
Displaying the
“About” Screen
Your screen will be different
than the one shown to the right.
Press ¸ or N to close the
screen.
The information on the About screen is intended for situations
such as:
When Do You Need
this Information?
¦
If you obtain new or upgraded software for your TI-89 / TI-92 Plus,
you may need to provide your current software version and/or the
ID number of your unit.
¦
If you have difficulties with your TI-89 / TI-92 Plus and need to
contact technical support, knowing the software version may
make it easier to diagnose the problem.
Chapter 2: Operating the Calculator
55
56
Chapter 2: Operating the Calculator
Symbolic Manipulation
Preview of Symbolic Manipulation........................................................ 58
Using Undefined or Defined Variables.................................................. 59
Using Exact, Approximate, and Auto Modes ....................................... 61
Automatic Simplification......................................................................... 64
Delayed Simplification for Certain Built-In Functions........................ 66
Substituting Values and Setting Constraints ........................................ 67
Overview of the Algebra Menu............................................................... 70
Common Algebraic Operations.............................................................. 72
Overview of the Calc Menu..................................................................... 75
Common Calculus Operations................................................................ 76
User-Defined Functions and Symbolic Manipulation ......................... 77
If You Get an Out-of-Memory Error....................................................... 79
Special Constants Used in Symbolic Manipulation ............................. 80
3
This chapter is an overview of the fundamentals of using
symbolic manipulation to perform algebraic or calculus
operations.
You can easily perform symbolic calculations from the Home
screen.
Chapter 3: Symbolic Manipulation
57
Preview of Symbolic Manipulation
Solve the system of equations 2x ì 3y = 4 and ë x + 7y = ë 12. Solve the first equation so
that x is expressed in terms of y. Substitute the expression for x into the second equation,
and solve for the value of y. Then substitute the y value back into the first equation to
solve for the value of x.
³
›
TI.89
Keystrokes
TI.92 Plus
Keystrokes
Steps
Display
"
M M
„ 1
¥ "
M M
„ 1
1. Display the Home screen and
clear the entry line. Solve the
equation
2 X | 3 Y Á 4
b X d ¸
2 X | 3 Y Á 4
b X d ¸
2x ì 3y = 4 for x.
„ 1 selects solve( from the Algebra
menu. You can also type solve(
directly from the keyboard or select it
from the Catalog.
„ 1
· X « 7 Y Á
· 1 2 b Y d
„ 1
· X « 7 Y Á
· 1 2 b Y d
2. Begin to solve the equation
ë x + 7y = ë 12 for y, but do not
press ¸ yet.
Í
C ¸
¸
2 Í
C ¸
¸
3. Use the “with” operator to
substitute the expression for x
that was calculated from the
first equation. This gives the
value of y.
The “with” operator is displayed as
on the screen.
|
Use the auto-paste feature to
highlight the last answer in the history
area and paste it to the entry line.
C C C
C C C
4. Highlight the equation for x in
the history area.
¸
Í
C ¸
¸
¸
5. Auto-paste the highlighted
expression to the entry line.
Then substitute the value of y
that was calculated from the
second equation.
2 Í
C ¸
¸
The solution is:
x = ë 8/11 and y = ë 20/11
This example is a demonstration of symbolic manipulation. A one-step function is available for
solving systems of equations. (See page 73.)
58
Chapter 3: Symbolic Manipulation
Using Undefined or Defined Variables
When performing algebraic or calculus operations, it is
important that you understand the effect of using undefined
and defined variables. Otherwise, you may get a number for a
result instead of the algebraic expression that you anticipated.
When you enter an expression that contains a variable, the
TI-89 / TI-92 Plus treats the variable in one of two ways.
How Undefined and
Defined Variables
Are Treated
¦
If the variable is
undefined, it is
treated as an
algebraic symbol.
¦
If the variable is
defined (even if
defined as 0), its value
replaces the variable.
Tip: When defining a
variable, it’s a good practice
to use more than one
character in the name.
Leave one-character names
undefined for symbolic
calculations.
To see why this is important, suppose you want to find the first
derivative of xò with respect to x.
¦
If x is undefined, the
result is in the form
you probably
expected.
¦
If x is defined, the
result may be in a
form you did not
expect.
Unless you knew that 5 had been
stored to x previously, the answer
75 could be misleading.
Determining If a
Variable Is
Undefined
Method:
Example:
If defined, the variable’s
value is displayed.
Enter the variable
name.
Note: Use 2 ° to
view a list of defined
variables, as described in
Chapter 21.
If undefined, the variable
name is displayed.
If defined, the variable’s
type is displayed.
Use the getType
function.
If undefined, “NONE” is
displayed.
Chapter 3: Symbolic Manipulation
59
You can “undefine” a defined variable by deleting it.
Deleting a Defined
Variable
To delete:
Do this:
One or more specified
variables
Use the DelVar function.
You can also delete variables by using the
VAR-LINK screen (2°) as
described in Chapter 21.
Note: For information about
folders, refer to Chapter 5.
All one-letter variables From the Home screen Clean Up menu,
(a – z) in the current
select 1:Clear a-z. You will be prompted to
folder
press ¸ to confirm the deletion.
By using the “with” operator ( | ), you can:
Temporarily
Overriding a
Variable
¦
Temporarily override
a variable’s defined
value.
Note: For more information
about the | operator, refer to
page 67.
¦
Temporarily define a
value for an undefined
variable.
To type the “with” operator ( | ), press:
TI.89: Í
TI.92 Plus: 2 Í
60
Chapter 3: Symbolic Manipulation
Using Exact, Approximate, and Auto Modes
The Exact/Approx mode settings, which are described briefly
in Chapter 2, directly affect the precision and accuracy with
which the TI-89 / TI-92 Plus calculates a result. This section
describes these mode settings as they relate to symbolic
manipulation.
When Exact/Approx = EXACT, the TI-89 / TI-92 Plus uses exact rational
arithmetic with up to 614 digits in the numerator and 614 digits in the
denominator. The EXACT setting:
EXACT
Setting
¦
Transforms irrational numbers to standard forms as much as
possible without approximating them. For example, 12
transforms to 2 3 and ln(1000) transforms to 3 ln(10).
¦
Converts floating-point numbers to rational numbers. For
example, 0.25 transforms to 1/4.
The functions solve, cSolve, zeros, cZeros, factor, ∫, fMin, and fMax
use only exact symbolic algorithms. These functions do not compute
approximate solutions in the EXACT setting.
¦
Some equations, such as 2–x = x, have solutions that cannot all be
finitely represented in terms of the functions and operators on the
TI-89 / TI-92 Plus.
¦
With this kind of equation, EXACT will not compute approximate
solutions. For example, 2–x = x has an approximate solution
x ≈ 0.641186, but it is not displayed in the EXACT setting.
Advantages
Disadvantages
Results are exact.
As you use more complicated rational
numbers and irrational constants,
calculations can:
¦
Use more memory, which may
exhaust the memory before a solution
is completed.
¦
¦
Take more computing time.
Produce bulky results that are harder
to comprehend than a floating-point
number.
Chapter 3: Symbolic Manipulation
61
When Exact/Approx = APPROXIMATE, the TI-89 / TI-92 Plus converts
rational numbers and irrational constants to floating-point. However,
there are exceptions:
APPROXIMATE
Setting
¦
Certain built-in functions that expect one of their arguments to be
an integer will convert that number to an integer if possible. For
example: d(y(x), x, 2.0) transforms to d(y(x), x, 2).
¦
Whole-number floating-point exponents are converted to integers.
For example: x2.0 transforms to x2 even in the APPROXIMATE
setting.
Functions such as solve and ∫ (integrate) can use both exact symbolic
and approximate numeric techniques. These functions skip all or
some of their exact symbolic techniques in the APPROXIMATE
setting.
Advantages
Disadvantages
If exact results are not
needed, this might save
time and/or use less
Results with undefined variables or
functions often exhibit incomplete
cancellation. For example, a coefficient
memory than the EXACT that should be 0 might be displayed as a
setting.
small magnitude such as 1.23457E-11.
Approximate results are
sometimes more
compact and
comprehensible than
exact results.
Symbolic operations such as limits and
integration are less likely to give
satisfying results in the APPROXIMATE
setting.
Approximate results are sometimes less
If you do not plan to use compact and comprehensible than exact
symbolic computations,
approximate results are
similar to familiar,
traditional numeric
calculators.
results. For example, you may prefer to
see 1/7 instead of .142857.
62
Chapter 3: Symbolic Manipulation
When Exact/Approx = AUTO, the TI-89 / TI-92 Plus uses exact rational
arithmetic wherever all of the operands are rational numbers.
Otherwise, floating-point arithmetic is used after converting any
rational operands to floating-point. In other words, floating-point is
“infectious.” For example:
AUTO Setting
1/2 − 1/3 transforms to 1/6
but
0.5 − 1/3 transforms to .16666666666667
This floating-point infection does not leap over barriers such as
undefined variables or between elements of lists or matrices. For
example:
(1/2 - 1/3) x + (0.5 − 1/3) y transforms to x/6 + .16666666666667 y
and
{1/2 - 1/3, 0.5 − 1/3} transforms to {1/6, .16666666666667}
In the AUTO setting, functions such as solve determine as many
solutions as possible exactly, and then use approximate numerical
methods if necessary to determine additional solutions. Similarly,
‰ (integrate) uses approximate numerical methods if appropriate
where exact symbolic methods fail.
Advantages
Disadvantages
You see exact results
when practical, and
approximate numeric
results when exact
If you are interested only in exact
results, some time may be wasted
seeking approximate results.
If you are interested only in approximate
results, some time may be wasted
seeking exact results. Moreover, you
might exhaust the memory seeking those
exact results.
results are impractical.
You can often control
the format of a result by
choosing to enter some
coefficients as either
rational or floating-point
numbers.
Chapter 3: Symbolic Manipulation
63
Automatic Simplification
When you type an expression on the entry line and press
¸, the TI-89 / TI-92 Plus automatically simplifies the
expression according to its default simplification rules.
All of the following rules are applied automatically. You do not see
intermediate results.
Default
Simplification Rules
¦
If a variable has a defined value, that value replaces the variable.
If the variable is defined in terms
of another variable, the variable
is replaced with its “lowest level”
value (called infinite lookup).
Note: For information about
folders, refer to Chapter 5.
Default simplification does not modify variables that use path
names to indicate a folder. For example, x+class\x does not
simplify to 2x.
Note: Refer to “Delayed
Simplification for Certain
Built-In Functions” on
page 66.
¦
For functions:
−
The arguments are simplified. (Some built-in functions delay
simplification of some of their arguments.)
−
If the function is a built-in or user-defined function, the
function definition is applied to the simplified arguments.
Then the functional form is replaced with this result.
¦
¦
Numeric subexpressions are
combined.
Products and sums are sorted
into order.
Products and sums involving undefined variables are sorted
according to the first letter of the variable name.
−
Undefined variables r through z are assumed to be true
variables, and are placed in alphabetical order at the
beginning of a sum.
−
Undefined variables a through q are assumed to represent
constants, and are placed in alphabetical order at the end of a
sum (but before numbers).
¦
Similar factors and similar terms
are collected.
64
Chapter 3: Symbolic Manipulation
¦
Identities involving zeros and ones
are exploited.
This floating-point number
causes numeric results to
be shown as floating-point.
If a floating-point whole
number is entered as an
exponent, it is treated as
an integer (and does not
produce a floating-point
result).
¦
¦
Polynomial greatest common
divisors are canceled.
Polynomials are expanded unless
no key cancellation can occur.
No key cancellation
¦
¦
Common denominators are
formed unless no key cancellation
can occur.
No key cancellation
Functional identities are
exploited. For example:
ln(2x) = ln(2) + ln(x)
and
sin(x)ñ + cos(x)ñ = 1
Depending on the complexity of an entry, result, or intermediate
expression, it can take a long time to expand an expression and
cancel common divisors as necessary for simplification.
How Long Is the
Simplification
Process?
To interrupt a simplification process that is taking too long,
press ´. You can then try simplifying only a portion of the
expression. (Auto-paste the entire expression on the entry line, and
then delete the unwanted parts.)
Chapter 3: Symbolic Manipulation
65
Delayed Simplification for Certain Built-In Functions
Usually, variables are automatically simplified to their lowest
possible level before they are passed to a function. For certain
functions, however, complete simplification is delayed until
after the function is performed.
Functions that use delayed simplification have a required var
argument that performs the function with respect to a variable.
These functions have at least two arguments with the general form:
Functions that Use
Delayed
Simplification
function(expression, var [, ... ])
Note: Not all functions that
use a var argument use
delayed simplification.
For example: solve(x^2ì xì 2=0,x)
d(x^2ì xì 2,x)
‰(x^2ì xì 2,x)
limit(xñ ì xì 2,x,5)
For a function that uses delayed simplification:
1. The var variable is simplified to the lowest level at which it
remains a variable (even if it could be further simplified to a
non-variable value).
2. The function is performed using the variable.
Note: You may or may not
want to define a numeric
value for var, depending on
the situation.
3. If var can be further simplified, that value is then substituted into
the result.
For example:
x cannot be simplified.
Note: The example to the
right finds the derivative of
xò at x=5. If xò was initially
simplified to 75, you would
find the derivative of 75,
which is not what you want.
x is not simplified. The
function uses xò, and
then substitutes 5 for x.
x is simplified to t. The
function uses tò.
x is simplified to t. The
function uses tò, and
then substitutes 5 for t.
66
Chapter 3: Symbolic Manipulation
Substituting Values and Setting Constraints
The “with” operator ( | ) lets you temporarily substitute values
into an expression or specify domain constraints.
To type the “with” operator ( | ), press:
Typing the “With”
Operator
TI.89: Í
TI.92 Plus: 2 Í
For every occurrence of a
specified variable, you can
substitute a numeric value or an
expression.
Substituting for a
Variable
First derivative of xìò at x = 5
To substitute for multiple
variables at the same time, use
the Boolean and operator.
For every occurrence of a simple
expression, you can substitute a
variable, numeric value, or
another expression.
Substituting for a
Simple Expression
Substituting s for sin(x) shows that
the expression is a polynomial in
terms of sin(x).
Note: acos(x) is different
from a*cos(x).
By replacing a commonly used
(or long) term, you can display
results in a more compact form.
You can substitute complex
values just as you would for other
values.
Substituting
Complex Values
Note: For an overview of
complex numbers, refer to
Appendix B.
All undefined variables are treated as real numbers in symbolic
calculations. To perform complex symbolic analysis, you must define
a complex variable. For example:
Tip: To get the complex i,
press 2 ). Do not simply
type the letter i on the
keyboard.
x+yi! z
Then you can use z as a complex variable. You can also use z_. For
more information see the _ (underscore) topic in Appendix A.
Chapter 3: Symbolic Manipulation
67
Only x2 was replaced, not x4 .
¦
Substitution occurs only
where there is an exact
match for the substitution.
Be Aware of the
Limitations of
Substitutions
Define the substitution in
simpler terms for a more
complete substitution.
¦
Infinite recursions can occur when you define a substitution
variable in terms of itself.
Substitutes sin(x+1), sin(x+1+1), sin(x+1+1+1), etc.
sin(x)|x=x+1
When you enter a substitution that causes an infinite recursion:
−
An error message is
displayed.
−
When you press N, an
error is shown in the
history area.
¦
Internally, an expression is sorted according to the automatic
simplification rules. Therefore, products and sums may not match
the order in which you entered them.
Tip: Use the solve function
to help determine the single-
variable substitution.
−
As a general rule, you
should substitute for a
single variable.
No match for substitution
−
Substituting for more
general expressions
(either mø cñ =e
or cñ ø m=e) may not work
as you anticipate.
68
Chapter 3: Symbolic Manipulation
Many identities and transformations are valid for only a particular
domain. For example:
Specifying Domain
Constraints
ln(xù y) = ln(x) + ln(y)
only if x and/or y is not negative
sinê (sin(q)) = q
only if q ‚ ë p/2 and q p/2 radians
Use the “with” operator to specify the domain constraint.
Because ln(xùy) = ln(x) + ln(y) is not always
valid, the logarithms are not combined.
Tip: Enter ln(xù y) instead of
ln(xy); otherwise, xy is
interpreted as a single
variable named xy.
With a constraint, the identity is valid
and the expression is simplified.
Because sinê(sin(q)) = q is not always
valid, the expression is not simplified.
Tip: For ‚ or , press ¥ Ã
or ¥ Â. You can also use
2 I 8 or 2 ¿ 2 to
select them from a menu.
With a constraint, the expression can
be simplified.
In many cases, you can
achieve the same effect
as a substitution by
Using Substitutions
vs. Defining a
Variable
defining the variable.
However, substitution is preferable for most cases because the
variable is defined only for the current calculation and does not
accidentally affect later calculations.
Substituting x=1 does
not affect the next
calculation.
Storing 1!x affects
the subsequent
calculations.
Caution: After x is defined,
it can affect all calculations
that involve x (until you
delete x).
Chapter 3: Symbolic Manipulation
69
Overview of the Algebra Menu
You can use the „ Algebra toolbar menu to select the most
commonly used algebraic functions.
From the Home screen, press „ to display:
The Algebra Menu
This menu is also available from the MATH
menu. Press 2I and then select
9:Algebra.
Note: For a complete
description of each function
and its syntax, refer to
Appendix A.
Menu Item
Description
solve
Solves an expression for a specified variable. This
returns real solutions only, regardless of the
Complex Format mode setting. Displays answers with
"and" and "or" connecting solutions. (For complex
solutions, select A:Complex from the Algebra menu.)
factor
Factors an expression with respect to all its
variables or with respect to only a specified
variable.
expand
Expands an expression with respect to all its
variables or with respect to only a specified
variable.
zeros
Determines the values of a specified variable that
make an expression equal to zero. Displays in a list.
approx
Evaluates an expression using floating-point
arithmetic, where possible. This is equivalent to
using 3 to set Exact/Approx = APPROXIMATE
(or using ¥ ¸ to evaluate an expression).
comDenom
Calculates a common denominator for all terms in
an expression and transforms the expression into a
reduced ratio of a numerator and denominator.
propFrac
nSolve
Returns an expression as a proper fraction
expression.
Calculates a single solution for an equation as a
floating-point number (as opposed to solve, which
may display several solutions in a rational or
symbolic form).
70
Chapter 3: Symbolic Manipulation
Menu Item
Description
Trig
Displays the submenu:
tExpand Expands trig expressions with angle sums
and multiple angles.
tCollect
Collects the products of integer powers of
trig functions into angle sums and
multiple angles. tCollect is the opposite of
tExpand.
Complex
Extract
Displays the submenu:
These are the same as solve, factor, and zeros; but
they also compute complex results.
Displays the submenu:
getNum Applies comDenom and then returns the
resulting numerator.
getDenom Applies comDenom and then returns the
resulting denominator.
Note: The left and right
functions are also used to
return a specified number of
elements or characters from
the left or right side of a list
or character string.
left
Returns the left-hand side of an equation
or inequality.
right
Returns the right-hand side of an equation
or inequality.
Chapter 3: Symbolic Manipulation
71
Common Algebraic Operations
This section gives examples for some of the functions
available from the „ Algebra toolbar menu. For complete
information about any function, refer to Appendix A. Some
algebraic operations do not require a special function.
You can add or divide
polynomials directly, without
using a special function.
Adding or Dividing
Polynomials
Use the factor („ 2) and expand („ 3) functions.
Factoring and
Expanding
Polynomials
factor(expression [,var])
for factoring with respect to a variable
expand(expression [,var])
for partial expansion with respect to a variable
Factor x5 ì 1. Then expand the
result.
Notice that factor and expand
perform opposite operations.
The factor („ 2) function lets you do more than simply factor an
algebraic polynomial.
Finding Prime
Factors of a Number
You can find prime factors of a
rational number (either an integer
or a ratio of integers).
With the expand („ 3) function’s optional var value, you can do a
partial expansion that collects similar powers of a variable.
Finding Partial
Expansions
Do a full expansion of (xñ ì x)
(yñ ì y) with respect to all
variables.
Then do a partial expansion with
respect to x.
72
Chapter 3: Symbolic Manipulation
Use the solve („ 1) function to solve an equation for a specified
variable.
Solving an Equation
solve(equation, var)
Solve x + y ì 5 = 2x ì 5y
for x.
Notice that solve displays
only the final result.
To see intermediate results, you can manually solve the equation
step-by-step.
x « y | 5 Á 2x | 5y
Note: An operation such as
| 2 Ù subtracts 2x from
both sides.
| 2 x
| y
« 5
p · 1
Consider a set of two equations with
two unknowns:
2x ì 3y = 4
ë x + 7y = ë 12
Solving a System of
Linear Equations
To solve this system of equations, use any of the following methods.
Method
Example
Use the solve function
solve(2xì3y=4 and ëx+7y=ë12,{x,y})
for a one-step solution.
Use the solve function Refer to the preview at the beginning of
Note: The simult and rref
matrix functions are not on
the „ Algebra menu. Use
2 I 4 or the Catalog.
with substitution ( | )
for step-by-step
manipulation.
this chapter, which solved for x = ë 8/11
and y = ë 20/11.
Use the simult function Enter the coefficients as a matrix and the
with a matrix.
results as a constant column matrix.
Use the rref function
with a matrix.
Enter the coefficients as an augmented
matrix.
Chapter 3: Symbolic Manipulation
73
Use the zeros („ 4) function.
Finding the Zeros of
an Expression
zeros(expression, var)
Tip: For ‚ or , type ¥ Ã or
¥ Â.You can also use
2 I 8 or 2 ¿ 2 to
select them from a menu.
Use the expression
x ù sin(x) + cos(x).
Find the zeros with respect to x
Use the “with”
operator to specify
the interval.
in the interval 0 x and x 3.
Use the propFrac („ 7) and comDenom („ 6) functions.
Finding Proper
Fractions and
Common
propFrac(rational expression [,var])
for proper fractions with respect
Denominators
to a variable
comDenom(expression [,var])
for common denominators that collect
similar powers of this variable
Note: You can use
comDenom with an
expression, list, or matrix.
Find a proper fraction for the
expression
(x4ì 2xñ + x) / (2xñ + x + 4).
Then transform the answer into
a ratio of a fully expanded
numerator and a fully expanded
denominator.
Notice that propFrac and
comDenom perform opposite
operations.
If you do this example on your
TI-89 / TI-92 Plus, the propFrac
function scrolls off the top of the
screen.
In this example:
31 x + 60
¦
¦
is the remainder of x4ì 2xñ +x divided by 2xñ +x+4.
8
xñ
x
4
ì
ì 15/8 is the quotient.
2
74
Chapter 3: Symbolic Manipulation
Overview of the Calc Menu
You can use the … Calc toolbar menu to select commonly
used calculus functions.
From the Home screen, press … to display:
The Calc Menu
This menu is also available from the MATH
menu. Press 2I and then select
A:Calculus.
Note: For a complete
description of each function
and its syntax, refer to
Appendix A.
Menu Item
Description
d differentiate
Differentiates an expression with respect to a
specified variable.
Note: The d symbol for
differentiate is a special
symbol. It is not the same as
typing the letter D on the
keyboard. Use … 1 or
2 =.
‰ integrate
limit
Integrates an expression with respect to a specified
variable.
Calculates the limit of an expression with respect to
a specified variable.
G sum
Π product
fMin
Evaluates an expression at discrete variable values
within a range and then calculates the sum.
Evaluates an expression at discrete variable values
within a range and then calculates the product.
Finds candidate values of a specified variable that
minimize an expression.
fMax
Finds candidate values of a specified variable that
maximize an expression.
arcLen
taylor
Returns the arc length of an expression with respect
to a specified variable.
Calculates a Taylor polynomial approximation to an
expression with respect to a specified variable.
nDeriv
nInt
Calculates the numerical derivative of an expression
with respect to a specified variable.
Calculates an integral as a floating-point number
using quadrature (an approximation using weighted
sums of integrand values).
deSolve
Symbolically solves many 1st and 2nd order
differential equations, with or without initial
conditions.
Chapter 3: Symbolic Manipulation
75
Common Calculus Operations
This section gives examples for some of the functions
available from the … Calc toolbar menu. For complete
information about any calculus function, refer to Appendix A.
Use the ‰ integrate (… 2) and d differentiate (… 1) functions.
Integrating and
Differentiating
‰ (expression, var [,low] [,up])
lets you specify limits or a
constant of integration
d (expression, var [,order])
Note: You can integrate an
expression only; you can
differentiate an expression,
list, or matrix.
Integrate xñ ù sin(x) with respect
to x.
Differentiate the answer with
respect to x.
To get d, use … 1 or 2 =.
Do not simply type the letter D
on the keyboard.
Use the limit (… 3) function.
Finding a Limit
limit(expression, var, point [,direction])*
negative = from left
positive = from right
omitted or 0 = both
Note: You can find a limit
for an expression, list, or
matrix.
Find the limit of sin(3x) / x as x
approaches 0.
Use the taylor (… 9) function.
taylor(expression, var, order [,point])
if omitted, expansion point is 0
Finding a Taylor
Polynomial
Important: Degree-mode
scaling by p/180 may cause
calculus application results
to appear in a different form.
Find a 6th order Taylor
polynomial for sin(x) with
respect to x.
Store the answer as a user-
defined function named y1(x).
Then graph sin(x) and the Taylor
Graph sin(x):Graph y1(x)
polynomial.
76
Chapter 3: Symbolic Manipulation
User-Defined Functions and Symbolic Manipulation
You can use a user-defined function as an argument for the
TI-89 / TI-92 Plus’s built-in algebra and calculus functions.
Refer to:
For Information
about Creating a
User-Defined
Function
¦
¦
“Creating and Evaluating User-Defined Functions” in Chapter 5.
“Graphing a Function Defined on the Home Screen” and
“Graphing a Piecewise Defined Function” in Chapter 12.
¦
“Overview of Entering a Function” in Chapter 17.
You can use functions such as f(x), g(t), r(q), etc., that have not been
assigned a definition. These “undefined” functions yield symbolic
results. For example:
Undefined
Functions
Tip: To select d from the
Calc toolbar menu, press
… 1 (or press 2 = on the
keyboard).
Use DelVar to ensure that f(x)
and g(x) are not defined.
Then find the derivative of
f(x)ù g(x) with respect to x.
You can use user-defined functions consisting of a single expression.
For example:
Single-Statement
Functions
¦
Use § to create a user-defined secant function, where:
1
sec(x) =
cos(x)
Tip: To select limit from the
Calc toolbar menu, press
… 3.
Then find the limit of sec(x)
as x approaches p/4.
¦
Use Define to create a user-defined function h(x), where:
x
Define h(x)= ‰(sin(t)/t,t,0,x).
⌠
0
h(x)= sin(t) / t
Tip: To select ‰ from the
Calc toolbar menu, press
… 2 (or press 2 < on the
keyboard). To select taylor,
press … 9.
⌡
Then find a 5th order Taylor
polynomial for h(x) with
respect to x.
Chapter 3: Symbolic Manipulation
77
Multi-statement user-defined functions should be used as an
argument for numeric functions (such as nDeriv and nInt) only.
Multi-Statement vs.
Single-Statement
Functions
In some cases, you may be able to create an equivalent single-
statement function. For example, consider a piecewise function with
two pieces.
When:
Use expression:
x < 0
ë x
x ‚ 0
5 cos(x)
Tip: You can use your
computer keyboard to type
lengthy text and then use
TI-GRAPH LINK to send it to
the TI-89 / TI 92-Plus. See
Chapter 18 for more
¦
If you were to create a multi-statement user-defined function with
the form:
Func
If x<0 Then
Return ë x
Define y1(x)=Func:If x<0 Then: ... :EndFunc
information.
Else
Return 5cos(x)
EndIf
EndFunc
Then numerically
integrate y1(x) with
respect to x.
Tip: To select nInt from the
Calc toolbar menu, press
… B:nInt.
¦
Create an equivalent single-statement user-defined function.
Define y1(x)=when(x<0,ëx, 5cos(x))
Use the
TI-89 / TI-92 Plus’s
built-in when
function.
Tip: To select ‰ from the
Calc toolbar menu, press
… 2 (or press 2 < on the
keyboard).
Then integrate y1(x)
with respect to x.
Press ¥ ¸ for a
floating-point result.
78
Chapter 3: Symbolic Manipulation
If You Get an Out-of-Memory Error
The TI-89 / TI-92 Plus stores intermediate results in memory and
then deletes them when the calculation is complete. Depending
on the complexity of the calculation, the TI-89 / TI-92 Plus may run
out of memory before a result can be calculated.
¦
¦
Delete unneeded variables and/or Flash applications, particularly
large-sized ones.
Freeing Up Memory
−
Use 2° as described in Chapter 21 to view and
delete variables and/or Flash applications.
On the Home screen:
−
−
Clear the history area (ƒ 8) or delete unneeded history pairs.
You can also use ƒ 9 to reduce the number of history pairs
that will be saved.
¦
Use 3 to set Exact/Approx = APPROXIMATE. (For results that have
a large number of digits, this uses less memory than AUTO or EXACT.
For results that have only a few digits, this uses more memory.)
¦
¦
Split the problem into parts.
Simplifying
Problems
−
Split solve(aù b=0,var) into solve(a=0,var) and solve(b=0,var).
Solve each part and combine the results.
If several undefined variables occur only in a certain
combination, replace that combination with a single variable.
−
If m and c occur only as mù cñ, substitute e for mù cñ.
(a+b)ñ + (a+b)ñ
−
In the expression
, substitute c for (a+b) and
1 ì (a+b)ñ
cñ + cñ
use
. In the solution, replace c with (a+b).
1 ì cñ
¦
For expressions combined over a common denominator, replace
sums in denominators with unique new undefined variables.
x
y
−
In the expression
+
, substitute d for
añ +bñ + c
añ +bñ + c
x
y
añ +bñ + c and use
+
. In the solution, replace d with
d
d
añ +bñ + c.
¦
Substitute known numeric values for undefined variables at an
earlier stage, particularly if they are simple integers or fractions.
¦
¦
Reformulate a problem to avoid fractional powers.
Omit relatively small terms to find an approximation.
Chapter 3: Symbolic Manipulation
79
Special Constants Used in Symbolic Manipulation
The result of a calculation may include one of the special
constants described in this section. In some cases, you may
also need to enter a constant as part of your entry.
x=x is true for any value of x.
These indicate the result
of an identity or a
true, false
Boolean expression.
5<3 is false.
A solution is at every integer
multiple of p.
This notation indicates
an “arbitrary integer”
that represents any
integer.
@n1 ... @n255
For @, press:
TI.89: ¥ §
TI.92 Plus: 2 R
When an arbitrary
integer occurs multiple
times in the same
session, each
Both @n1 and @n2 represent
any arbitrary integer, but this
notation identifies separate
arbitrary integers.
occurrence is numbered
consecutively. After it
reaches 255, arbitrary
integer consecutive
numbering restarts at
@n0. Use Clean Up
2:NewProb to reset to
@n1.
ˆ represents infinity,
and e represents the
constant 2.71828...
(base of the natural
logarithms).
, e
ˆ
For ˆ, press:
TI.89: ¥ *
TI.92 Plus: 2 *
For e, press:
These constants are
often used in entries as
well as results.
TI.89: ¥ s
TI.92 Plus: 2 s
This indicates that the result is undefined.
undef
Mathematically undefined
„ˆ (undetermined sign)
Non-unique limit
80
Chapter 3: Symbolic Manipulation
Constants and Measurement Units
Preview of Constants and Measurement Units.................................... 82
Entering Constants or Units ................................................................... 83
Converting from One Unit to Another................................................... 85
Setting the Default Units for Displayed Results .................................. 87
Creating Your Own User-Defined Units................................................ 88
List of Pre-Defined Constants and Units............................................... 89
4
The UNITS dialog box lets you select the available constants or
units from different categories.
Note: Constant and unit
names always begin with an
underscore _.
This category lists
constant values.
Remaining categories
list available units.
Page 3 (…) of the MODE dialog box lets you select from three
systems of measurement to specify the default units for displayed
results.
International system of
measurements (metric or
MKS) – meters, kilograms, etc.
Note: You can also use
getUnits() to get a list of the
default units or setUnits() to
set the default units. Refer
to Appendix A.
pounds, etc.
English system – feet,
Lets you select the units you
want to use.
By using the unit features, you can:
¦
Enter a unit for values in an expression, such as 6_m ù 4_m or
23_m/_s ù 10_s. The result is displayed in the selected default
units.
¦
¦
Convert values from one unit to another within the same
category.
Create your own user-defined units. These can be a
combination of existing units or unique “standalone” units.
Chapter 4: Constants and Measurement Units 81
Preview of Constants and Measurement Units
Using the equation f = mù a, calculate the force when m = 5 kilograms and a = 20
meters/secondñ. What is the force when a = 9.8 meters/secondñ. (This is the
acceleration due to gravity, which is a constant named _g). Convert the result from
newtons to kilograms of force.
³
›
TI-89
Keystrokes
TI-92 Plus
Keystrokes
Steps
Display
3 … B 1
¸
3 … B 1
¸
1. Display the MODE dialog box,
Page 3. For Unit System mode,
select SI for the metric system of
measurements.
Results are displayed according to
these default units.
2 9 D B M ¥ 9 D B M
2. Create an acceleration unit for
meters/second2 named _ms2.
¸
¸
e 2 9
D D D B S
¸
Z 2 §
¥
e ¥ 9
D D D B S
¸
Z 2 §
2
The UNITS dialog box lets you select
units from an alphabetical list of
categories. You can use 2 D and
2 C to scroll one page at a time
through the categories.
Now, instead of re-entering _m/_sñ
each time you need it, you can use
_ms2.
2 ™ M S
j 2 ¸
M S
2 ¸
If you use the UNITS
dialog box to select a
unit, the _ is entered
automatically.
Also, you can now use the UNITS
dialog box to select _ms2 from the
Acceleration category.
5 ¥
2 ™ K G
j p 2 0
5 2
K G
p 2 0
3. Calculate the force when
m = 5 kilograms (_kg) and
a = 20 meters/second2 (_ms2).
¥ 2 ™ 2
If you know the abbreviation for a
unit, you can type it from the
keyboard.
M S j 2
M S 2
¸
¸
5 ¥
2 ™ K G
j p
5 2
K G
p
4. Using the same m, calculate the
force for an acceleration due to
gravity (the constant _g).
2 9 B
j G
¸ ¸
¥ 9 B
G
¸ ¸
For _g, you can use the pre-defined
constant available from the UNITS
dialog box or you can type _g.
B 2 ¥
2 ™ K G F K G F
j ¸
B 2 2
5. Convert to kilograms of force
(_kgf).
¸
2 displays the 4 conversion
operator.
82
Chapter 4: Constants and Measurement Units
Entering Constants or Units
You can use a menu to select from a list of available constants
and units, or you can type them directly from the keyboard.
The following shows how to select a unit, but you can use the same
general procedure to select a constant.
From a Menu
From the Home screen:
1. Type the value or expression.
6.3
2. Display the UNITS dialog box.
Press:
TI.89: 2 À
TI.92 Plus: ¥ 9
Tip: Use 2 D and 2 C
to scroll one page at a time
through the categories.
3. Use D and C to move the cursor
to the applicable category.
4. To select the highlighted (default)
unit, press ¸.
Note: If you created a user-
defined unit for an existing
category (page 88), it is
listed in the menu.
– or –
To select a different unit from the
category, press B. Then highlight
the applicable unit, and press
¸.
You can also move the
cursor by typing the first
letter of a unit.
The selected unit is placed in the
entry line. Constant and unit names
always begin with an underscore (_).
6.3_pF
If you know the abbreviation that the TI-89 / TI-92 Plus uses for a
particular constant or unit (refer to the list that begins on page 89),
you can type it directly from the keyboard. For example:
From the Keyboard
Note: You can type units in
either uppercase or
lowercase characters.
256_m
The first character must be an underscore ( _ ). For _, press:
TI.89: ¥
TI.92 Plus: 2
¦
A space or a multiplication symbol (ù ) before the underscore is
optional. For example, 256_m, 256 _m, and 256ù _m are
equivalent.
−
However, if you are adding units to a variable, you must put a
space or ù before the underscore. For example, x_m is treated
as a variable, not as x with a unit.
Chapter 4: Constants and Measurement Units 83
You may need to combine two or more units from different
categories.
Combining Multiple
Units
For example, suppose you want
to enter a velocity in meters per
second. In the UNITS dialog
box, however, the Velocity
category does not contain this
unit.
Tip: Create a user-defined
unit (page 88) for frequently
used combinations.
You can enter meters per
second by combining _m and
_s from the Length and Time
categories, respectively.
3ù 9.8_m/_s
Combine the units _m
and _s. There is no pre-
defined _m/_s unit.
In a calculation, you may need to use parentheses ( ) to group a value
and its units so that they are evaluated properly. This is particularly
true for division problems. For example:
Using Parentheses
with Units in a
Calculation
To calculate:
Enter:
Tip: If you have any doubt
about how a value and its
units will be evaluated,
group them within
100_m
2_s
_m
_s
100_m/(2_s)
50.ø
You must use parentheses for (2_s).
This is important for division.
parentheses ( ).
If you omit the parentheses, you will get
unexpected units. For example:
100_m/2_s
50.ø_mø_s
Here’s why you get unexpected units if you do not use parentheses.
In a calculation, a unit is treated similar to a variable. For example:
100_m is treated as 100ù _m
and
2_s is treated as 2ù _s
Without parentheses, the entry is calculated as:
100ù _m
100ù _m / 2ù _s =
ù _s = 50.ø_mø_s
2
84
Chapter 4: Constants and Measurement Units
Converting from One Unit to Another
You can convert from one unit to another in the same
category, including any user-defined units (page 88).
If you use a unit in a calculation, it is converted and displayed
automatically in the current default unit for that category, unless you
use the 4 conversion operator as described later. The following
examples assume that your default units are set to the SI system of
metric units (page 87).
For All Units Except
Temperature
Note: For a list of pre-
defined units, see page 89.
To multiply 20 times
6 kilometers.
Tip: From the UNITS dialog
box, you can select
available units from a menu.
20ù 6_km
Shown in the default unit for
Length, (_m in SI system).
If you want to convert to a unit other than the default, use the
4 conversion operator.
expression_unit1 4 _unit2
For 4, press 2 .
To convert 4 light years to
kilometers:
4_ltyr 4 _km
To convert 186000 miles/second
to kilometers/hour:
186000_mi/_s 4 _km/_hr
If an expression uses a combination of units, you can specify a
conversion for some of the units only. Any units for which you do not
specify a conversion will be displayed according to your defaults.
To convert 186000 miles/second
from miles to kilometers:
Because a Time conversion is
not specified, it is shown in its
default unit (_s in this example).
186000_mi/_s 4 _km
To convert 186000 miles/second
from seconds to hours:
186000_mi/_s 4 1/_hr
Because a Length conversion is
not specified, it is shown in its
default unit (_m in this example).
Chapter 4: Constants and Measurement Units 85
To enter meters per second
squared:
27_m/_s^2
To convert meters per second
squared from seconds to hours:
27_m/_s^2 41/_hr^2
To convert a temperature value, you must use tmpCnv() instead of
the 4 operator.
For Temperature
Values
tmpCnv(expression_¡tempUnit1, _¡tempUnit2)
For ¡, press 2 “.
For example, to convert
100_¡C to _¡F:
tmpCnv(100_¡c, _¡f)
0
100
212
_oC
_oF
32
To convert a temperature range (the difference between two
temperature values), use @tmpCnv().
For Temperature
Ranges
@tmpCnv(expression_¡tempUnit1, _¡tempUnit2)
For @, press:
TI.89: ¥ c ¤ [D]
TI.92 Plus: 2 G ¤ D
For example, to convert a
100_¡C range to its equivalent
range in _¡F:
@tmpCnv(100_¡c, _¡f)
100_oC
0
100
212
_oC
_oF
32
o
180_ F
86
Chapter 4: Constants and Measurement Units
Setting the Default Units for Displayed Results
All results involving units are displayed in the default unit for
that category. For example, if the default unit for Length is _m,
any length result is displayed in meters (even if you entered
_km or _ft in the calculation).
The SI and ENG/US systems of
measurement (set from Page 3
of the MODE screen) use built-
in default units, which you
cannot change.
If You’re Using the
SI or ENG/US
System
If Unit System=SI or ENG/US, the
Custom Units item is dimmed.
You cannot set a default for
individual categories.
To find the default units for
these systems, refer to page 89.
To set custom defaults:
Setting Custom
Defaults
1. Press 3…B 3 to set
Unit System = CUSTOM.
2. Press D to highlight SET
Note: You can also use
setUnits() or getUnits() to
set or return information
about default units. Refer to
Appendix A.
DEFAULTS.
3. Press B to display the
CUSTOM UNIT DEFAULTS
dialog box.
Tip: When the CUSTOM
UNIT DEFAULTS dialog box
first appears, it shows the
current default units.
4. For each category, you can
highlight its default, press
B, and select a unit from the
list.
5. Press ¸ twice to save
your changes and exit the
MODE screen.
You can also move the cursor by
typing the first letter of a unit.
Many categories let you select NONE as the default unit.
What is the NONE
Default?
This means that results in that
category are displayed in the
default units of its components.
Note: NONE is not available
for base categories such as
Length and Mass that have
no components.
For example, Area = Lengthñ, so
Length is the component of
Area.
¦
If the defaults are Area = _acre and Length = _m (meters), area
results are shown with _acre units.
¦
If you set Area = NONE, area results are shown with _mñ units.
Chapter 4: Constants and Measurement Units 87
Creating Your Own User-Defined Units
In any category, you can expand the list of available units by
defining a new unit in terms of one or more pre-defined units.
You can also use “standalone” units.
Some example reasons to create a unit are:
Why Use Your Own
Units?
¦
¦
¦
You want to enter length values in dekameters. Define 10_m as a
new unit named _dm.
Instead of entering _m/_s2 as an acceleration unit, you define that
combination of units as a single unit named _ms2.
Note: If you create a user-
defined unit for an existing
category, you can select it
from the UNITS dialog box
menu. But you cannot use
3 to select the unit as a
default for displayed results.
You want to calculate how many times someone blinks. You can
use _blinks as a valid unit without defining it. This “standalone”
unit is treated similar to a variable that is not defined. For
instance, 3_blinks is treated the same as 3a.
The naming rules for units are similar to variables.
Rules for User-
Defined Unit Names
¦
Can have up to 8 characters.
First character must be an underscore. For _, press:
TI.89: ¥
TI.92 Plus: 2
¦
¦
Second character can be any valid variable name character
except _ or a digit. For example, _9f is not valid.
Remaining characters (up to 6) can be any valid variable name
character except an underscore.
Define a unit the same way you store to a variable.
Defining a Unit
definition ! _newUnit
For !, press §.
Note: User-defined units are
displayed in lowercase
characters, regardless of the
case you use to define
them.
For example, to define a
dekameter unit:
10_m ! _dm
To define an acceleration unit:
_m/_s^2 ! _ms2
Note: User-defined units
such as _dm are stored as
variables. You can delete
them the same as you
would any variable.
Assuming unit defaults for Length
and Time are set to _m and _s.
To calculate 195 blinks in 5
minutes as _blinks/_min:
195_blinks/(5_min)
Assuming unit default for
Time is set to _s.
88
Chapter 4: Constants and Measurement Units
List of Pre-Defined Constants and Units
This section lists the pre-defined constants and units by
category. You can select any of these from the UNITS dialog
box. If you use 3 to set default units, note that categories
with only one defined unit are not listed.
The SI and ENG/US systems of measurement use built-in default
units. In this section, the built-in defaults are indicated by (SI) and
(ENG/US). In some categories, both systems use the same default.
Defaults for SI and
ENG/US
For a description of the NONE default, refer to page 87. Notice that
some categories do not have default units.
_c ............speed of light .......................2.99792458E8_m/_s
_Cc..........coulomb constant ...............8.9875517873682E9_Nø_m2/_coul2
_g ............acceleration of gravity........9.80665_m/_s2
Constants
_Gc .........gravitational constant.........6.67259Eë 11_m3/_kg/_s2
_h ............Planck’s constant................6.6260755Eë 34_Jø_s
_k ............Boltzmann’s constant.........1.380658Eë 23_J/_°K
_Me.........electron rest mass...............9.1093897Eë 31_kg
_Mn.........neutron rest mass ...............1.6749286Eë 27_kg
_Mp.........proton rest mass .................1.6726231Eë 27_kg
_Na .........Avogadro’s number.............6.0221367E23 /_mol
_q ............electron charge....................1.60217733Eë 19_coul
_Rb .........Bohr radius ..........................5.29177249Eë 11_m
_Rc..........molar gas constant..............8.31451_J/_mol/_¡K
_Rdb .......Rydberg constant................10973731.53413 /_m
_Vm.........molar volume.......................2.241409Eë 2_m3/_mol
_H0...........permittivity of a vacuum......8.8541878176204Eë 12_F/_m
_s ............Stefan-Boltzmann constant ..5.6705119Eë 8_W/_m2/_¡K4
_f0 ..........magnetic flux quantum.......2.0678346161Eë 15_Wb
_m0..........permeability of a vacuum ....1.2566370614359Eë 6_N/_A2
_mb..........Bohr magneton....................9.2740154Eë 24_Jø_m2/_Wb
Note: The TI-89 / TI-92 Plus
simplifies unit expressions
and displays results
according to your default
units. Therefore, constant
values displayed on your
screen may appear different
from the values in this table.
Tip: For Greek characters,
refer to Shortcut Keys
(inside front and back
covers).
_Ang .......angstrom
_au ..........astronomical unit
_cm.........centimeter
_fath .......fathom
_fm..........fermi
_ft............foot (ENG/US)
_in...........inch
_mi..........mile
Length
_mil.........1/1000 inch
_mm........millimeter
_Nmi .......nautical mile
_pc ..........parsec
_rod.........rod
_yd ..........yard
_km.........kilometer
_ltyr ........light year
_m...........meter (SI)
_m ............micron
_A ............angstrom
¡
_acre.......acre
_ha ..........hectare
NONE (SI) (ENG/US)
Area
Chapter 4: Constants and Measurement Units 89
_cup........cup
_ml..........milliliter
_pt...........pint
_qt ...........quart
_tbsp.......tablespoon
_tsp .........teaspoon
NONE (SI) (ENG/US)
Volume
_floz........fluid ounce
_flozUK ..British fluid ounce
_gal .........gallon
_galUK....British gallon
_l .............liter
_day ........day
_hr...........hour
_s.............second (SI) (ENG/US)
_week .....week
Time
_min........minute
_ms .........millisecond
_ns ..........nanosecond
_yr...........year
_ms ..........microsecond
_knot ......knot
_kph........kilometers per hour
_mph.......miles per hour
NONE (SI) (ENG/US)
Velocity
no pre-defined units
Acceleration
Temperature
_¡C..........¡Celsius
For ¡, press 2“.
_¡F ..........¡Fahrenheit
_¡K ..........¡Kelvin
_¡R ..........¡Rankine
(no default)
_cd ..........candela
(no default)
Luminous Intensity
_mol........mole
(no default)
Amount of
Substance
_amu.......atomic mass unit
_gm.........gram
_oz...........ounce
_slug .......slug
Mass
_kg ..........kilogram (SI)
_lb...........pound (ENG/US)
_mg.........milligram
_ton.........ton
_tonne ....metric ton
_tonUK ...long ton
_mton .....metric ton
_dyne......dyne
_kgf.........kilogram force
_lbf..........pound force (ENG/US)
_N............newton (SI)
_tonf .......ton force
Force
_Btu ........British thermal unit
(ENG/US)
_ftlb.........foot-pound
_J.............joule (SI)
Energy
_cal .........calorie
_erg.........erg
_eV..........electron volt
_kcal .......kilocalorie
_kWh.......kilowatt-hour
_latm.......liter-atmosphere
_hp..........horsepower (ENG/US)
_kW.........kilowatt
_W...........watt (SI)
Power
90
Chapter 4: Constants and Measurement Units
_atm........atmosphere
_bar.........bar
_mmHg...millimeters of mecury
_Pa..........pascal (SI)
Pressure
_inH2O ...inches of water
_inHg......inches of mercury
_mmH2O..millimeters of water
_psi .........pounds per square
inch (ENG/US)
_torr........millimeters of mecury
_St...........stokes
_P............poise
Viscosity, Kinematic
Viscosity, Dynamic
Frequency
_GHz.......gigahertz
_Hz..........hertz (SI) (ENG/US)
_kHz........kilohertz
_MHz ......megahertz
_A............ampere (SI) (ENG/US)
_kA .........kiloampere
_mA..........microampere
Electric Current
_mA ........milliampere
_coul.......coulomb (SI) (ENG/US)
Charge
_kV..........kilovolt
_mV.........millivolt
_V............volt (SI) (ENG/US)
_volt........volt
Potential
_kJ .........kilo ohm
_MJ ........megaohm
_ohm.......ohm
Resistance
_J ...........ohm (SI) (ENG/US)
_mho.......mho (ENG/US)
_mmho ...millimho
_siemens..siemens (SI)
_mmho ....micromho
Conductance
Capacitance
_F............farad (SI) (ENG/US)
_nF..........nanofarad
_mF..........microfarad
_pF..........picofarad
_Oe .........oersted
NONE (SI) (ENG/US)
Mag Field Strength
Mag Flux Density
Magnetic Flux
Inductance
_Gs..........gauss
_T............tesla (SI) (ENG/US)
_Wb.........weber (SI) (ENG/US)
_henry ....henry (SI) (ENG/US)
_mH ........millihenry
_mH .........microhenry
_nH .........nanohenry
Chapter 4: Constants and Measurement Units 91
Additional Home Screen Topics
Saving the Home Screen Entries as a Text Editor Script ................... 94
Cutting, Copying, and Pasting Information .......................................... 95
Creating and Evaluating User-Defined Functions ............................... 97
Using Folders to Store Independent Sets of Variables ..................... 100
If an Entry or Answer Is “Too Big” ...................................................... 103
5
To help you get started using the TI-89 / TI-92 Plus as quickly as
possible, Chapter 2 described the basic operations of the Home
screen.
This chapter describes additional operations that can help you
use the Home screen more effectively.
Because this chapter consists of various stand-alone topics, it
does not start with a “preview” example.
Chapter 5: Additional Home Screen Topics
93
Saving the Home Screen Entries as a Text Editor Script
To save all the entries in the history area, you can save the
Home screen to a text variable. When you want to reexecute
those entries, use the Text Editor to open the variable as a
command script.
From the Home screen:
Saving the Entries
in the History Area
1. Press ƒ and select 2:Save Copy As.
2. Specify a folder and text variable
that you want to use to store the
entries.
Note: Only the entries are
saved, not the answers.
Item
Description
Type
Automatically set as Text and cannot be changed.
Note: For information about
folders, refer to page 100.
Folder
Shows the folder in which the text variable will be
stored. To use a different folder, press B to display a
menu of existing folders. Then select a folder.
Variable
Type a valid, unused variable name.
3. Press ¸ (after typing in an input box such as Variable, press
¸ twice).
Because the entries are stored in a script format, you cannot restore
them from the Home screen. (On the Home screen’s ƒ toolbar
menu, 1:Open is not available.) Instead:
Restoring the Saved
Entries
Note: For complete
information on using the
Text Editor and executing a
command script, refer to
Chapter 18.
1. Use the Text Editor to open the variable containing the saved
Home screen entries.
The saved entries are listed as a series of command lines that you
can execute individually, in any order.
2. Starting with the cursor on
the first line of the script,
press † repeatedly to
execute the commands line
by line.
3. Display the restored Home
screen.
This split screen shows the Text Editor
(with the command line script) and the
restored Home screen.
94
Chapter 5: Additional Home Screen Topics
Cutting, Copying, and Pasting Information
Cut, copy, and paste operations let you move or copy
information within the same application or between different
applications. These operations use the TI-89 / TI-92 Plus’s
clipboard, which is an area in memory that serves as a
temporary storage location.
Auto-paste, described in Chapter 2, is a quick way to copy an entry or
answer in the history area and paste it to the entry line.
Auto-paste vs.
Cut/Copy/Paste
1. Use C and D to highlight the item in the history area.
2. Press ¸ to auto-paste that item to the entry line.
To copy or move information in the entry line, you must use a cut,
copy, or paste operation. (You can perform a copy operation in the
history area, but not a cut or paste.)
When you cut or copy information, that information is placed in the
clipboard. However, cutting deletes the information from its current
location (used to move information) and copying leaves the
information.
Cutting or Copying
Information to the
Clipboard
1. Highlight the characters that you want to cut or copy.
In the entry line, move the cursor to either side of the characters.
Hold ¤ and press A or B to highlight characters to the left or
right of the cursor, respectively.
Tip: You can cut, copy or
paste without having to use
the ƒ toolbar menu. Press:
TI.89:
2. Press ƒ and select 4:Cut or 5:Copy.
Clipboard = (empty or the previous contents)
¥ 5, ¥ 6, or ¥ 7
TI.92 Plus:
¥ X, ¥ C, or ¥ V
After cut
After copy
Note: When you cut or copy
information, it replaces the
clipboard’s previous
Clipboard = x^4ì 3x^3ì 6x^2+8x
Clipboard = x^4ì 3x^3ì 6x^2+8x
contents, if any.
Cutting is not the same as deleting. When you delete information, it is
not placed in the clipboard and cannot be retrieved.
Chapter 5: Additional Home Screen Topics
95
A paste operation inserts the contents of the clipboard at the current
cursor location on the entry line. This does not change the contents
of the clipboard.
Pasting Information
from the Clipboard
1. Position the cursor where you want to paste the information.
2. Press ƒ and select 6:Paste, or use the key shortcut:
TI.89: ¥ 7
TI.92 Plus: ¥ V
Suppose you want to reuse an expression without retyping it each
time.
Example: Copying
and Pasting
1. Copy the applicable information.
a. Use ¤ B or ¤ A to highlight the
expression.
b. Press:
TI.89: ¥ 6
TI.92 Plus: ¥ C
c. For this example, press ¸ to evaluate the entry.
2. Paste the copied information into a new entry.
a. Press … 1 to select the d differentiate function.
Tip: You can also reuse an
expression by creating a
user-defined function. Refer
to page 97.
b. Press:
TI.89: ¥ 7
TI.92 Plus: ¥ V
to paste the copied expression.
c. Complete the new entry, and
press ¸.
Tip: By copying and
3. Paste the copied information into a different application.
a. Press ¥ # to display the Y= Editor.
b. Press ¸ to define y1(x).
pasting, you can easily
transfer information from
one application to another.
c. Press:
TI.89: ¥ 7
TI.92 Plus: ¥ V
to paste.
d. Press ¸ to save the new
definition.
96
Chapter 5: Additional Home Screen Topics
Creating and Evaluating User-Defined Functions
User-defined functions can be a great time-saver when you
need to repeat the same expression (but with different values)
multiple times. User-defined functions can also extend your
TI-89 / TI-92 Plus’s capabilities beyond the built-in functions.
The following examples show user-defined functions with one
argument and two arguments. You can use as many arguments as
necessary. In these examples, the definition consists of a single
expression (or statement).
Format of a
Function
1
cube(x) = x3
xroot(x,y) = yx
Note: Function names
follow the same rules as
variable names. Refer to
“Storing and Recalling
Variable Values” in
Chapter 2.
Definition
Argument list
Function name
Definition
Argument list
Function name
When defining functions and programs, use unique names for
arguments that will not be used in the arguments for a subsequent
function or program call.
In the argument list, be sure to use the same arguments that are used
in the definition. For example, cube(n) = xò gives unexpected results
when you evaluate the function.
Arguments (x and y in these examples) are placeholders that
represent whatever values you pass to the function. They do not
represent the variables x and y unless you specifically pass x and y as
the arguments when you evaluate the function.
Use one of the following methods.
Creating a User-
Defined Function
Method
Description
§
Store an expression to a function name
(including the argument list).
Define command Define a function name (including the argument
list) as an expression.
Program Editor
Refer to Chapter 17 for information on creating a
user-defined function.
Chapter 5: Additional Home Screen Topics
97
You can also create a user-defined function whose definition consists
of multiple statements. The definition can include many of the
control and decision-making structures (If, ElseIf, Return, etc.) used
in programming.
Creating a Multi-
Statement Function
Note: For information about
similarities and differences
between functions and
programs, refer to
For example, suppose you want to create a function that sums a
series of reciprocals based on an entered integer (n):
Chapter 17.
1
n
1
nì 1
1
1
+
+ ... +
When creating the definition of a multi-statement function, it may be
helpful to visualize it first in a block form.
Variables not in the
argument list must be
declared as local.
Func
Func and EndFunc
must begin and end the
function.
Local temp,i
If fPart(nn)ƒ0 or nn0
Returns a message
if nn is not an
integer or if nn0.
Return “bad argument”
0! temp
For information about
the individual
statements, refer to
Appendix A.
For i,nn,1,ë 1
approx(temp+1/i)! temp
EndFor
Sums the reciprocals.
Returns the sum.
Return temp
EndFunc
When entering a multi-statement function on the Home screen, you
must enter the entire function on a single line. Use the Define
command just as you would for a single-statement function.
Use argument names that will never be used
when calling the function or program.
Use a colon to separate each statement.
Define sumrecip(nn)=Func:Local temp,i: ... :EndFunc
Multi-statement functions
show as “Func”.
Tip: It’s easier to create a
complicated multi-statement
function in the Program
On the Home screen:
Editor than on the Home
screen. Refer to Chapter 17.
Enter a multi-statement
function on one line. Be
sure to include colons.
You can use a user-defined function just as you would any other
function. Evaluate it by itself or include it in another expression.
Evaluating a
Function
98
Chapter 5: Additional Home Screen Topics
Displaying and
Editing a Function
Definition
To:
Do this:
Display a list of all
user-defined functions screen. You may need to use the „ View
toolbar menu to specify the Function
Press 2° to display the VAR-LINK
variable type. (Refer to Chapter 21.)
— or —
Press:
TI.89: ½ †
TI.92 Plus: 2 ½ †
Display a list of Flash
application functions
Press:
TI.89: ½ …
TI.92 Plus: 2 ½ …
Note: You can view a user-
defined function in the
CATALOG dialog box, but
you cannot use the
CATALOG to view or edit its
definition.
Display the definition
of a user-defined
function
From the VAR-LINK screen, highlight the
function and display the Contents menu.
TI.89: 2ˆ
TI.92 Plus: ˆ
— or —
From the Home screen, press 2£.
Type the function name but not the
argument list (such as xroot), and press
¸ twice.
— or —
From the Program Editor, open the
function. (Refer to Chapter 17.)
Edit the definition
From the Home screen, use 2£ to
display the definition. Edit the definition as
necessary. Then use § or Define to save
the new definition.
— or —
From the Program Editor, open the
function, edit it, and save your changes.
(Refer to Chapter 17.)
Chapter 5: Additional Home Screen Topics
99
Using Folders to Store Independent Sets of Variables
The TI-89 / TI-92 Plus has one built-in folder named MAIN, and
all variables are stored in that folder. By creating additional
folders, you can store independent sets of user-defined
variables (including user-defined functions).
Folders give you a convenient way to manage variables by organizing
them into related groups. For example, you can create separate
folders for different TI-89 / TI-92 Plus applications (Math, Text Editor,
etc.) or classes.
Folders and
Variables
¦
You can store a user-
defined variable in any
existing folder.
Example of variables that
can be stored in MAIN only
Window variables
(xmin, xmax, etc.)
Table setup variables
(TblStart, @Tbl, etc.)
Y= Editor functions
(y1(x), etc.)
¦
A system variable or a
variable with a reserved
name, however, can be
stored in the MAIN folder
only.
The user-defined variables in
one folder are independent of
the variables in any other
folder.
Therefore, folders can store separate sets of variables with the same
names but different values.
MAIN
Note: User-defined
variables are stored in the
“current folder” unless you
specify otherwise. Refer to
“Using Variables in Different
Folders” on page 102.
System variables
User-defined
Variables
a=1, b=2, c=3
f(x)=x3 +x2 +x
ALG102
Name of current folder
User-defined
b=5, c=100
f(x)=sin(x)+cos(x)
DAVE
You cannot create a folder
within another folder.
User-defined
a=3, b=1, c=2
2
f(x)=x +6
MATH
User-defined
a=42, c=6
f(x)=3x2 +4x+25
The system variables in the MAIN folder are always directly
accessible, regardless of the current folder.
100
Chapter 5: Additional Home Screen Topics
Enter the NewFold command.
Creating a Folder
from the Home
Screen
NewFold folderName
Folder name to create. This new folder is set
automatically as the current folder.
The VAR-LINK screen, which is described in Chapter 21, lists the
existing variables and folders.
Creating a Folder
from the VAR-LINK
Screen
1. Press 2°.
2. Press ƒ Manage and select
5:Create Folder.
3. Type a unique folder name up to
eight characters, and press
¸ twice.
After you create a new folder from VAR-LINK, that folder is not
automatically set as the current folder.
Enter the setFold function.
Setting the Current
Folder from the
Home Screen
setFold (folderName)
setFold is a function, which requires you to
enclose the folder name in parentheses.
When you execute setFold, it returns the name of the folder that was
previously set as the current folder.
To use the MODE dialog box:
Setting the Current
Folder from the
MODE Dialog Box
1. Press 3.
2. Highlight the Current
Folder setting.
Tip: To cancel the menu or
exit the dialog box without
saving any changes, press
N.
3. Press B to display a
menu of existing
folders.
4. Select the applicable
folder. Either:
¦
¦
Highlight the folder name and press ¸.
— or —
Press the corresponding number or letter for that folder.
5. Press ¸ to save your changes and close the dialog box.
Chapter 5: Additional Home Screen Topics
101
You can access a user-defined variable or function that is not in the
current folder. Specify the complete pathname instead of only the
variable name.
Using Variables in
Different Folders
A pathname has the form:
folderName\variableName
— or —
folderName\functionName
For example:
If Current Folder = MAIN
Folders
Note: This example
assumes that you have
already created a folder
named MATH.
MAIN
a=1
f(x)=x3 +x2 +x
MATH
a=42
f(x)=3x2 +4x+25
Note: For information about
the VAR-LINK screen, refer
to Chapter 21.
To see a list of existing folders and variables, press 2°. On
the VAR-LINK screen, you can highlight a variable and press ¸ to
paste that variable name to the Home screen’s entry line. If you paste
a variable name that is not in the current folder, the pathname
(folderName\variableName) is pasted.
Before deleting a folder, you must delete all the variables stored in
that folder.
Deleting a Folder
from the Home
Screen
¦
To delete a variable, enter the DelVar command.
DelVar var1 [, var2] [, var3] ...
Note: You cannot delete the
MAIN folder.
¦
To delete an empty folder, enter the DelFold command.
DelFold folder1 [, folder2] [, folder3] ...
VAR-LINK lets you delete a folder and its variables at the same time.
Refer to Chapter 21.
Deleting a Folder
from the VAR-LINK
Screen
1. Press 2°.
2. Select the item(s) to delete and press ƒ 1 or 0. (If you use †
to select a folder, its variables are selected automatically.)
3. Press ¸ to confirm the deletion.
102
Chapter 5: Additional Home Screen Topics
If an Entry or Answer Is “Too Big”
In some cases, an entry or answer may be “too long” and/or
“too tall” to be displayed completely in the history area. In other
cases, the TI-89 / TI-92 Plus may not be able to display an
answer because there is not enough free memory.
Move the cursor into the history area, and highlight the entry or
answer. Then use the cursor pad to scroll. For example:
If an Entry or
Answer Is
“Too Long”
¦
The following shows an answer that is too long for one line.
Press B
or 2 B
to scroll
right.
Press A
or 2 A
to scroll
left.
¦
The following shows an answer that is both too long and too tall
to be displayed on the screen.
TI.89: Press C or ¤ C to scroll up.
TI.92 Plus: Press C or ‚ C to scroll up
Press A
or 2 A
to scroll
left.
Press B
or 2 B
to scroll
right.
Note: This example uses
the randMat function to
generate a 25 x 25 matrix.
TI.89: Press ¤ D to scroll down.
TI.92 Plus: Press ‚ D to scroll down
A <<...>>symbol is displayed when the TI-89 / TI-92 Plus does not have
enough free memory to display the answer.
If There Is not
Enough Memory
For example:
Note: This example uses
the seq function to generate
a sequential list of integers
from 1 to 2500.
When you see the <<...>> symbol, the answer cannot be displayed
even if you highlight it and try to scroll.
In general, you can try to:
¦
Free up additional memory by deleting unneeded variables and/or
Flash applications. Use 2° as described in Chapter 21.
¦
If possible, break the problem into smaller parts that can be
calculated and displayed with less memory.
Chapter 5: Additional Home Screen Topics
103
104
Chapter 5: Additional Home Screen Topics
Basic Function Graphing
Preview of Basic Function Graphing................................................... 106
Overview of Steps in Graphing Functions.......................................... 107
Setting the Graph Mode......................................................................... 108
Defining Functions for Graphing ......................................................... 109
Selecting Functions to Graph............................................................... 111
Setting the Display Style for a Function.............................................. 112
Defining the Viewing Window .............................................................. 113
Changing the Graph Format ................................................................. 114
Graphing the Selected Functions......................................................... 115
Displaying Coordinates with the Free-Moving Cursor...................... 116
Tracing a Function................................................................................. 117
Using Zooms to Explore a Graph......................................................... 119
Using Math Tools to Analyze Functions ............................................. 122
6
This chapter describes the steps used to display and explore a
graph. Before using this chapter, you should be familiar with
Chapter 2.
Y= Editor shows
an algebraic
representation.
Graph screen
shows a graphic
representation.
Although this chapter describes how to graph y(x) functions, the
basic steps apply to all graphing modes. Later chapters give
specific information about the other graphing modes.
Chapter 6: Basic Function Graphing
105
Preview of Basic Function Graphing
Graph a circle of radius 5, centered on the origin of the coordinate system. View the circle
using the standard viewing window (ZoomStd). Then use ZoomSqr to adjust the viewing
window.
³
›
TI-89
Keystrokes
TI-92 Plus
Keystrokes
Steps
Display
3
B 1
¸
3
B 1
¸
1. Display the MODE dialog box.
For Graph mode, select
FUNCTION.
"
5 § j R
¸
¥ "
5 § R
¸
2. Display the Home screen. Then
5! r
store the radius, 5, in variable r.
3. Display and clear the Y= Editor.
¥ #
¥ #
Then define y1(x) = rñ - xñ , the
top half of a circle.
ƒ 8 ¸
¸ 2 ]
ƒ 8 ¸
¸ 2 ]
j R Z 2 | X R Z 2 | X
In function graphing, you must define
separate functions for the top and
bottom halves of a circle.
Z 2 d ¸
Z 2 d ¸
4. Define y2(x) = ë rñ - xñ , the
¸
¸
· Y 1 c X d
¸
· Y 1 c X d
¸
function for the bottom half of
the circle.
Use the full function name
y1(x), not simply y1.
The bottom half is the negative of the
top half, so you can define y2(x) =
ë y1(x).
5. Select the ZoomStd viewing
window, which automatically
graphs the functions.
„ 6
„ 6
In the standard viewing window, both
the x and y axes range from ë 10 to
10. However, this range is spread
over a longer distance along the x
axis than the y axis. Therefore, the
circle appears as an ellipse.
Notice slight gap
between top and
bottom halves.
6. Select ZoomSqr.
„ 5
„ 5
ZoomSqr increases the range along
the x axis so that circles and squares
are shown in correct proportion.
Note: There is a gap between the top and bottom halves of the circle because each half is a
separate function. The mathematical endpoints of each half are (-5,0) and (5,0). Depending on
the viewing window, however, the plotted endpoints for each half may be slightly different from
their mathematical endpoints.
106
Chapter 6: Basic Function Graphing
Overview of Steps in Graphing Functions
To graph one or more y(x) functions, use the general steps
shown below. For a detailed description of each step, refer to
the following pages. You may not need to do all the steps each
time you graph a function.
Graphing Functions
Set Graph mode (3)
to FUNCTION.
Also set Angle mode,
if necessary.
Define functions on
Y= Editor (¥ #).
Tip: To turn off any stat
data plots (Chapter 16),
press ‡ 5 or use † to
deselect them.
Select (†) which
defined functions to
graph.
Set the display style for
a function.
Tip: This is optional. For
multiple functions, this helps
visually distinguish one from
another.
TI.89: 2 ˆ
TI.92 Plus: ˆ
Define the viewing
window (¥ $).
Tip: „ Zoom also changes
the viewing window.
Change the graph
format, if necessary.
ƒ 9
— or —
TI.89: ¥ Í
TI.92 Plus: ¥ F
Graph the selected
functions (¥ %).
From the Graph screen, you can:
Exploring the Graph
¦
¦
¦
Display the coordinates of any pixel by using the free-moving
cursor, or of a plotted point by tracing a function.
Use the „ Zoom toolbar menu to zoom in or out on a portion of
the graph.
Use the ‡ Math toolbar menu to find a zero, minimum,
maximum, etc.
Chapter 6: Basic Function Graphing
107
Setting the Graph Mode
Before graphing y(x) functions, you must select FUNCTION
graphing. You may also need to set the Angle mode, which
affects how the TI-89 / TI-92 Plus graphs trigonometric functions.
1. Press 3 to display the MODE dialog box, which shows the
Graph Mode
current mode settings.
2. Set the Graph mode to FUNCTION. Refer to “Setting Modes” in
Chapter 2.
Note: For graphs that do not
use complex numbers, set
Complex Format = REAL.
Otherwise, it may affect
graphs that use powers,
such as x 1/3
.
While this chapter specifically describes y(x) function graphs, the
TI-89 / TI-92 Plus lets you select from six Graph mode settings.
Graph Mode Setting
Description
FUNCTION
y(x) functions
Note: Other Graph mode
settings are described in
later chapters.
PARAMETRIC
POLAR
x(t) and y(t) parametric equations
r(q) polar equations
SEQUENCE
3D
u(n) sequences
z(x,y) 3D equations
DIFFERENTIAL EQUATION y'(t) differential equations
When using trigonometric functions, set the Angle mode for the units
(RADIAN or DEGREE) in which you want to enter and display angle
values.
Angle Mode
To see the current Graph mode and Angle mode, check the status line
at the bottom of the screen.
Checking the
Status Line
Angle
Mode
Graph
Mode
108
Chapter 6: Basic Function Graphing
Defining Functions for Graphing
In FUNCTION graphing mode, you can graph functions named
y1(x) through y99(x).To define and edit these functions, use
the Y= Editor. (The Y= Editor lists function names for the
current graphing mode. For example, in POLAR graphing mode,
function names are r1(q), r2(q), etc.)
1. Press ¥ # or O 2 to display the Y= Editor.
Defining a New
Function
Plots — You can scroll above y1= to see
a list of stat plots. See Chapter 16.
Note: The function list
shows abbreviated function
names such as y1, but the
entry line shows the full
name y1(x).
Function List — You can scroll through
the list of functions and definitions.
Entry Line — Where you define or
edit the function highlighted in the list.
2. Press D and C to move the cursor to any undefined function.
(Use 2D and 2C to scroll one page at a time.)
Tip: For an undefined
3. Press ¸ or … to move the cursor to the entry line.
function, you do not need to
press ¸ or …. When
you begin typing, the cursor
moves to the entry line.
4. Type the expression to define the function.
¦
¦
The independent variable in function graphing is x.
The expression can refer to other variables, including
matrices, lists, and other functions. Only floats and lists of
floats will produce a plot.
Tip: If you accidentally
move the cursor to the entry
line, press N to move it
back to the function list.
5. When you complete the expression, press ¸.
The function list now shows the new function, which is
automatically selected for graphing.
From the Y= Editor:
Editing a Function
1. Press D and C to highlight the function.
2. Press ¸ or … to move the cursor to the entry line.
3. Do any of the following.
¦
Use B and A to move the cursor within the expression and
edit it. Refer to “Editing an Expression in the Entry Line” in
Chapter 2.
— or —
¦
Press M once or twice to clear the old expression, and
then type the new one.
Tip: To cancel any editing
changes, press N instead
of ¸.
4. Press ¸.
The function list now shows the edited function, which is
automatically selected for graphing.
Chapter 6: Basic Function Graphing
109
From the Y= Editor:
Clearing a Function
To erase:
Do this:
A function from
the function list
Highlight the function and press 0 or M.
A function from
the entry line
Press M once or twice (depending on the
cursor’s location) and then press ¸.
All functions
Press ƒ and then select 8:Clear Functions.
When prompted for confirmation, press ¸.
Note: ƒ 8 does not erase
any stat plots (Chapter 16).
You don’t have to clear a function to prevent it from being graphed.
As described on page 111, you can select the functions you want to
graph.
From the Y=Editor:
Shortcuts to Move
the Cursor
Press:
To:
¥ C or
¥ D
Go to function 1 or to the last defined function,
respectively. If the cursor is on or past the last
defined function, ¥ D goes to function 99.
You can also define and evaluate a function from the Home screen or
a program.
From the Home
Screen or a
Program
¦
Use the Define and Graph commands. Refer to:
−
“Graphing a Function Defined on the Home Screen” and
“Graphing a Piecewise Defined Function” in Chapter 12.
Tip: User-defined functions
can have almost any name.
However, if you want them
to appear in the Y= Editor,
use function names y1(x),
y2(x), etc.
−
“Overview of Entering a Function” in Chapter 17.
¦
Store an expression directly to a function variable. Refer to:
−
−
“Storing and Recalling Variable Values” in Chapter 2.
“Creating and Evaluating User-Defined Functions” in
Chapter 5.
110
Chapter 6: Basic Function Graphing
Selecting Functions to Graph
Regardless of how many functions are defined in the
Y= Editor, you can select the ones you want to graph.
Press ¥ # or O2 to display the Y= Editor.
Selecting or
Deselecting
Functions
A “Ÿ” indicates which functions will be graphed the next time you
display the Graph screen.
If PLOT numbers are
displayed, those stat plots
are selected.
Selected
Deselected
In this example, Plots 1
and 2 are selected. To
view them, scroll above
y1=.
To select or deselect: Do this:
A specified function
1. Move the cursor to highlight the function.
Tip: You don’t have to
select a function when you
enter or edit it; it is selected
automatically.
2. Press †.
This procedure selects a deselected function
or deselects a selected function.
Tip: To turn off any stat
plots, press ‡ 5 or use †
to deselect them.
All functions
1. Press ‡ to display the All toolbar menu.
2. Select the applicable item.
You can also select or deselect functions from the Home screen or a
program.
From the Home
Screen or a Program
¦
Use the FnOn and FnOff commands (available from the Home
screen’s † Other toolbar menu) for functions. Refer to
Appendix A.
¦
Use the PlotsOn and PlotsOff commands for stat plots. Refer to
Appendix A.
Chapter 6: Basic Function Graphing
111
Setting the Display Style for a Function
For each defined function, you can set a style that specifies
how that function will be graphed. This is useful when graphing
multiple functions. For example, set one as a solid line,
another as a dotted line, etc.
From the Y= Editor:
Displaying or
Changing a
Function’s Style
1. Move the cursor to highlight the applicable function.
2. Select the Style menu:
TI.89: Press 2ˆ.
TI.92 Plus: Press ˆ.
¦
Although the Line item is initially
highlighted, the function’s current style is
indicated by a Ÿ mark.
¦
To exit the menu without making a
change, press N.
3. To make a change, select the applicable style.
Style
Line
Description
Tip: To set Line as the style
for all functions, press ‡
and select 4:Reset Styles.
Connects plotted points with a line. This is the default.
Displays a dot at each plotted point.
Displays a solid box at each plotted point.
Connects plotted points with a thick line.
Dot
Square
Thick
Animate
A round cursor moves along the leading edge of the
graph but does not leave a path.
Path
A round cursor moves along the leading edge of the
graph and does leave a path.
Above
Below
Shades the area above the graph.
Shades the area below the graph.
The TI-89 / TI-92 Plus has four shading patterns, used on a rotating
basis. If you set one function as shaded, it uses the first pattern. The
next shaded function uses the second pattern, etc. The fifth shaded
function reuses the first pattern.
If You Use Above or
Below Shading
When shaded areas intersect,
their patterns overlap.
You can also set a function’s style from the Home screen or a
program. Refer to the Style command in Appendix A.
From the Home
Screen or a Program
112
Chapter 6: Basic Function Graphing
Defining the Viewing Window
The viewing window represents the portion of the coordinate
plane displayed on the Graph screen. By setting Window
variables, you can define the viewing window’s boundaries
and other attributes. Function graphs, parametric graphs, etc.,
have their own independent set of Window variables.
Press ¥ $ or O 3 to display the Window Editor.
Displaying Window
Variables in the
Window Editor
ymax
xmin
xscl
xmax
yscl
ymin
Window Variables
(shown in Window Editor)
Corresponding Viewing Window
(shown on Graph screen)
Variable
Description
xmin, xmax, Boundaries of the viewing window.
ymin, ymax
Tip: To turn off tick marks,
set xscl=0 and/or yscl=0.
xscl, yscl
Distance between tick marks on the x and y axes.
xres
Sets pixel resolution (1 through 10) for function graphs.
The default is 2.
Tip: Small values of xres
improve the graph’s
resolution but may reduce
the graphing speed.
¦
At 1, functions are evaluated and graphed at each
pixel along the x axis.
¦
At 10, functions are evaluated and graphed at every
10th pixel along the x axis.
From the Window Editor:
Changing the
Values
1. Move the cursor to highlight the value you want to change.
2. Do any of the following:
¦
Type a value or an expression. The old value is erased when
you begin typing.
— or —
Press M to clear the old value; then type the new one.
— or —
Press A or B to remove the highlighting; then edit the value.
Note: If you type an
expression, it is evaluated
when you move the cursor
to a different Window
variable or leave the
Window Editor.
¦
¦
Values are stored as you type them; you do not need to press ¸.
¸ simply moves the cursor to the next Window variable.
You can also store values directly to the Window variables from the
Home screen or a program. Refer to “Storing and Recalling Variable
Values” in Chapter 2.
From the Home
Screen or a Program
Chapter 6: Basic Function Graphing
113
Changing the Graph Format
You can set the graph format to show or hide reference
elements such as the axes, a grid, and the cursor’s
coordinates. Function graphs, parametric graphs, etc., have
their own independent set of graph formats.
From the Y= Editor, Window Editor, or Graph screen, press ƒ and
select 9:Format.
Displaying Graph
Format Settings
¦
¦
The GRAPH FORMATS dialog
box shows the current
settings.
Tip: You also can display
the GRAPH FORMATS
dialog box from the Y=
Editor, Window Editor, or
Graph screen. Press:
TI.89: ¥ Í
To exit without making a
change, press N.
TI.92 Plus: ¥ F
Format
Description
Coordinates
Shows cursor coordinates in rectangular (RECT)
or polar (POLAR) form, or hides (OFF) the
coordinates.
Graph Order
Grid
Graphs functions one at a time (SEQ) or all at the
same time (SIMUL).
Tip: To turn off tick marks,
define the viewing window
so that xscl and/or yscl = 0.
Shows (ON) or hides (OFF) grid points that
correspond to the tick marks on the axes.
Axes
Shows (ON) or hides (OFF) the x and y axes.
Leading Cursor
Shows (ON) or hides (OFF) a reference cursor
that tracks the functions as they are graphed.
Labels
Shows (ON) or hides (OFF) labels for the x and y
axes.
From the GRAPH FORMATS dialog box:
Changing Settings
1. Move the cursor to highlight the format setting.
2. Press B to display a menu of valid settings for that format.
3. Select a setting. Either:
Tip: To cancel a menu or
exit the dialog box without
saving any changes, use
N instead of ¸.
¦
¦
Move the cursor to highlight the setting, and then press ¸.
— or —
Press the number for that setting.
4. After changing all applicable format settings, press ¸ to save
your changes and close the GRAPH FORMATS dialog box.
114
Chapter 6: Basic Function Graphing
Graphing the Selected Functions
When you are ready to graph the selected functions, display
the Graph screen. This screen uses the display style and
viewing window that you previously defined.
Press ¥ % or O 4. The TI-89 / TI-92 Plus automatically graphs
the selected functions.
Displaying the
Graph Screen
Note: If you select an
„ Zoom operation from the
Y= Editor or Window Editor,
the TI-89 / TI-92 Plus
automatically displays the
Graph screen.
BUSY indicator shows while
graphing is in progress.
While graphing is in progress:
Interrupting
Graphing
¦
To pause graphing temporarily, press ¸. (The PAUSE
indicator replaces BUSY.) To resume, press ¸ again.
¦
To cancel graphing, press ´. To start graphing again from the
beginning, press † (ReGraph).
Depending on various settings, a function may be graphed such that
it is too small, too large, or offset too far to one side of the screen. To
correct this:
If You Need to
Change the Viewing
Window
¦
Redefine the viewing window with different boundaries
(page 113).
¦
Use a Zoom operation (page 119).
When you display the Graph screen, the Smart Graph feature displays
the previous window contents immediately, provided nothing has
changed that requires regraphing.
Smart Graph
Smart Graph updates the window and regraphs only if you have:
¦
¦
¦
Changed a mode setting that affects graphing, a function’s
graphing attribute, a Window variable, or a graph format.
Selected or deselected a function or stat plot. (If you only select a
new function, Smart Graph adds that function to the Graph screen.)
Changed the definition of a selected function or the value of a
variable in a selected function.
¦
¦
Cleared a drawn object (Chapter 12).
Changed a stat plot definition (Chapter 16).
Chapter 6: Basic Function Graphing
115
Displaying Coordinates with the Free-Moving Cursor
To display the coordinates of any location on the Graph
screen, use the free-moving cursor. You can move the cursor
to any pixel on the screen; the cursor is not confined to a
graphed function.
When you first display the Graph screen, no cursor is visible. To
display the cursor, press a cursor pad arrow. The cursor moves from
the center of the screen, and its coordinates are displayed.
Free-Moving Cursor
Tip: If your screen does not
show coordinates, set the
graph format so that
Coordinates = RECT or
POLAR. Press:
y1(x)=xñ
The “c” indicates these are cursor
coordinates. The values are stored in
the xc and yc system variables.
TI.89: ¥ Í
TI.92 Plus: ¥ F
Rectangular coordinates use xc and
yc. Polar coordinates use rc and qc.
Tip: To hide the cursor and
its coordinates temporarily,
press M, N, or ¸.
The next time you move the
cursor, it moves from its last
position.
To move the free-moving cursor:
Press:
To an adjoining pixel
A cursor pad arrow for any
direction.
In increments of 10 pixels
2 and then a cursor pad
arrow.
When you move the cursor to a pixel that appears to be “on” the
function, it may be near the function but not on it.
Cursor coordinates are for
the center of the pixel, not
the function.
To increase the accuracy:
¦
Use the Trace tool described on the next page to display
coordinates that are on the function.
¦
Use a Zoom operation to zoom in on a portion of the graph.
116
Chapter 6: Basic Function Graphing
Tracing a Function
To display the exact coordinates of any plotted point on a
graphed function, use the … Trace tool. Unlike the free-
moving cursor, the trace cursor moves only along a function’s
plotted points.
From the Graph screen, press ….
Beginning a Trace
The trace cursor appears on the function, at the middle x value on
the screen. The cursor’s coordinates are displayed at the bottom of
the screen.
Note: If any stat plots are
graphed (Chapter 16), the
trace cursor appears on the
lowest-numbered stat plot.
If multiple functions are graphed, the trace cursor appears on the
lowest-numbered function selected in the Y= Editor. The function
number is shown in the upper right part of the screen.
Moving along a
Function
To move the trace cursor:
Do this:
To the previous or next plotted point
Press A or B.
Approximately 5 plotted points
(it may be more or less than 5,
Press 2A or 2B.
depending on the xres Window variable)
Note: If you enter an x
value, it must be between
xmin and xmax.
To a specified x value on the function
Type the x value and
press ¸.
The trace cursor moves only from plotted point to plotted point
along the function, not from pixel to pixel.
Function number being
traced. For example: y3(x).
Tip: If your screen does not
show coordinates, set the
graph format so that
Coordinates = RECT or
POLAR. Press:
TI.89: ¥ Í
TI.92 Plus: ¥ F
Trace coordinates are
those of the function, not
the pixel.
Each displayed y value is calculated from the x value; that is, y=yn(x).
If the function is undefined at an x value, the y value is blank.
Tip: Use QuickCenter,
You can continue to trace a function that goes above or below the
viewing window. You cannot see the cursor as it moves in that
“off the screen” area, but the displayed coordinate values show its
correct coordinates.
described on the next page,
to trace a function that goes
above or below the window.
Chapter 6: Basic Function Graphing
117
Press C or D to move to the previous or next selected function at
the same x value. The new function number is shown on the screen.
Moving from
Function to
Function
The “previous or next” function is based on the order of the selected
functions in the Y= Editor, not the appearance of the functions as
graphed on the screen.
If you trace a function off the left or right edge of the screen, the
viewing window automatically pans to the left or right. There is a
slight pause while the new portion of the graph is drawn.
Automatic Panning
Note: Automatic panning
does not work if stat plots
are displayed or if a function
uses a shaded display style.
Before automatic pan
After automatic pan
After an automatic pan, the cursor continues tracing.
If you trace a function off the top or bottom of the viewing window,
you can press ¸ to center the viewing window on the cursor
location.
Using QuickCenter
Tip: You can use
QuickCenter at any time
during a trace, even when
the cursor is still on the
screen.
Before using QuickCenter
After using QuickCenter
After QuickCenter, the cursor stops tracing. If you want to continue
tracing, press ….
To cancel a trace at any time, press N.
Canceling Trace
A trace is also canceled when you display another application screen
such as the Y= Editor. When you return to the Graph screen and
press … to begin tracing:
¦
If Smart Graph regraphed the screen, the cursor appears at the
middle x value.
¦
If Smart Graph does not regraph the screen, the cursor appears at
its previous location (before you displayed the other application).
118
Chapter 6: Basic Function Graphing
Using Zooms to Explore a Graph
The „ Zoom toolbar menu has several tools that let you
adjust the viewing window. You can also save a viewing
window for later use.
Press „ from the Y= Editor, Window Editor, or Graph screen.
Overview of the
Zoom Menu
Procedures for using ZoomBox,
ZoomIn, ZoomOut, ZoomStd, Memory,
and SetFactors are given later in this
section.
Note: If you select a Zoom
tool from the Y=Editor or
Window Editor, the
TI-89 / TI-92 Plus
automatically displays the
Graph screen.
For more information about the
other items, refer to Appendix A.
Zoom Tool
Description
ZoomBox
Lets you draw a box and zoom in on that box.
ZoomIn,
Lets you select a point and zoom in or out by an
ZoomOut
amount defined by SetFactors.
Note: ∆x and ∆y are the
distances from the center of
one pixel to the center of an
adjoining pixel.
ZoomDec
ZoomSqr
Sets ∆x and ∆y to .1, and centers the origin.
Adjusts Window variables so that a square or circle is
shown in correct proportion (instead of a rectangle
or ellipse).
ZoomStd
ZoomTrig
Sets Window variables to their default values.
xmin = ë 10
xmax = 10
xscl = 1
ymin = ë 10
ymax = 10
yscl = 1
xres = 2
Sets Window variables to preset values that are often
appropriate for graphing trig functions. Centers the
origin and sets:
∆x = p/24 (.130899... radians
ymin = ë 4
ymax = 4
yscl = 0.5
or 7.5 degrees)
xscl = p/2 (1.570796... radians
or 90 degrees)
ZoomInt
ZoomData
ZoomFit
Lets you select a new center point, and then sets ∆x
and ∆y to 1 and sets xscl and yscl to 10.
Adjusts Window variables so that all selected stat
plots are in view. Refer to Chapter 16.
Adjusts the viewing window to display the full range
of dependent variable values for the selected
functions. In function graphing, this maintains the
current xmin and xmax and adjusts ymin and ymax.
Memory
Lets you store and recall Window variable settings so
that you can recreate a custom viewing window.
SetFactors
Lets you set Zoom factors for ZoomIn and ZoomOut.
Chapter 6: Basic Function Graphing
119
1. From the „ Zoom menu, select 1:ZoomBox.
The screen prompts for 1st Corner?
Zooming In with a
Zoom Box
2. Move the cursor to any corner of the box you want to define, and
then press ¸.
y1(x)=2øsin(x)
Tip: To move the cursor in
larger increments, use
2 B, 2 D, etc.
The cursor changes to a small
square, and the screen
prompts for 2nd Corner?
3. Move the cursor to the
opposite corner of the zoom
box.
As you move the cursor, the
box stretches.
Tip: You can cancel
ZoomBox by pressing N
before you press ¸.
4. When you have outlined the
area you want to zoom in on,
press ¸.
The Graph screen shows the
zoomed area.
1. From the „ Zoom menu,
Zooming In and Out
on a Point
select 2:ZoomIn or 3:ZoomOut.
A cursor appears, and the
screen prompts for New
Center?
2. Move the cursor to the point
where you want to zoom in or
out, and then press ¸.
The TI-89 / TI-92 Plus adjusts
the Window variables by the
Zoom factors defined in
SetFactors.
¦
For a ZoomIn, the x variables are divided by xFact, and the
y variables are divided by yFact.
xmin
xFact
new xmin =
, etc.
¦
For a ZoomOut, the x variables are multiplied by xFact, and the
y variables are multiplied by yFact.
new xmin = xmin ù xFact , etc.
120
Chapter 6: Basic Function Graphing
The Zoom factors define the magnification and reduction used by
ZoomIn and ZoomOut.
Changing Zoom
Factors
1. From the „ Zoom menu, select C:SetFactors to display the ZOOM
FACTORS dialog box.
Zoom factors must be ‚ 1, but
they do not have to be integers.
The default setting is 4.
Tip: To exit without saving
any changes, press N.
2. Use D and C to highlight the value you want to change. Then:
¦
Type the new value. The old value is cleared automatically
when you begin typing.
— or —
¦
Press A or B to remove the highlighting, and then edit the old
value.
3. Press ¸ (after typing in an input box, you must press ¸
twice) to save any changes and exit the dialog box.
After using various Zoom tools, you may want to return to a previous
viewing window or save the current one.
Saving or Recalling
a Viewing Window
1. From the „ Zoom menu, select
B:Memory to display its
submenu.
2. Select the applicable item.
Select:
To:
1:ZoomPrev
Return to the viewing window displayed before
the previous zoom.
Note: You can store only
one set of Window variable
values at a time. Storing a
new set overwrites the old
set.
2:ZoomSto
3:ZoomRcl
Save the current viewing window. (The current
Window variable values are stored to the system
variables zxmin, zxmax, etc.)
Recall the viewing window last stored with
ZoomSto.
You can restore the Window variables to their default values at any
time.
Restoring the
Standard Viewing
Window
From the „ Zoom menu, select 6:ZoomStd.
Chapter 6: Basic Function Graphing
121
Using Math Tools to Analyze Functions
On the Graph screen, the ‡ Math toolbar menu has several
tools that help you analyze graphed functions.
Press ‡ from the Graph screen.
Overview of the
Math Menu
On the Derivatives submenu,
only dy/dx is available for
function graphing. The other
derivatives are available for
other graphing modes
(parametric, polar, etc.).
Math Tool
Description
Note: For Math results,
cursor coordinates are
stored in system variables
xc and yc (rc and qc if you
use polar coordinates).
Derivatives, integrals,
distances, etc., are stored in
the system variable
Value
Evaluates a selected y(x) function at a specified x
value.
Zero,
Minimum,
Maximum
Finds a zero (x-intercept), minimum, or maximum
point within an interval.
Intersection
Derivatives
‰f(x)dx
Finds the intersection of two functions.
Finds the derivative (slope) at a point.
sysMath.
Finds the approximate numerical integral over an
interval.
Inflection
Finds the inflection point of a curve, where its
second derivative changes sign (where the curve
changes concavity).
Distance
Tangent
Arc
Draws and measures a line between two points on
the same function or on two different functions.
Draws a tangent line at a point and displays its
equation.
Finds the arc length between two points along a
curve.
Shade
Depends on the number of functions graphed.
¦
If only one function is graphed, this shades the
function’s area above or below the x axis.
¦
If two or more functions are graphed, this shades
the area between any two functions within an
interval.
122
Chapter 6: Basic Function Graphing
1. From the Graph screen, press ‡ and select 1:Value.
Finding y(x) at a
Specified Point
2. Type the x value, which must be a real value between xmin and
xmax. The value can be an expression.
y1(x)=1.25xùcos(x)
3. Press ¸.
The cursor moves to that
Tip: You can also display
function coordinates by
tracing the function (…),
typing an x value, and
pressing ¸.
x value on the first function
selected in the Y= Editor, and
its coordinates are displayed.
4. Press D or C to move the cursor between functions at the
entered x value. The corresponding y value is displayed.
Note: If you press A or B, the free-moving cursor appears. You
may not be able to move it back to the entered x value.
1. From the Graph screen, press ‡ and select 2:Zero, 3:Minimum, or
Finding a Zero,
Minimum, or
Maximum within an
Interval
4:Maximum.
2. As necessary, use D and C to select the applicable function.
3. Set the lower bound for x. Either use A and B to move the cursor
to the lower bound or type its x value.
Tip: Typing x values is a
quick way to set bounds.
4. Press ¸. A 4 at the top of the screen marks the lower bound.
5. Set the upper bound, and
press ¸.
The cursor moves to the
solution, and its coordinates
are displayed.
1. From the Graph screen, press ‡ and select 5:Intersection.
Finding the
Intersection of Two
Functions within an
Interval
2. Select the first function, using D or C as necessary, and press
¸. The cursor moves to the next graphed function.
3. Select the second function, and press ¸.
4. Set the lower bound for x. Either use A and B to move the cursor
to the lower bound or type its x value.
5. Press ¸. A 4 at the top of the screen marks the lower bound.
y2(x)=2xì7
6. Set the upper bound, and
press ¸.
The cursor moves to the
intersection, and its
coordinates are displayed.
Chapter 6: Basic Function Graphing
123
1. From the Graph screen, press ‡ and select 6:Derivatives. Then
Finding the
Derivative (Slope) at
a Point
select 1:dy/dx from the submenu.
2. As necessary, use D and C to select the applicable function.
3. Set the derivative point.
Either move the cursor to the
point or type its x value.
4. Press ¸.
The derivative at that point is
displayed.
1. From the Graph screen, press ‡ and select 7:‰f(x)dx.
Finding the
Numerical Integral
over an Interval
2. As necessary, use D and C to select the applicable function.
3. Set the lower limit for x. Either use A and B to move the cursor
to the lower limit or type its x value.
Tip: Typing x values is a
quick way to set the limits.
4. Press ¸. A 4 at the top of the screen marks the lower limit.
5. Set the upper limit, and press
¸.
Tip: To erase the shaded
area, press † (ReGraph).
The interval is shaded, and its
approximate numerical
integral is displayed.
1. From the Graph screen, press ‡ and select 8:Inflection.
Finding an Inflection
Point within an
Interval
2. As necessary, use D and C to select the applicable function.
3. Set the lower bound for x. Either use A and B to move the cursor
to the lower bound or type its x value.
4. Press ¸. A 4 at the top of the screen marks the lower bound.
5. Set the upper bound, and
press ¸.
The cursor moves to the
inflection point (if any) within
the interval, and its
coordinates are displayed.
124
Chapter 6: Basic Function Graphing
1. From the Graph screen, press ‡ and select 9:Distance.
Finding the
Distance between
Two Points
2. As necessary, use D and C to select the function for the first
point.
3. Set the first point. Either use A or B to move the cursor to the
point or type its x value.
4. Press ¸. A + marks the point.
5. If the second point is on a different function, use D and C to
select the function.
6. Set the second point. (If you use the cursor to set the point, a line
is drawn as you move the cursor.)
7. Press ¸.
The distance between the two
points is displayed, along with
the connecting line.
1. From the Graph screen, press ‡ and select A:Tangent.
Drawing a Tangent
Line
2. As necessary, use D and C to select the applicable function.
Tip: To erase a drawn
tangent line, press †
(ReGraph).
3. Set the tangent point. Either
move the cursor to the point
or type its x value.
4. Press ¸.
The tangent line is drawn,
and its equation is
displayed.
1. From the Graph screen, press ‡ and select B:Arc.
Finding an Arc
Length
2. As necessary, use D and C to select the applicable function.
3. Set the first point of the arc. Either use A or B to move the
cursor or type the x value.
4. Press ¸. A + marks the first point.
5. Set the second point, and
press ¸.
A + marks the second point,
and the arc length is
displayed.
Chapter 6: Basic Function Graphing
125
You must have only one function graphed. If you graph two or more
functions, the Shade tool shades the area between two functions.
Shading the Area
between a Function
and the X Axis
1. From the Graph screen, press ‡ and select C:Shade. The screen
prompts for Above X axis?
2. Select one of the following. To shade the function’s area:
¦
¦
Above the x axis, press ¸.
Below the x axis, press:
TI.89: j [N]
TI.92 Plus: N
Note: If you do not press
A or B, or type an x value
when setting the lower and
upper bound, xmin and
xmax will be used as the
lower and upper bound,
respectively.
3. Set the lower bound for x. Either use A and B to move the cursor
to the lower bound or type its x value.
4. Press ¸. A 4 at the top of the screen marks the lower bound.
5. Set the upper bound, and
press ¸.
The bounded area is shaded.
Tip: To erase the shaded
area, press † (ReGraph).
You must have at least two functions graphed. If you graph only one
function, the Shade tool shades the area between the function and
the x axis.
Shading the Area
between Two
Functions within an
Interval
1. From the Graph screen, press ‡ and select C:Shade. The screen
prompts for Above?
2. As necessary, use D or C to select a function. (Shading will be
above this function.)
3. Press ¸. The cursor moves to the next graphed function, and
the screen prompts for Below?
4. As necessary, use D or C to select another function. (Shading
will be below this function.)
5. Press ¸.
Note: If you do not press
A or B, or type an x value
when setting the lower and
upper bound, xmin and
xmax will be used as the
lower and upper bound,
respectively.
6. Set the lower bound for x. Either use A and B to move the cursor
to the lower bound or type its x value.
7. Press ¸. A 4 at the top of the screen marks the lower bound.
Below
function
8. Set the upper bound, and
press ¸.
Tip: To erase the shaded
area, press † (ReGraph).
The bounded area is shaded.
Above
function
126
Chapter 6: Basic Function Graphing
Chapter 7:
Parametric Graphing
Preview of Parametric Graphing.......................................................... 128
Overview of Steps in Graphing Parametric Equations ..................... 129
Differences in Parametric and Function Graphing ........................... 130
7
This chapter describes how to graph parametric equations on the
TI-89 / TI-92 Plus. Before using this chapter, you should be familiar
with Chapter 6: Basic Function Graphing.
Parametric equations consist of both an x and y component, each
expressed as a function of the same independent variable t.
You can use parametric equations to model projectile motion. The
position of a moving projectile has a horizontal (x) and vertical
(y) component expressed as a function of time (t). For example:
(x(t),y(t))
y(t) = v0 t sin q – (g/2)tñ
x(t) = v0 t cos q
The graph shows the path of the projectile over time, assuming
that only uniform gravity (no drag forces, etc.) is acting on the
projectile.
Chapter 7: Parametric Graphing
127
Preview of Parametric Graphing
Graph the parametric equations describing the path of a ball kicked at an angle (q) of 60¡
with an initial velocity (v0) of 15 meters/sec. The gravity constant g = 9.8 meters/sec2.
Ignoring air resistance and other drag forces, what is the maximum height of the ball and
when does it hit the ground?
³
›
TI-89
Keystrokes
TI-92 Plus
Keystrokes
Steps
Display
3
B 2
¸
3
B 2
¸
1. Display the MODE dialog box.
For Graph mode, select
PARAMETRIC.
¥ #
ƒ 8 ¸
¸
¥ #
ƒ 8 ¸
¸
2. Display and clear the Y= Editor.
Then define the horizontal
xt1(t)=15tù cos(60¡)
component xt1(t) = v0t cos q.
1 5 T p
2 X 6 0
2 “d ¸ 2 “d ¸
1 5 T p
X 6 0
Enter values for v0 and q.
TI-89: Type T p 2 X, not
T 2 X.
TI-92 Plus: Type T p X, not T X.
Enter a ¡ symbol by typing either
2 “ or 2 I 2 1. This ensures a
number is interpreted as degrees,
regardless of the angle mode.
¸
1 5 T p
¸
1 5 T p
3. Define the vertical component
yt1(t) = v0t sin q – (g/2)t2.
2 W 6 0
2 “d | c
9 . 8 e 2 d
T Z 2 ¸
W 6 0
Enter values for v0 ,q, and g.
2 “d | c
9 . 8 e 2 d
T Z 2 ¸
¥ $
0 D 3 D
¥ $
0 D 3 D
4. Display the Window Editor.
Enter Window variables
. 0 2 D · 2 D . 0 2 D · 2 D
appropriate for this example.
2 5 D 5 D
· 2 D 1 0 D
5
2 5 D 5 D
· 2 D 1 0 D
5
You can press either D or ¸ to
enter a value and move to the next
variable.
¥ %
…
¥ %
…
5. Graph the parametric equations
to model the path of the ball.
6. Select Trace. Then move the
cursor along the path to find the:
B or A
as necessary
B or A
as necessary
¦
y value at maximum height.
¦
t value where the ball hits the
ground.
128
Chapter 7: Parametric Graphing
Overview of Steps in Graphing Parametric Equations
To graph parametric equations, use the same general steps
used for y(x) functions as described in Chapter 6: Basic
Function Graphing. Any differences that apply to parametric
equations are described on the following pages.
Graphing
Parametric
Equations
Set Graph mode (3)
to PARAMETRIC.
Also set Angle mode,
if necessary.
Define x and y
components on
Y= Editor (¥ #).
Select (†) which
Tip: To turn off any stat
data plots (Chapter 16),
press ‡ 5 or use † to
deselect them.
defined equations to
graph. Select the x or y
component, or both.
Set the display style
for an equation.
You can set either the
x or y component.
Tip: This is optional. For
multiple equations, this helps
visually distinguish one from
another.
TI-89: 2 ˆ
TI-92 Plus:
ˆ
Define the viewing
window (¥ $).
Tip: „ Zoom also changes
the viewing window.
Change the graph
format if necessary.
ƒ 9
— or —
TI-89: ¥ Í
TI-92 Plus: ¥ F
Graph the selected
equations (¥ %).
From the Graph screen, you can:
Exploring the Graph
¦
¦
¦
Display the coordinates of any pixel by using the free-moving
cursor, or of a plotted point by tracing a parametric equation.
Use the „ Zoom toolbar menu to zoom in or out on a portion of
the graph.
Use the ‡ Math toolbar menu to find derivatives, tangents, etc.
Some menu items are not available for parametric graphs.
Chapter 7: Parametric Graphing
129
Differences in Parametric and Function Graphing
This chapter assumes that you already know how to graph y(x)
functions as described in Chapter 6: Basic Function Graphing.
This section describes the differences that apply to parametric
equations.
Use 3 to set Graph = PARAMETRIC before you define equations or
set Window variables. The Y= Editor and the Window Editor let you
enter information for the current Graph mode setting only.
Setting the
Graph Mode
To graph a parametric equation, you must define both its x and y
components. If you define only one component, the equation cannot
be graphed. (However, you can use single components to generate
an automatic table as described in Chapter 13.)
Defining Parametric
Equations on the
Y= Editor
Enter x and y components
on separate lines.
You can define
xt1(t) through xt99(t) and
yt1(t) through yt99(t).
Be careful when using implied multiplication with t. For example:
Note: When using t, be sure
implied multiplication is valid
for your situation.
Enter:
Instead of: Because:
tcos(60) tcos is interpreted as a user-defined
tù cos(60)
function called tcos, not as implied
multiplication.
In most cases, this refers to a nonexistent
function. So the TI-89 / TI-92 Plus simply
returns the function name, not a number.
Tip: You can use the Define
command from the Home
screen (see Appendix A) to
define functions and
equations for any graphing
mode, regardless of the
current mode.
The Y= Editor maintains an independent function list for each Graph
mode setting. For example, suppose:
¦
In FUNCTION graphing mode, you define a set of y(x) functions.
You change to PARAMETRIC graphing mode and define a set of x
and y components.
¦
When you return to FUNCTION graphing mode, your y(x) functions
are still defined in the Y= Editor. When you return to
PARAMETRIC graphing mode, your x and y components are still
defined.
130
Chapter 7: Parametric Graphing
To graph a parametric equation, select either its x or y component or
both. When you enter or edit a component, it is selected
automatically.
Selecting
Parametric
Equations
Selecting x and y components separately can be useful for tables as
described in Chapter 13. With multiple parametric equations, you can
select and compare all the x components or all the y components.
You can set the style for either the x or y component. For example, if
you set the x component to Dot, the TI-89 / TI-92 Plus automatically
sets the y component to Dot.
Selecting the
Display Style
Tip: Use the Animate and
Path styles for interesting
projectile-motion effects.
The Above and Below styles are not available for parametric
equations and are dimmed on the Y= Editor’s Style toolbar menu.
The Window Editor maintains an independent set of Window
variables for each Graph mode setting (just as the Y= Editor
maintains independent function lists). Parametric graphs use the
following Window variables.
Window Variables
Variable
Description
tmin, tmax
Smallest and largest t values to evaluate.
tstep
Increment for the t value. Parametric equations are
Note: You can use a
negative tstep. If so, tmin
must be greater than tmax.
evaluated at:
x(tmin)
y(tmin)
x(tmin+tstep)
x(tmin+2(tstep))
... not to exceed ...
x(tmax)
y(tmin+tstep)
y(tmin+2(tstep))
... not to exceed ...
y(tmax)
xmin, xmax, Boundaries of the viewing window.
ymin, ymax
xscl, yscl
Distance between tick marks on the x and y axes.
Standard values (set when you select 6:ZoomStd from the „ Zoom
toolbar menu) are:
xmin = ë 10.
ymin = ë 10.
tmin = 0.
tmax = 2p (6.2831853... radians
or 360 degrees)
xmax = 10.
ymax = 10.
tstep =p/24 (.1308996... radians
or 7.5 degrees)
xscl = 1.
yscl = 1.
You may need to change the standard values for the t variables
(tmin, tmax, tstep) to ensure that enough points are plotted.
Chapter 7: Parametric Graphing
131
As in function graphing, you can explore a graph by using the
following tools.
Exploring a Graph
Tool
For Parametric Graphs:
Free-Moving Works just as it does for function graphs.
Cursor
„ Zoom
Works just as it does for function graphs, with the
following exceptions:
¦
Only x (xmin, xmax, xscl) and y (ymin, ymax, yscl)
Window variables are affected.
¦
The t Window variables (tmin, tmax, tstep) are not
affected unless you select 6:ZoomStd (which sets
tmin = 0, tmax = 2p, and tstep = p/24).
… Trace
Lets you move the cursor along a graph one tstep at a
time.
Tip: During a trace, you can
also evaluate x(t) and y(t) by
typing the t value and
pressing ¸.
¦
When you begin a trace, the cursor is on the first
selected parametric equation at tmin.
¦
QuickCenter applies to all directions. If you move
the cursor off the screen (top or bottom, left or
right), press ¸ to center the viewing window
on the cursor location.
Tip: You can use
QuickCenter at any time
during a trace, even if the
cursor is still on the screen.
¦
Automatic panning is not available. If you move the
cursor off the left or right side of the screen, the
TI-89 / TI-92 Plus will not automatically pan the
viewing window. However, you can use
QuickCenter.
‡ Math
Only 1:Value, 6:Derivatives, 9:Distance, A:Tangent, and
B:Arc are available for parametric graphs. These tools
are based on t values. For example:
¦
1:Value displays x and y values for a specified
t value.
¦
6:Derivatives finds dy/dx, dy/dt, or dx/dt at a point
defined for a specified t value.
132
Chapter 7: Parametric Graphing
Polar Graphing
Preview of Polar Graphing.................................................................... 134
Overview of Steps in Graphing Polar Equations................................ 135
Differences in Polar and Function Graphing...................................... 136
8
This chapter describes how to graph polar equations on the
TI-89 / TI-92 Plus. Before using this chapter, you should be familiar
with Chapter 6: Basic Function Graphing.
Consider a point (x,y) as shown below. In a polar equation, the
point’s distance (r) from the origin is a function of its angle (q)
from the positive x axis. Polar equations are expressed as r = f(q).
To convert between rectangular (x,y)
and polar coordinates (r,q):
Y
(x,y)
y
x = r cos q
rñ = xñ + yñ
x
sign(y)ø p
x
y = r sin q
q = ì tan–1
+
r
y
2
Note: To find q, use the
θ
TI-89 / TI-92 Plus function angle(x+iy),
which automatically performs the
calculation shown above.
X
You can view the coordinates of any point in either polar (r,q) or
rectangular (x,y) form.
Chapter 8: Polar Graphing
133
Preview of Polar Graphing
The graph of the polar equation A sin Bq forms the shape of a rose. Graph the rose for
A=8 and B=2.5. Then explore the appearance of the rose for other values of A and B.
³
›
TI-89
Keystrokes
TI-92 Plus
Keystrokes
Steps
Display
3
B 3
D D D B 1
¸
3
B 3
D D D B 1
¸
1. Display the MODE dialog box.
For Graph mode, select POLAR.
For Angle mode, select RADIAN.
¥ #
ƒ 8 ¸
¸
¥ #
ƒ 8 ¸
¸
2. Display and clear the Y= Editor.
Then define the polar equation
r1(q) = A sin Bq.
8 2 W 2 . 5 8 W 2 . 5 Ï
Enter 8 and 2.5 for A and B,
respectively.
¥ Ï d ¸
d ¸
3. Select the ZoomStd viewing
window, which graphs the
equation.
„ 6
„ 6
• The graph shows only five rose
petals.
− In the standard viewing window,
the Window variable qmax = 2p.
The remaining petals have q
values greater than 2p.
• The rose does not appear
symmetrical.
− Both the x and y axes range from
ì 10 to 10. However, this range is
spread over a longer distance
along the x axis than the y axis.
¥ $
D
¥ $
D
4. Display the Window Editor, and
change qmax to 4p.
4 2 T
4 2 T
4p will be evaluated to a number
when you leave the Window Editor.
„ 5
„ 5
5. Select ZoomSqr, which regraphs
the equation.
ZoomSqr increases the range along
the x axis so that the graph is shown
in correct proportion.
6. You can change values for A and
B as necessary and regraph the
equation.
134
Chapter 8: Polar Graphing
Overview of Steps in Graphing Polar Equations
To graph polar equations, use the same general steps used
for y(x) functions as described in Chapter 6: Basic Function
Graphing. Any differences that apply to polar equations are
described on the following pages.
Graphing Polar
Equations
Set Graph mode (3)
to POLAR.
Also set Angle mode,
if necessary.
Define polar equations
on Y= Editor (¥ #).
Tip: To turn off any stat
Select (†) which
defined equations to
data plots (Chapter 16),
press ‡ 5 or use † to
deselect them.
graph.
Set the display style
for an equation.
Tip: This is optional. For
multiple equations, this helps
TI-89: 2 ˆ
visually distinguish one from
another.
TI-92 Plus: ˆ
Define the viewing
window (¥ $).
Tip: „ Zoom also changes
the viewing window.
Change the graph
format,if necessary.
ƒ 9
Tip: To display r and q, set
Coordinates = POLAR.
— or —
TI-89: ¥ Í
TI-92 Plus: ¥ F
Graph the selected
equations (¥ %).
From the Graph screen, you can:
Exploring the Graph
¦
¦
¦
Display the coordinates of any pixel by using the free-moving
cursor, or of a plotted point by tracing a polar equation.
Use the „ Zoom toolbar menu to zoom in or out on a portion of
the graph.
Use the ‡ Math toolbar menu to find derivatives, tangents, etc.
Some menu items are not available for polar graphs.
Chapter 8: Polar Graphing
135
Differences in Polar and Function Graphing
This chapter assumes that you already know how to graph y(x)
functions as described in Chapter 6: Basic Function Graphing.
This section describes the differences that apply to polar
equations.
Use 3 to set Graph = POLAR before you define equations or set
Window variables. The Y= Editor and the Window Editor let you
enter information for the current Graph mode setting only.
Setting the
Graph Mode
You should also set the Angle mode to the units (RADIAN or DEGREE)
you want to use for q.
Defining Polar
Equations on the
Y= Editor
You can define polar
equations for r1(q)
through r99(q).
Tip: You can use the Define
command from the Home
screen (see Appendix A) to
define functions and
equations for any graphing
mode, regardless of the
current mode.
The Y= Editor maintains an independent function list for each Graph
mode setting. For example, suppose:
¦
In FUNCTION graphing mode, you define a set of y(x) functions.
You change to POLAR graphing mode and define a set of r(q)
equations.
¦
When you return to FUNCTION graphing mode, your y(x) functions
are still defined in the Y= Editor. When you return to POLAR
graphing mode, your r(q) equations are still defined.
The Above and Below styles are not available for polar equations and
are dimmed on the Y= Editor’s Style toolbar menu.
Selecting the
Display Style
136
Chapter 8: Polar Graphing
The Window Editor maintains an independent set of Window
variables for each Graph mode setting (just as the Y= Editor
maintains independent function lists). Polar graphs use the following
Window variables.
Window Variables
Variable
Description
qmin, qmax Smallest and largest q values to evaluate.
qstep
Increment for the q value. Polar equations are
evaluated at:
Note: You can use a
negative qstep. If so, qmin
must be greater than qmax.
r(qmin)
r(qmin+qstep)
r(qmin+2(qstep))
... not to exceed ...
r(qmax)
xmin, xmax, Boundaries of the viewing window.
ymin, ymax
xscl, yscl
Distance between tick marks on the x and y axes.
Standard values (set when you select 6:ZoomStd from the „ Zoom
toolbar menu) are:
xmin = ë 10.
ymin = ë 10.
qmin = 0.
qmax = 2p (6.2831853... radians
or 360 degrees)
xmax = 10.
ymax = 10.
qstep = p/24 (.1308996... radians
or 7.5 degrees)
xscl = 1.
yscl = 1.
You may need to change the standard values for the q variables
(qmin, qmax, qstep) to ensure that enough points are plotted.
To display coordinates as r and q values, use:
Setting the Graph
Format
ƒ 9
— or —
TI-89: ¥ Í
TI-92 Plus: ¥ F
to set Coordinates = POLAR. If Coordinates = RECT, the polar
equations will be graphed properly, but coordinates will be displayed
as x and y.
When you trace a polar equation, the q coordinate is shown even if
Coordinates = RECT.
Chapter 8: Polar Graphing
137
As in function graphing, you can explore a graph by using the
following tools. Any displayed coordinates are shown in polar or
rectangular form as set in the graph format.
Exploring a Graph
Tool
For Polar Graphs:
Free-Moving Works just as it does for function graphs.
Cursor
„ Zoom
Works just as it does for function graphs.
¦
Only x (xmin, xmax, xscl) and y (ymin, ymax, yscl)
Window variables are affected.
¦
The q Window variables (qmin, qmax, qstep) are not
affected unless you select 6:ZoomStd (which sets
qmin = 0, qmax = 2p, and qstep = p/24).
… Trace
Lets you move the cursor along a graph one qstep at a
time.
Tip: During a trace, you can
also evaluate r(q) by typing
the q value and pressing
¸.
¦
When you begin a trace, the cursor is on the first
selected equation at qmin.
Tip: You can use
¦
QuickCenter applies to all directions. If you move
the cursor off the screen (top or bottom, left or
right), press ¸ to center the viewing window
on the cursor location.
QuickCenter at any time
during a trace, even if the
cursor is still on the screen.
¦
Automatic panning is not available. If you move the
cursor off the left or right side of the screen, the
TI-89 / TI-92 Plus will not automatically pan the
viewing window. However, you can use
QuickCenter.
‡ Math
Only 1:Value, 6:Derivatives, 9:Distance, A:Tangent, and
B:Arc are available for polar graphs. These tools are
based on q values. For example:
¦
1:Value displays an r value (or x and y, depending
on the graph format) for a specified q value.
¦
6:Derivatives finds dy/dx or dr/dq at a point defined
for a specified q value.
138
Chapter 8: Polar Graphing
Sequence Graphing
Preview of Sequence Graphing ............................................................ 140
Overview of Steps in Graphing Sequences......................................... 141
Differences in Sequence and Function Graphing .............................. 142
Setting Axes for Time, Web, or Custom Plots.................................... 146
Using Web Plots...................................................................................... 147
Using Custom Plots................................................................................ 150
Using a Sequence to Generate a Table................................................ 151
9
This chapter describes how to graph sequences on the
TI-89 / TI-92 Plus. Before using this chapter, you should be familiar
with Chapter 6: Basic Function Graphing.
Sequences are evaluated only at consecutive integer values. The
two general types of sequences are:
¦
Nonrecursive — The nth term in the sequence is a function
of the independent variable n.
Each term is independent of any other terms. In the following
example sequence, you can calculate u(5) directly, without
first calculating u(1) or any other previous term.
n is always a series of
consecutive integers,
starting at any positive
integer or zero.
u(n) = 2 ù n for n = 1, 2, 3, ...
u(n) = 2 ù n gives the sequence 2, 4, 6, 8, 10, ...
Note: A recursive sequence
can reference another
sequence. For example,
u2(n) = nñ +u1(nì 1).
¦
Recursive — The nth term is defined in relation to one or
more previous terms, represented by u(nì 1), u(nì 2), etc. In
addition to previous terms, a recursive sequence may also be
defined in relation to n (such as u(n) = u(nì 1) + n).
In the following example sequence, you cannot calculate u(5)
without first calculating u(1), u(2), u(3), and u(4).
The first term is undefined
since it has no previous term.
So you must specify an initial
u(n) = 2 ù u(nì 1) for n = 1, 2, 3, ...
value to use for the first term.
Using an initial value of 1:
u(n) = 2 ù u(nì 1) gives the sequence 1, 2, 4, 8, 16, ...
The number of initial values you need to specify depends on
how deep the recursion goes. For example, if each term is
defined in relation to the previous two terms, you must specify
initial values for the first two terms.
Chapter 9: Sequence Graphing
139
Preview of Sequence Graphing
A small forest contains 4000 trees. Each year, 20% of the trees will be harvested (with 80%
remaining) and 1000 new trees will be planted. Using a sequence, calculate the number of
trees in the forest at the end of each year. Does it stabilize at a certain number?
Initially
After 1 Year
After 2 Years
.8 x (.8 x 4000 + 1000) .8 x (.8 x (.8 x 4000 + 1000) + 1000) . . .
+ 1000 + 1000
After 3 Years
. . .
4000
.8 x 4000
+ 1000
³
›
TI-89
Keystrokes
TI-92 Plus
Keystrokes
Steps
Display
3
B 4
¸
3
B 4
¸
1. Display the MODE dialog box.
For Graph mode, select
SEQUENCE.
¥ #
ƒ 8 ¸
¸
¥ #
ƒ 8 ¸
¸
2. Display and clear the Y= Editor.
Then define the sequence as
u1(n) = iPart(.8ù u1(nì 1)+1000).
2 I 1 4
2 I 1 4
Use iPart to take the integer part of
the result. No fractional trees are
harvested.
. 8 j U 1 c . 8 U 1 c
j N | 1 d « N | 1 d «
1 0 0 0 d ¸ 1 0 0 0 d ¸
To access iPart(, you can use
2 I, simply type it, or select it
from the CATALOG.
¸
4 0 0 0 ¸
¸
4 0 0 0 ¸
3. Define ui1 as the initial value
that will be used as the first
term.
4. Display the Window Editor. Set
¥ $
0 D 5 0 D
1 D 1 D
¥ $
0 D 5 0 D
1 D 1 D
the n and plot Window variables.
nmin=0 and nmax=50 evaluate the
size of the forest over 50 years.
0 D 5 0 D
1 0 D 0 D
6 0 0 0 D
1 0 0 0
0 D 5 0 D
1 0 D 0 D
6 0 0 0 D
1 0 0 0
5. Set the x and y Window variables
to appropriate values for this
example.
6. Display the Graph screen.
¥ %
¥ %
7. Select Trace. Move the cursor to
trace year by year. How many
years (nc) does it take the
…
…
B and A
as necessary
B and A
as necessary
By default, sequences use
the Square display style.
number of trees (yc) to stabilize?
Trace begins at nc=0.
nc is the number of years.
xc = nc since n is plotted on the x
axis.
yc = u1(n), the number of trees at
year n.
140
Chapter 9: Sequence Graphing
Overview of Steps in Graphing Sequences
To graph sequences, use the same general steps used for y(x)
functions as described in Chapter 6: Basic Function Graphing.
Any differences are described on the following pages.
Graphing
Sequences
Set Graph mode (3)
to SEQUENCE.
Also set Angle mode,
if necessary.
Define sequences and,
if needed, initial values
on Y= Editor (¥ #).
Select (†) which
defined sequences to
graph. Do not select
initial values.
Tip: To turn off any stat
data plots (Chapter 16),
press ‡ 5 or use † to
deselect them.
Set the display style
for a sequence.
Note: For sequences, the
default style is Square.
TI-89: 2 ˆ
TI-92 Plus: ˆ
Tip: „ Zoom also changes
the viewing window.
Define the viewing
window (¥ $).
Change the graph
format if necessary.
ƒ 9
— or —
TI-89: ¥ Í
TI-92 Plus: ¥ F
Graph the selected
sequences (¥ %).
From the Graph screen, you can:
Exploring the Graph
¦
¦
¦
¦
Display the coordinates of any pixel by using the free-moving
cursor, or of a plotted point by tracing a sequence.
Use the „ Zoom toolbar menu to zoom in or out on a portion of
the graph.
Tip: You can also evaluate
a sequence while tracing.
Simply enter the n value
directly from the keyboard.
Use the ‡ Math toolbar menu to evaluate a sequence. Only
1:Value is available for sequences.
Plot sequences on Time (the default), Web, or Custom axes.
Chapter 9: Sequence Graphing
141
Differences in Sequence and Function Graphing
This chapter assumes that you already know how to graph y(x)
functions as described in Chapter 6: Basic Function Graphing.
This section describes the differences that apply to sequences.
Use 3 to set Graph = SEQUENCE before you define sequences or
set Window variables. The Y= Editor and the Window Editor let you
enter information for the current Graph mode setting only.
Setting the
Graph Mode
Defining Sequences
on the Y= Editor
You can define sequences
u1(n) through u99(n).
Use ui only for recursive
sequences, which require
one or more initial values.
Note: You must use a list to
enter two or more initial
values.
If a sequence requires more than one initial value, enter them as a list
enclosed in braces { } and separated by commas.
Enter {1,0} even though
{1 0} is shown in the
sequence list.
If a sequence requires an initial value but you do not enter one, you
will get an error when graphing.
Note: Optionally, for
On the Y= Editor, Axes lets you select the axes that are used to
graph the sequences. For more detailed information, refer to page 146.
sequences only, you can
select different axes for the
graph. TIME is the default.
Axes
Description
TIME
Plots n on the x axis and u(n) on the y axis.
WEB
Plots u(n-1) on the x axis and u(n) on the y axis.
CUSTOM
Lets you select the x and y axes.
Tip: You can use the Define
command from the Home
screen (see Appendix A) to
define functions and
equations for any graphing
mode, regardless of the
current mode.
The Y= Editor maintains an independent function list for each Graph
mode setting. For example, suppose:
¦
In FUNCTION graphing mode, you define a set of y(x) functions.
You change to SEQUENCE graphing mode and define a set of u(n)
sequences.
¦
When you return to FUNCTION graphing mode, your y(x) functions
are still defined in the Y= Editor. When you return to SEQUENCE
graphing mode, your u(n) sequences are still defined.
142
Chapter 9: Sequence Graphing
With TIME and WEB axes, the TI-89 / TI-92 Plus graphs only the
selected sequences. If you entered any sequences that require an
initial value, you must enter the corresponding ui value.
Selecting
Sequences
Note: With TIME and
You can select a sequence.
CUSTOM axes, all defined
sequences are evaluated
even if they are not plotted.
You cannot select its
initial value.
With CUSTOM axes, when you specify a sequence in the custom
settings, it is graphed regardless of whether it is selected.
Only the Line, Dot, Square, and Thick styles are available for sequence
graphs. Dot and Square mark only those discrete integer values (in
plotstep increments) at which a sequence is plotted.
Selecting the
Display Style
The Window Editor maintains an independent set of Window
variables for each Graph mode setting (just as the Y= Editor
maintains independent function lists). Sequence graphs use the
following Window variables.
Window Variables
Variable
Description
Note: Both nmin and nmax
must be positive integers,
although nmin can be zero.
nmin, nmax Smallest and largest n values to evaluate. Sequences
are evaluated at:
u(nmin)
u(nmin+1)
u(nmin+2)
... not to exceed ...
u(nmax)
plotStrt
The term number that will be the first one plotted
(depending on plotstep). For example, to begin plotting
with the 2nd term in the sequence, set plotstrt = 2. The
first term will be evaluated at nmin but not plotted.
Note: nmin, nmax, plotstrt
and plotstep must be
integers ‚ 1. If you do not
enter integers, they will be
rounded to integers.
plotStep
Incremental n value for graphing only. This does not
affect how the sequence is evaluated, only which points
are plotted. For example, suppose plotstep = 2. The
sequence is evaluated at each consecutive integer but
is plotted at only every other integer.
xmin, xmax, Boundaries of the viewing window.
ymin, ymax
xscl, yscl
Distance between tick marks on the x and y axes.
Chapter 9: Sequence Graphing
143
Standard values (set when you select 6:ZoomStd from the „ Zoom
toolbar menu) are:
Window Variables
(Continued)
xmin = ë 10.
xmax = 10.
xscl = 1.
ymin = ë 10.
ymax = 10.
yscl = 1.
nmin = 1.
nmax = 10.
plotStrt = 1.
plotStep = 1.
You may need to change the standard values for the n and plot
variables to ensure that sufficient points are plotted.
To see how plotstrt affects a graph, look at the following examples of
a recursive sequence.
This graph is plotted beginning
with the 1st term.
Note: Both of these graphs
use the same Window
plotStrt=1
variables, except for plotstrt.
This graph is plotted beginning
with the 9th term.
plotStrt=9
With TIME axes (from Axes on the Y= Editor), you can set plotstrt = 1
and still graph only a selected part of the sequence. Simply define a
viewing window that shows only the area of the coordinate plane
you want to view.
You could set:
¦
¦
xmin = first n value to graph
xmax = nmax (although you
can use other values)
nmax
plotStrt=1
¦
ymin and ymax = expected
values for the sequence
The Graph Order format is not available.
Changing the Graph
Format
¦
With TIME or CUSTOM axes, multiple sequences are always
plotted simultaneously.
¦
With WEB axes, multiple sequences are always plotted
sequentially.
144
Chapter 9: Sequence Graphing
As in function graphing, you can explore a graph by using the
following tools. Any displayed coordinates are shown in rectangular
or polar form as set in the graph format.
Exploring a Graph
Tool
For Sequence Graphs:
Free-Moving Works just as it does for function graphs.
Cursor
„ Zoom
Works just as it does for function graphs.
¦
Only x (xmin, xmax, xscl) and y (ymin, ymax, yscl)
Window variables are affected.
¦
The n and plot Window variables (nmin, nmax,
plotStrt, plotStep) are not affected unless you select
6:ZoomStd (which sets all Window variables to
their standard values).
Tip: During a trace, you can
evaluate a sequence by
typing a value for n and
pressing ¸.
… Trace
Depending on whether you use TIME, CUSTOM, or
WEB axes, Trace operates very differently.
¦
With TIME or CUSTOM axes, you move the cursor
along the sequence one plotstep at a time. To move
approximately ten plotted points at a time, press
2B or 2A.
−
When you begin a trace, the cursor is on the
first selected sequence at the term number
specified by plotstrt, even if it is outside the
viewing window.
−
QuickCenter applies to all directions. If you
move the cursor off the screen (top or bottom,
left or right), press ¸ to center the viewing
window on the cursor location.
Tip: You can use
QuickCenter at any time
during a trace, even if the
cursor is still on the screen.
¦
With WEB axes, the trace cursor follows the web,
not the sequence. Refer to page 147.
‡ Math
Only 1:Value is available for sequence graphs.
¦
With TIME and WEB axes, the u(n) value
(represented by yc) is displayed for a specified
n value.
¦
With CUSTOM axes, the values that correspond to
x and y depend on the axes you choose.
Chapter 9: Sequence Graphing
145
Setting Axes for Time, Web, or Custom Plots
For sequences only, you can select different types of axes for
the graph. Examples of the different types are given later in
this chapter.
From the Y= Editor, Axes:
Displaying the
AXES Dialog Box
¦
¦
Depending on the current Axes
setting, some items may be
dimmed.
To exit without making any
changes, press N.
Item
Description
Axes
TIME — Plots u(n) on the y axis and n on the x axis.
WEB — Plots u(n) on the y axis and u(n-1) on the
x axis.
CUSTOM — Lets you select the x and y axes.
Build Web
Active only when Axes = WEB, this specifies whether a
web is drawn manually (TRACE) or automatically
(AUTO).
Refer to page 147 for more information.
X Axis and
Active only when Axes = CUSTOM, these let you select
Y Axis
the value or sequence to plot on the x and y axes.
Refer to page 150 for more information.
To change any of these settings, use the same procedure that you use
to change other types of dialog boxes, such as the MODE dialog box.
146
Chapter 9: Sequence Graphing
Using Web Plots
A web plot graphs u(n) vs. u(nì 1), which lets you study the
long-term behavior of a recursive sequence. The examples in
this section also show how the initial value can affect a
sequence’s behavior.
A sequence must meet the following criteria; otherwise, it will not be
graphed properly on WEB axes. The sequence:
Valid Functions for
Web Plots
¦
Must be recursive with only one recursion level;
u(nì 1) but not u(nì 2).
¦
¦
Cannot reference n directly.
Cannot reference any other defined sequence except itself.
After you select WEB axes and display the Graph screen, the
TI-89 / TI-92 Plus:
When You Display
the Graph Screen
¦
¦
Draws a y=x reference line.
Plots the selected sequence definitions as functions, with u(nì 1)
as the independent variable. This effectively converts a recursive
sequence into a nonrecursive form for graphing.
For example, consider the sequence u1(n) = 5ìu1(nì1) and an
initial value of ui1=1. The TI-89 / TI-92 Plus draws the y=x reference
line and then plots y = 5ì x.
After the sequence is plotted, the web may be displayed manually or
automatically, depending on how you set Build Web on the AXES
dialog box.
Drawing the Web
If Build Web =
The web is:
TRACE
Not drawn until you press …. The web is then
drawn step-by-step as you move the trace cursor
(you must have an initial value before using Trace).
Note: With WEB axes, you cannot trace along the
sequence itself as you do in other graphing modes.
AUTO
Drawn automatically. You can then press … to
trace the web and display its coordinates.
The web:
Note: The web starts at
plotstrt. The value of n is
incremented by 1 each time
the web moves to the
sequence (plotStep is
ignored).
1. Starts on the x axis at the initial value ui (when plotstrt = 1).
2. Moves vertically (either up or down) to the sequence.
3. Moves horizontally to the y=x reference line.
4. Repeats this vertical and horizontal movement until n=nmax.
Chapter 9: Sequence Graphing
147
1. On the Y= Editor (¥ #), define u1(n) = ë.8u1(nì 1) + 3.6. Set
Example:
Convergence
initial value ui1 = ë 4.
2. Set Axes = TIME.
nmin=1.
xmin=0.
xmax=25. ymax=10.
xscl=1. yscl=1.
ymin=ë 10.
3. On the Window Editor
(¥ $), set the Window
variables.
nmax=25.
plotstrt=1.
plotstep=1.
u(n)
4. Graph the sequence
(¥ %).
n
By default, a sequence uses
the Square display style.
5. On the Y= Editor, set Axes = WEB and Build Web = AUTO.
nmin=1.
xmin=ë 10. ymin=ë 10.
xmax=10. ymax=10.
6. On the Window Editor, change
the Window variables.
nmax=25.
plotStrt=1.
plotStep=1.
xscl=1.
yscl=1.
u(n)
Tip: During a trace, you can
move the cursor to a
specified n value by typing
the value and pressing
¸.
7. Regraph the sequence.
y=ë.8x + 3.6
u(nì1)
Web plots are always shown
as lines, regardless of the
selected display style.
y=x
Tip: When the nc value
8. Press …. As you press B, the trace cursor follows the web. The
screen displays the cursor coordinates nc, xc, and yc (where xc
and yc represent u(nì 1) and u(n), respectively).
changes, the cursor is on
the sequence. The next time
you press B, nc stays the
same but the cursor is now
on the y=x reference line.
As you trace to larger values of nc, you can see xc and yc approach
the convergence point.
1. On the Y= Editor (¥ #), define u1(n) = 3.2u1(nì 1) ì.8(u1(nì 1))2.
Example:
Divergence
Set initial value ui1 = 4.45.
2. Set Axes = TIME.
nmin=0.
xmin=0.
xmax=10. ymax=10.
xscl=1.
ymin=ë 75.
3. On the Window Editor
(¥ $), set the
Window variables.
nmax=10.
plotStrt=1.
plotStep=1.
yscl=1.
u(n)
4. Graph the sequence
n
(¥ % ).
Because the sequence
quickly diverges to large
negative values, only a few
points are plotted.
148
Chapter 9: Sequence Graphing
5. On the Y= Editor, set Axes = WEB and Build Web = AUTO.
nmin=0.
xmin=ë 10. ymin=ë 10.
xmax=10. ymax=10.
6. On the Window Editor, change
the Window variables.
nmax=10.
plotStrt=1.
plotStep=1.
xscl=1.
yscl=1.
u(n)
7. Regraph the sequence.
u(nì1)
The web plot shows how
quickly the sequence
diverges to large negative
values.
y=x
y=3.2xì.8xñ
This example shows how the initial value can affect a sequence.
Example:
Oscillation
1. On the Y= Editor (¥ #), use the same sequence defined in the
divergence example: u1(n) = 3.2u1(nì 1) ì.8(u1(nì 1))2. Set initial
value ui1 = 0.5.
2. Set Axes = TIME.
nmin=1.
nmax=100. xmax=100.
plotStrt=1.
plotStep=1.
xmin=0.
ymin=0.
ymax=5.
yscl=1.
3. On the Window Editor
(¥ $), set the
Window variables.
xscl=10.
u(n)
4. Graph the sequence
Note: Compare this graph
with the divergence
example. This is the same
sequence with a different
initial value.
(¥ %).
n
5. On the Y= Editor, set Axes = WEB and Build Web = AUTO.
nmin=1.
xmin=ë 2.68 ymin=ë 4.7
6. On the Window Editor, change
the Window variables.
nmax=100. xmax=6.47
plotStrt=1. xscl=1.
plotStep=1.
ymax=4.7
yscl=1.
u(n)
Note: The web moves to an
orbit oscillating between two
stable points.
7. Regraph the sequence.
u(nì1)
y=x
y=3.2xì.8xñ
8. Press …. Then use B to trace the web.
As you trace to larger values of nc, notice that xc and yc oscillate
between 2.05218 and 3.19782.
Note: By starting the web
plot at a later term, the
stable oscillation orbit is
shown more clearly.
9. On the Window Editor, set
plotstrt=50. Then regraph the
sequence.
Chapter 9: Sequence Graphing
149
Using Custom Plots
CUSTOM axes give you great flexibility in graphing sequences.
As shown in the following example, CUSTOM axes are
particularly effective for showing relationships between one
sequence and another.
Using the predator-prey model in biology, determine the numbers of
rabbits and foxes that maintain population equilibrium in a certain
region.
Example: Predator-
Prey Model
R
M
K
W
G
D
=
=
=
=
=
=
Number of rabbits
Growth rate of rabbits if there are no foxes (use .05)
Rate at which foxes can kill rabbits (use .001)
Number of foxes
Growth rate of foxes if there are rabbits (use .0002)
Death rate of foxes if there are no rabbits (use .03)
Rn
Wn
=
=
Rn-1 (1 + M ì K Wn-1
Wn-1 (1 + G Rn-1 ì D)
)
1. On the Y= Editor (¥ #), define the sequences and initial values
for Rn and Wn.
Note: Assume there are
initially 200 rabbits and
50 foxes.
u1(n) = u1(nì 1) ù (1 + .05 ì.001 ù u2(nì 1))
ui1 = 200
u2(n) = u2(nì 1) ù (1 + .0002 ù u1(nì 1) ì.03)
ui2 = 50
2. Set Axes = TIME.
nmin=0.
xmin=0.
ymin=0.
3. On the Window Editor
(¥ $), set the Window
variables.
nmax=400. xmax=400. ymax=300.
plotStrt=1.
plotStep=1.
xscl=100.
yscl=100.
u(n)
Note: Use … to individually
trace the number of rabbits
u1(n) and foxes u2(n) over
time (n).
4. Graph the sequence
(¥ % ).
u1(n)
n
u2(n)
5. On the Y= Editor, set Axes = CUSTOM, X Axis = u1, and Y Axis = u2.
nmin=0.
xmin=84.
ymin=25.
6. In the Window Editor, change
the Window variables.
nmax=400. xmax=237. ymax=75.
plotStrt=1.
plotStep=1.
xscl=50.
yscl=10.
Note: Use … to trace both
the number of rabbits (xc)
and foxes (yc) over the
cycle of 400 generations.
7. Regraph the sequence.
u2(n)
u1(n)
150
Chapter 9: Sequence Graphing
Using a Sequence to Generate a Table
Previous sections described how to graph a sequence. You
can also use a sequence to generate a table. Refer to
Chapter 13 for detailed information about tables.
In a Fibonacci sequence, the first two terms are 1 and 1. Each
succeeding term is the sum of the two immediately preceding terms.
Example: Fibonacci
Sequence
1. On the Y= Editor
(¥ #), define the
sequence and set the
initial values as shown.
You must enter {1,1}, although {1 1}
is shown in the sequence list.
2. Set table parameters
(¥ &) to:
tblStart = 1
@tbl = 1
Independent = AUTO
This item is dimmed if you are not
using TIME axes.
3. Set Window variables
(¥ $) so that
nmin has the same
value as tblStart.
4. Display the table
(¥ ' ).
Fibonacci sequence
is in column 2.
5. Scroll down the table
(D or 2D) to see
more of the sequence.
Chapter 9: Sequence Graphing
151
152
Chapter 9: Sequence Graphing
3D Graphing
Preview of 3D Graphing ........................................................................ 154
Overview of Steps in Graphing 3D Equations.................................... 156
Differences in 3D and Function Graphing.......................................... 157
Moving the Cursor in 3D ....................................................................... 160
Rotating and/or Elevating the Viewing Angle..................................... 162
Animating a 3D Graph Interactively .................................................... 164
Changing the Axes and Style Formats................................................. 165
Contour Plots.......................................................................................... 167
Example: Contours of a Complex Modulus Surface ......................... 170
Implicit Plots........................................................................................... 171
Example: Implicit Plot of a More Complicated Equation................. 173
10
This chapter describes how to graph 3D equations on the
TI-89 / TI-92 Plus. Before using this
Z
chapter, you should be familiar
with Chapter 6: Basic Function
Graphing.
(x,y,z)
z
In a 3D graph of an equation for
z(x,y), a point’s location is defined
as shown here.
x
y
The expanded view feature lets
you examine any 3D graph in more detail. For example:
Normal view
Expanded view
Tip: To view the graph
along the x, y, or z axis, you
can press X, Y, or Z,
respectively.
Tip: To switch from one
format style to the next
(skipping IMPLICIT PLOT),
press:
To switch between normal and expanded views,
press p (multiplication key, not the letter X).
TI-89: j [F]
TI-92 Plus: F.
This retains the current view
(either expanded or normal).
When you display a 3D graph, the expanded view is used
automatically if:
¦
You set or change the graph format style to CONTOUR LEVELS
or IMPLICIT PLOT.
Note: To switch to IMPLICIT
PLOT (via the GRAPH
FORMATS dialog box),
press:
¦
The previous graph used the expanded view.
TI-89: ¥ Í
TI-92 Plus: ¥ F.
If you press a cursor key to animate the graph, the screen
switches to the normal view automatically. You cannot animate a
graph in the expanded view.
Chapter 10: 3D Graphing
153
Preview of 3D Graphing
Graph the 3D equation z(x,y) = (xò y ì yò x) / 390. Animate the graph by using the cursor
to interactively change the eye Window variable values that control your viewing angle.
Then view the graph in different graph format styles.
³
›
TI-89
Keystrokes
TI-92 Plus
Keystrokes
Steps
Display
3
3
1. Display the MODE dialog box.
B 5
B 5
For Graph mode, select 3D.
¸
¸
¥ #
ƒ 8 ¸
¸
¥ #
ƒ 8 ¸
¸
2. Display and clear the Y= Editor.
Then define the 3D equation
z1(x,y) = (xò y ì yò x) / 390.
c X Z 3 Y
| Y Z 3 X d
e 3 9 0 ¸
c X Z 3 Y
| Y Z 3 X d
e 3 9 0 ¸
Notice that implied multiplication is
used in the keystrokes.
¥ Í
¥ F
3. Change the graph format to
display and label the axes. Also
set Style = WIRE FRAME.
D B 2
D B 2
D B 1
¸
D B 2
D B 2
D B 1
¸
You can animate any graph format
style, but WIRE FRAME is fastest.
„ 6
„ 6
4. Select the ZoomStd viewing
cube, which automatically
graphs the equation.
As the equation is evaluated (before it
is graphed), “evaluation percentages”
are shown in the upper-left part of the
screen.
Note: If you have already used 3D
graphing, the graph may be shown in
expanded view. When you animate
the graph, the screen returns to
normal view automatically. (Except for
animation, you can do the same
things in normal and expanded view.)
p
p
(press p to
switch
between
expanded and expanded and
normal view) normal view)
(press p to
switch
between
D D D D
D D D D
D D D D
D D D D
5. Animate the graph by decreasing
the eyef Window variable value.
D or C may affect eyeq and eyeψ, but
to a lesser extent than eyef.
To animate the graph continuously,
press and hold the cursor for about 1
second and then release it. To stop,
press ¸.
154
Chapter 10: 3D Graphing
³
›
TI-89
Keystrokes
TI-92 Plus
Keystrokes
Steps
Display
0 (zero, not the 0 (zero, not the
6. Return the graph to its initial
orientation. Then move the
viewing angle along the “viewing
orbit” around the graph.
letter O)
letter O)
A A A
A A A
For information about the viewing
orbit, refer to page 164.
X
Y
Z
X
Y
Z
7. View the graph along the x axis,
the y axis, and then the z axis.
This graph has the same shape along
the y axis and x axis.
8. Return to the initial orientation.
0
0
Í
F
9. Display the graph in different
graph format styles.
(press Í to
switch from
each style to
the next)
(press F to
switch from
each style to the
next)
HIDDEN SURFACE
CONTOUR LEVELS
(may require extra time
to calculate contours)
WIRE AND CONTOUR
WIRE FRAME
Note: You can also display the graph as an implicit plot by using the GRAPH FORMATS dialog
box (ƒ 9 or TI-89: ¥ Í TI-92 Plus: ¥ F). If you press TI-89: Í TI-92 Plus: F to switch between
styles, the implicit plot is not displayed.
Chapter 10: 3D Graphing
155
Overview of Steps in Graphing 3D Equations
To graph 3D equations, use the same general steps used for
y(x) functions as described in Chapter 6: Basic Function
Graphing. Any differences that apply to 3D equations are
described on the following pages.
Graphing 3D
Equations
Set Graph mode (3)
to 3D.
Also set Angle mode,
if necessary.
Define 3D equations on
Y= Editor (¥ #).
Tip: To turn off any stat
data plots (Chapter 16),
press ‡ 5 or use † to
deselect them.
Select (†) which
equation to graph. You
can select only one 3D
equation.
Note: For 3D graphs, the
viewing window is called
the viewing cube. „ Zoom
also changes the viewing
cube.
Define the viewing cube
(¥ $).
Change the graph
format, if necessary.
Tip: To help you see the
orientation of 3D graphs,
turn on Axes and Labels.
ƒ 9
— or —
TI-89: ¥ Í
TI-92 Plus: ¥ F
Note: Before displaying the
graph, the screen shows
the “percent evaluated.”
Graph the selected
equation (¥ %).
From the Graph screen, you can:
Exploring the Graph
¦
¦
Trace the equation.
Use the „ Zoom toolbar menu to zoom in or out on a portion of
the graph. Some of the menu items are dimmed because they are
not available for 3D graphs.
Tip: You can also evaluate
z(x,y) while tracing. Type
the x value and press
¦
Use the ‡ Math toolbar menu to evaluate the equation at a
specified point. Only 1:Value is available for 3D graphs.
¸; then type the y value
and press ¸.
156
Chapter 10: 3D Graphing
Differences in 3D and Function Graphing
This chapter assumes that you already know how to graph y(x)
functions as described in Chapter 6: Basic Function Graphing.
This section describes the differences that apply to 3D
equations.
Use 3to set Graph = 3D before you define equations or set
Window variables. The Y= Editor and the Window Editor let you
enter information for the current Graph mode setting only.
Setting the
Graph Mode
Defining 3D
Equations on the
Y= Editor
You can define 3D
equations for z1(x,y)
through z99(x,y).
Tip: You can use the Define
command from the Home
screen (see Appendix A) to
define functions and
equations for any graphing
mode, regardless of the
current mode.
The Y= Editor maintains an independent function list for each Graph
mode setting. For example, suppose:
¦
In FUNCTION graphing mode, you define a set of y(x) functions.
You change to 3D graphing mode and define a set of z(x,y)
equations.
¦
When you return to FUNCTION graphing mode, your y(x) functions
are still defined in the Y= Editor. When you return to 3D graphing
mode, your z(x,y) equations are still defined.
Because you can graph only one 3D equation at a time, display styles
are not available. On the Y= Editor, Style toolbar menu is dimmed.
Selecting the
Display Style
For 3D equations, however, you can use:
ƒ 9
— or —
TI-89: ¥ Í
TI-92 Plus: ¥ F
to set the Style format to WIRE FRAME or HIDDEN SURFACE. Refer
to “Changing the Axes and Style Formats” on page 165.
Chapter 10: 3D Graphing
157
The Window Editor maintains an independent set of Window
variables for each Graph mode setting (just as the Y= Editor
maintains independent function lists). 3D graphs use the following
Window variables.
Window Variables
Variable
Description
eyeq, eyef, Angles (always in degrees) used to view the graph.
eyeψ
Refer to “Rotating and/or Elevating the Viewing Angle”
on page 162.
xmin, xmax, Boundaries of the viewing cube.
ymin, ymax,
zmin, zmax
Note: If you enter a
xgrid, ygrid
The distance between xmin and xmax and between ymin
fractional number for xgrid
or ygrid, it is rounded to the
nearest whole number ‚ 1.
and ymax is divided into the specified number of grids.
The z(x,y) equation is evaluated at each grid point
where the grid lines (or grid wires) intersect.
Note: The 3D mode does
not have scl Window
The incremental value along x and y is calculated as:
variables, so you cannot set
tick marks on the axes.
xmax ì xmin
ymax ì ymin
x increment =
y increment =
xgrid
ygrid
The number of grid wires is xgrid + 1 and ygrid + 1. For
example, when xgrid = 14 and ygrid = 14, the xy grid
consists of 225 (15 × 15) grid points.
z(xmin,ymin)
z(xmax,ymin)
z(xmin,ymax)
z(xmax,ymax)
ncontour
The number of contours evenly distributed along the
displayed range of z values. Refer to page 168.
Standard values (set when you select 6:ZoomStd from the „ Zoom
toolbar menu) are:
xmin = ë 10.
xmax = 10.
xgrid = 14.
ymin = ë 10.
ymax = 10.
ygrid = 14.
zmin = ë 10.
zmax = 10.
ncontour = 5.
eyeq = 20.
eyef = 70.
eyeψ = 0.
Note: Increasing the grid
variables decreases the
graphing speed.
You may need to increase the standard values for the grid variables
(xgrid, ygrid) to ensure that enough points are plotted.
158
Chapter 10: 3D Graphing
The Axes and Style formats are specific to the 3D graphing mode.
Refer to “Changing the Axes and Style Formats” on page 165.
Setting the Graph
Format
As in function graphing, you can explore a graph by using the
following tools. Any displayed coordinates are shown in rectangular
Exploring a Graph
or cylindrical form as set in the graph format. In 3D graphing,
cylindrical coordinates are shown when you use use:
ƒ 9
— or —
TI-89: ¥ Í
TI-92 Plus: ¥ F
to set Coordinates = POLAR:
Tool
For 3D Graphs:
Free-Moving The free-moving cursor is not available.
Cursor
„ Zoom
Works essentially the same as it does for function
graphs, but remember that you are now using three
dimensions instead of two.
¦
Only the following zooms are available:
2:ZoomIn
3:ZoomOut
5:ZoomSqr
6:ZoomStd
A:ZoomFit
B:Memory
C:SetFactors
¦
¦
Only x (xmin, xmax), y (ymin, ymax), and z (zmin,
zmax) Window variables are affected.
The grid (xgrid, ygrid) and eye (eyeq, eyef, eyeψ)
Window variables are not affected unless you
select 6:ZoomStd (which resets these variables to
their standard values).
Tip: Refer to “Moving the
Cursor in 3D” on page 160.
… Trace
Lets you move the cursor along a grid wire from one
grid point to the next on the 3D surface.
¦
When you begin a trace, the cursor appears at the
midpoint of the xy grid.
Tip: During a trace, you can
also evaluate z(x,y). Type
the x value and press
¸; then type the y value
and press ¸.
¦
QuickCenter is available. At any time during a trace,
regardless of the cursor’s location, you can press
¸ to center the viewing cube on the cursor.
¦
Cursor movement is restricted in the x and y
directions. You cannot move the cursor beyond the
viewing cube boundaries set by xmin, xmax, ymin,
and ymax.
‡ Math
Only 1:Value is available for 3D graphs. This tool
displays the z value for a specified x and y value.
After selecting 1:Value, type the x value and press
¸. Then type the y value and press ¸.
Chapter 10: 3D Graphing
159
Moving the Cursor in 3D
When you move the cursor along a 3D surface, it may not be
obvious why the cursor moves as it does. 3D graphs have two
independent variables (x,y) instead of one, and the x and y
axes have a different orientation than other graphing modes.
On a 3D surface, the cursor always follows along a grid wire.
How to Move the
Cursor
Cursor Key
Moves the cursor to the next grid point in the:
Note: You can move the
cursor only within the x and y
boundaries set by Window
variables xmin, xmax, ymin,
and ymax.
B
A
C
D
Positive x direction
Negative x direction
Positive y direction
Negative y direction
Although the rules are straightforward, the actual cursor movement
can be confusing unless you know the orientation of the axes.
In 2D graphing, the x and y axes
always have the same orientation
relative to the Graph screen.
Tip: To show the axes and
their labels from the
Y= Editor, Window Editor, or
Graph screen, use:
TI-89: ¥ Í
In 3D graphing, x and y have a
different orientation relative to the
Graph screen. Also, you can rotate
and/or elevate the viewing angle.
eyeq=20
eyef=70
eyeψ=0
TI-92 Plus: ¥ F
The following graph shows a sloped plane that has the equation
z1(x,y) = ë (x + y) / 2. Suppose you want to trace around the displayed
boundary.
Simple Example of
Moving the Cursor
When you press …, the trace cursor appears at
the midpoint of the xy grid. Use the cursor pad to
move the cursor to any edge.
B moves in a
positive x direction,
up to xmax.
D moves in a
negative y direction,
Tip: By displaying and
back to ymin.
labeling the axes, you can
more easily see the pattern
in the cursor movement.
C moves in a
A moves in a negative
positive y direction,
x direction, back to
up to ymax.
xmin.
Tip: To move grid points
closer together, you can
increase Window variables
xgrid and ygrid.
When the trace cursor is on an interior point in the displayed plane,
the cursor moves from one grid point to the next along one of the
grid wires. You cannot move diagonally across the grid.
Notice that the grid wires may not appear parallel to the axes.
160
Chapter 10: 3D Graphing
On more complex shapes, the cursor may appear as if it is not on a
grid point. This is an optical illusion caused when the cursor is on a
hidden surface.
Example of the
Cursor on a Hidden
Surface
For example, consider a saddle shape z1(x,y) = (xñ ì yñ ) / 3. The
following graph shows the view looking down the y axis.
Now look at the same shape at 10¡ from the x axis (eyeq = 10).
Tip: To cut away the front of
the saddle in this example,
set xmax=0 to show only
negative x values.
If you cut away the front side, you
can see the cursor is actually on a
grid point on the hidden back side.
You can move the cursor so that it
does not appear to be on a grid
point.
Although the cursor can move only along a grid wire, you will see
many cases where the cursor does not appear to be on the 3D
surface at all. This occurs when the z axis is too short to show z(x,y)
for the corresponding x and y values.
Example of an “Off
the Curve” Cursor
For example, suppose you trace the paraboloid z(x,y) = xñ + .5yñ
graphed with the indicated Window variables. You can easily move
the cursor to a position such as:
Trace cursor
Valid trace
coordinates
Tip: QuickCenter lets you
center the viewing cube on
the cursor’s location. Simply
press ¸.
Although the cursor is actually tracing the paraboloid, it appears off
the curve because the trace coordinates:
¦
¦
xc and yc are within the viewing cube.
— but —
zc is outside the viewing cube.
When zc is outside the z boundary of the viewing cube, the cursor is
physically displayed at zmin or zmax (although the screen shows the
correct trace coordinates).
Chapter 10: 3D Graphing
161
Rotating and/or Elevating the Viewing Angle
In 3D graphing mode, the eyeq and eyef Window variables let
you set viewing angles that determine your line of sight. The
eyeψ Window variable lets you rotate the graph around that
line of sight.
Z
The viewing angle has three components:
How the Viewing
Angle Is Measured
eyef
¦
¦
¦
eyeq — angle in degrees from the
positive x axis.
eyef — angle in degrees from the
positive z axis.
eyeψ
Y
eyeq
X
eyeψ — angle in degrees by which the
graph is rotated counterclockwise
around the line of sight set by eyeq
and eyef.
Note: When eyeψ=0, the
z axis is vertical on the
screen. When eyeψ=90,
the z axis is rotated 90¡
counterclockwise and is
horizontal.
In the Window Editor (¥ $),
always enter eyeq, eyef, and eyeψ in
degrees, regardless of the current angle
mode.
Do not enter a ¡ symbol. For example,
type 20, 70, and 0, not 20¡, 70¡, and 0¡.
The view on the Graph screen is always oriented along the viewing
angle. From this point of view, you can change eyeq to rotate the
viewing angle around the z axis.
Effect of Changing
eyeq
z1(x,y) = (x3y - y3x) / 390
In this example, eyef = 70
eyeq = 20
Note: This example
increments eyeq by 30.
eyeq = 50
eyeq = 80
162
Chapter 10: 3D Graphing
By changing eyef, you can elevate your viewing angle above the xy
plane. If 90 < eyef < 270, the viewing angle is below the xy plane.
Effect of Changing
eyef
z1(x,y) = (x3y - y3x) / 390
In this example, eyeq = 20
eyef = 90
Note: This example starts
on the xy plane (eyef = 90)
and decrements eyef by 20
to elevate the viewing angle.
eyef = 70
eyef = 50
The view on the Graph screen is always oriented along the viewing
angles set by eyeq and eyef. You can change eyeψ to rotate the graph
around that line of sight.
Effect of Changing
eyeψ
Note: During rotation, the
axes expand or contract to
fit the screen’s width and
height. This causes some
distortion as shown in the
example.
In this example,
eyeq=20 and eyef=70
z1(x,y)=(x3yì y3x) / 390
eyeψ=0
z=10
When eyeψ=0,
the z axis runs
the height of the
screen.
eyeψ=45
z=ë10
When eyeψ=90, the z axis
runs the width of the screen.
z=10
z=ë10
eyeψ=90
As the z axis rotates 90¡, its
range (ë 10 to 10 in this
example) expands to almost
twice its original length.
Likewise, the x and y axes
expand or contract.
The eye values are stored in the system variables eyeq, eyef, and
eyeψ. You can access or store to these variables as necessary.
From the Home
Screen or a Program
TI-89: To type f or ψ, press ¥ c j[F] or ¥ c Ú, respectively.
You can also press 2¿ and use the Greek menu.
TI-92 Plus: To type f or ψ, press 2G F or 2G Y respectively.
You can also press 2¿ and use the Greek menu.
Chapter 10: 3D Graphing
163
Animating a 3D Graph Interactively
After plotting any 3D graph, you can change the viewing angle
interactively by using the cursor. Refer to the preview example
on page 154.
When using Aand Bto animate a graph, think of it as moving the
viewing angle along its “viewing orbit” around the graph.
The Viewing Orbit
Note: The viewing orbit
affects the eye Window
variables in differing
amounts.
Moving along this orbit can
cause the z axis to wobble
slightly during the animation
(as you can see in the preview
example on page 154).
Animating the
Graph
To:
Do this:
Animate the graph incrementally
Press and release the cursor
quickly.
Note: If the graph is shown
in expanded view, it returns
to normal view automatically
when you press a cursor
key.
Move along the viewing orbit: Aor B
Change the viewing orbit’s: Cor D
elevation
(primarily increases
or decreases eyef)
Tip: After animating the
graph, you can stop and
then re-start the animation
in the same direction by
pressing:
Animate the graph continuously
Press and hold the cursor for
about 1 second, and then
release it.
TI-89: ¸ or j
TI-92 Plus: ¸ or space
bar
TI-89: To stop, press N,
¸, ´, or ¥ (space).
TI-92 Plus: To stop, press N,
¸, ´, or the space bar.
Tip: During an animation,
you can switch to the next
graph format style by
pressing:
Change between 4 animation
speeds (increase or decrease the
incremental changes in the eye
Window variables)
Press « or |.
TI-89: Í
TI-92 Plus: F
Tip: To see a graphic that
shows the eye angles, refer
to page 162.
Change the viewing angle of a non- Press X, Y or Z, respectively.
animated graph to look along the x,
y, or z axis
Return to the initial eye angle
Press 0
values
(zero, not the letter O).
You can also animate a graph by saving a series of graph pictures
and then flipping (or cycling) through those pictures. Refer to
“Animating a Series of Graph Pictures” in Chapter 12: Additional
Graphing Topics. This method gives you more control over the
Window variable values, particularly eyeψ (page 162), which rotates
the graph.
Animating a Series
of Graph Pictures
164
Chapter 10: 3D Graphing
Changing the Axes and Style Formats
With its default settings, the TI-89 / TI-92 Plus displays hidden
surfaces on a 3D graph but does not display the axes.
However, you can change the graph format at any time.
From the Y= Editor, Window Editor, or Graph screen, press:
Displaying the
GRAPH FORMATS
Dialog Box
ƒ 9
— or —
TI-89: ¥ Í
TI-92 Plus: ¥ F
¦
¦
The dialog box shows the
current graph format
settings.
To exit without making a
change, press N.
To change any of these settings, use the same procedure that you use
to change other types of dialog boxes, such as the MODE dialog box.
To display the valid Axes settings,
highlight the current setting and
press B.
Examples of Axes
Settings
z1(x,y) = xñ+.5yñ
¦
¦
AXES — Shows standard
xyz axes.
Tip: Setting Labels = ON is
helpful when you display
either type of 3D axes.
BOX — Shows 3-dimensional
box axes.
The edges of the box are
determined by the Window
variables xmin, xmax, etc.
In many cases, the origin (0,0,0) is inside the box, not at a corner.
For example, if xmin = ymin = zmin = ë 10 and xmax = ymax = zmax = 10,
the origin is at the center of the box.
Chapter 10: 3D Graphing
165
To display the valid Style settings,
highlight the current setting and
press B.
Examples of Style
Settings
¦
WIRE FRAME — Shows the 3D
shape as a transparent wire
frame.
Tip: WIRE FRAME is faster
to graph and may be more
convenient when you’re
experimenting with different
shapes.
¦
HIDDEN SURFACES — Uses
shading to differentiate the
two sides of the 3D shape.
Later sections in this chapter describe CONTOUR LEVELS, WIRE AND
CONTOUR (page 167) and IMPLICIT PLOT (page 171).
The eye angles used to view a graph (eyeq, eyef, and eyeψ Window
variables) can result in optical illusions that cause you to lose
perspective on a graph.
Be Aware of
Possible
Optical Illusions
Typically, most optical illusions occur when the eye angles are in a
negative quadrant of the coordinate system.
Optical illusions may be more noticeable with box axes. For
example, it may not be immediately obvious which is the “front” of
the box.
Looking down
from above the xy plane
Looking up
from below the xy plane
Note: These examples
show the graphs as
displayed on the screen.
eyeq = 20, eyef = 55, eyeψ = 0
eyeq = 20, eyef = 120, eyeψ= 0
Note: These examples use
artificial shading (which is
not displayed on the screen)
to show the front of the box.
To minimize the effect of optical illusions, use the GRAPH FORMATS
dialog box to set Style = HIDDEN SURFACE.
166
Chapter 10: 3D Graphing
Contour Plots
In a contour plot, a line is drawn to connect adjacent points on
the 3D graph that have the same z value. This section
discusses the CONTOUR LEVELS and WIRE AND CONTOUR
graph format styles.
In 3D graphing mode, define an equation and graph it as you would
any 3D equation, with the following exception. Display the GRAPH
FORMATS dialog box by pressing ƒ 9 from the Y= Editor, Window
editor, or Graph screen. Then set:
Selecting the Graph
Format Style
Tip: From the Graph
screen, you can switch from
one graph format style to
the next (skipping IMPLICIT
PLOT) by pressing:
TI-89: Í
Style = CONTOUR LEVELS
– or –
Style = WIRE AND CONTOUR
TI-92 Plus: F
¦
For CONTOUR LEVELS, only the contours are shown.
Note: Pressing:
TI-89: Í
TI-92 Plus: F
−
The viewing angle is set initially so that you are viewing the
contours by looking down the z axis. You can change the
viewing angle as necessary.
to select CONTOUR LEVELS
does not affect the viewing
angle, view, or Labels
format as it does if you use:
TI-89: ¥ Í
−
−
The graph is shown in expanded view. To switch between
expanded and normal view, press p.
TI-92 Plus: ¥ F
The Labels format is set to OFF automatically.
¦
For WIRE AND CONTOUR, the contours are drawn on a wire
frame view. The viewing angle, view (expanded or normal), and
Labels format retain their previous settings.
Style
z1(x,y)=(xò yì yò x) / 390
z1(x,y)=xñ +.5yñ ì 5
Looking down z axis
Note: These examples use
the same x, y, and z
Window variable values as a
ZoomStd viewing cube. If
you use ZoomStd, press Z
to look down the z axis.
CONTOUR
LEVELS
Using eyeq=20, eyef=70, eyeψ=0
CONTOUR
LEVELS
Note: Do not confuse the
contours with the grid lines.
The contours are darker.
WIRE AND
CONTOUR
Chapter 10: 3D Graphing
167
You can set the ncontour Window variable (¥ $ ) to specify the
number of contours that will be evenly distributed along the
displayed range of z values, where:
How Are Z Values
Determined?
zmax ì zmin
increment =
ncontour + 1
The z values for the contours are:
zmin + increment
zmin + 2(increment)
zmin + 3(increment)
©
The default is 5. You can
zmin + ncontour(increment)
set this to 0 through 20.
If ncontour=5 and you use the standard viewing window (zmin=ë 10
and zmax=10) , the increment is 3.333. Five contours are drawn for
z=ë 6.666, ë 3.333, 0, 3.333, and 6.666.
Note, however, that a contour is not drawn for a z value if the 3D
graph is not defined at that z value.
If a contour graph is currently displayed, you can specify a point on
the graph and draw a contour for the corresponding z value.
Drawing a Contour
for the Z Value of a
Selected Point
1. To display the Draw menu, press:
TI-89: 2ˆ
Interactively
TI-92 Plus: ˆ
2. Select 7:Draw Contour.
3. Either:
¦
¦
Type the point’s x value and press
¸, and then type the y value
and press ¸.
Tip: Any existing contours
remain on the graph. To
remove the default contours,
display the Window editor
(¥ $ ) and set
– or –
Move the cursor to the applicable point. (The cursor moves
along the grid lines.) Then press ¸.
ncontour=0.
For example, suppose the current graph is z1(x,y)=xñ +.5yñ ì 5. If you
specify x=2 and y=3, a contour is drawn for z=3.5.
168
Chapter 10: 3D Graphing
From the Graph screen, display the Draw menu and then select
8:DrwCtour. The Home screen is displayed automatically with
DrwCtour in the entry line. You can then specify one or more z values
individually or generate a sequence of z values.
Drawing Contours
for Specified Z
Values
Some examples are:
Tip: To remove the default
contours, use
¥ $ and set
Draws a contour for z=5.
DrwCtour 5
Draws contours for z=1, 2, and 3.
DrwCtour {1,2,3}
ncontour=0.
Draws contours for a sequence of z
values from ë10 through 10 in
steps of 2 (ë10, ë8, ë6, etc.).
DrwCtour seq(n,n,ë 10,10,2)
The specified contours are drawn on the current 3D graph.
(A contour is not drawn if the specified z value is outside the viewing
cube or if the 3D graph is not defined at that z value.)
For a contour plot:
Notes about
Contour Plots
¦
You can use the cursor keys (page 164) to animate the contour
plot.
¦
You cannot trace (… ) the contours themselves. However, you
can trace the wire frame as seen when Style=WIRE AND
CONTOUR.
¦
¦
It may take awhile to evaluate the equation initially.
Because of possible long evaluation times, you first may want to
experiment with your 3D equation by using Style=WIRE FRAME.
The evaluation time is much shorter. Then, after you’re sure you
have the correct Window variable values, display the Graph
Formats dialog box and set Style=CONTOUR LEVELS or WIRE
AND CONTOUR.
TI-89: ¥ Í
TI-92 Plus: ¥ F
Chapter 10: 3D Graphing
169
Example: Contours of a Complex Modulus Surface
The complex modulus surface given by z(a,b) = abs(f(a+bi))
shows all the complex zeros of any polynomial y=f(x).
In this example, let f(x)=x3+1. By substituting the general complex
Example
form x+yi for x, you can express the complex surface equation as
z(x,y)=abs((x+yù i)3+1).
1. Use 3to set Graph=3D.
2. Press ¥ #, and define the
equation:
z1(x,y)=abs((x+yù i)^3+1)
3. Press ¥ $, and set
the Window variables as
shown.
4. Display the Graph Formats
dialog box:
TI-89: ¥ Í
TI-92 Plus: ¥ F
Turn on the axes, set
Style = CONTOUR LEVELS,
and return to the Window
editor.
5. Press ¥ % to graph the equation.
It will take awhile to evaluate the graph; so be patient. When the
graph is displayed, the complex modulus surface touches the
xy plane at exactly the complex zeros of the polynomial:
1
2
1
2
ë 1,
+
3 i, and
ì
3 i
2
2
Note: For more accurate
estimates, increase the
xgrid and ygrid Window
variables. However, this
increases the graph
6. Press …, and move the
trace cursor to the zero in
the fourth quadrant.
The coordinates let you
estimate .428ì.857i as
the zero.
evaluation time.
The zero is precise when z=0.
Tip: When you animate the
graph, the screen changes
to normal view. Use p to
toggle between normal and
expanded views.
7. Press N. Then use the
cursor keys to animate the
graph and view it from
different eye angles.
This example shows eyeq=70,
eyef=70, and eyeψ=0.
170
Chapter 10: 3D Graphing
Implicit Plots
An implicit plot is used primarily as a way to graph 2D implicit
forms that cannot be graphed in function graphing mode.
Technically, an implicit plot is a 3D contour plot with a single
contour drawn for z=0 only.
In 2D function graphing mode,
equations have an explicit form
y=f(x), where y is unique for
each value of x.
Explicit and Implicit
Forms
Many equations, however, have
an implicit form f(x,y)=g(x,y),
y is not unique for each x, so
you cannot graph this in
where you cannot explicitly
solve for y in terms of x or for x
in terms of y.
function graphing mode.
Tip: You can also graph
many implicit forms if you
either:
By using implicit plots in 3D graphing mode, you can graph these
implicit forms without solving for y or x.
f(x,y)ì g(x,y)=0
Rearrange the implicit form as
an equation set to zero.
•
Express them as
parametric equations.
Refer to Chapter 7.
z1(x,y)=f(x,y)ì g(x,y)
In the Y= Editor, enter the non-
zero side of the equation. This
is valid because an implicit plot
automatically sets the equation
equal to zero.
•
Break them into
separate, explicit
functions. Refer to the
preview example in
Chapter 6.
If xñ +.5yñ =30,
For example, given the ellipse
equation shown to the right,
enter the implicit form in the
Y= Editor.
then z1(x,y)=xñ +.5yñ ì 30.
In 3D graphing mode, define an appropriate equation and graph it as
you would any 3D equation, with the following exception. Display
the GRAPH FORMATS dialog box from the Y= Editor, Window editor,
Selecting the Graph
Format Style
or Graph screen.
TI-89: ¥ Í
Note: From the Graph
screen, you can switch to
the other graph format
styles by pressing:
TI-92 Plus: ¥ F
Then set:
Style = IMPLICIT PLOT
TI-89: Í
TI-92 Plus: F
However, to return to
IMPLICIT PLOT press:
TI-89: ¥ Í
TI-92 Plus: ¥ F
Chapter 10: 3D Graphing
171
¦
The viewing angle is set initially so that you are viewing the plot
by looking down the z axis. You can change the viewing angle as
necessary.
¦
¦
The plot is shown in expanded view. To switch between
expanded and normal view, press p.
The Labels format is set to OFF automatically.
(xù y)
xñ ì yñ =4
sin(x)+cos(y)=e
(xù y)
Style
z1(x,y)=xñ ì yñ ì 4
z1(x,y)=sin(x)+cos(y)ì e
Note: These examples use
the same x, y, and z
Window variable values as a
ZoomStd viewing cube. If
you use ZoomStd, press Z
to look down the z axis.
IMPLICIT
PLOT
For an implicit plot:
Notes About
Implicit Plots
¦
The ncontour Window variable (page 168) has no affect. Only the
z=0 contour is drawn, regardless of the value of ncontour. The
displayed plot shows where the implicit form intersects the
xy plane.
¦
¦
You can use the cursor keys (page 164) to animate the plot.
You cannot trace (… ) the implicit plot itself. However, you can
trace the unseen wire frame graph of the 3D equation.
¦
¦
It may take awhile to evaluate the equation initially.
Because of possible long evaluation times, you first may want to
experiment with your 3D equation by using Style=WIRE FRAME.
The evaluation time is much shorter. Then, after you’re sure you
have the correct Window variable values, set Style=IMPLICIT PLOT.
TI-89: ¥ Í
TI-92 Plus: ¥ F
172
Chapter 10: 3D Graphing
Example: Implicit Plot of a More Complicated Equation
You can use the IMPLICIT PLOT graph format style to plot and
animate a complicated equation that cannot be graphed
otherwise. Although it may take a long time to evaluate such a
graph, the visual results can justify the time required.
Graph the equation sin(x4+yìx3 y) = .1.
Example
1. Use 3to set Graph=3D.
2. Press ¥ #, and define the
equation:
z1(x,y)=sin(x^4+yì x^3y)ì.1
3. Press ¥ $, and set
the Window variables as
shown.
4. Press:
TI-89: ¥ Í
TI-92 Plus: ¥ F
Turn on the axes, set
Style = IMPLICIT PLOT, and
return to the Window
editor.
Note: For more detail,
increase the xgrid and ygrid
Window variables. However,
this increases the graph
evaluation time.
5. Press ¥ % to graph
the equation.
It will take awhile to
evaluate the graph; so be
patient.
The graph shows where
4
3
sin(x +yìx y) = .1
Tip: When you animate the
graph, the screen changes
to normal view. Press p to
switch between normal and
expanded views.
6. Use the cursor keys to
animate the graph and view
it from different eye angles.
In expanded view, this example
shows eyeq=ë127.85, eyef=52.86,
and eyeψ=ë18.26.
Chapter 10: 3D Graphing
173
174
Chapter 10: 3D Graphing
Differential Equation Graphing
Preview of Differential Equation Graphing........................................ 176
Overview of Steps in Graphing Differential Equations..................... 178
Differences in Diff Equations and Function Graphing...................... 179
Setting the Initial Conditions................................................................ 184
Defining a System for Higher-Order Equations ................................. 186
11
Example of a 2nd-Order Equation ....................................................... 187
Example of a 3rd-Order Equation........................................................ 189
Setting Axes for Time or Custom Plots............................................... 190
Example of Time and Custom Axes .................................................... 191
Example Comparison of RK and Euler ............................................... 193
Example of the deSolve( ) Function.................................................... 196
Troubleshooting with the Fields Graph Format ................................ 197
This chapter describes how to solve differential equations
graphically on the TI-89 / TI-92 Plus. Before using this chapter, you
should be familiar with Chapter 6: Basic Function Graphing.
The TI-89 / TI-92 Plus solves 1st-order systems of ordinary
Note: A differential equation
is:
•
differential equations. For example:
1st-order when only
1st-order derivatives
appear.
y' = .001 y ù (100 ì y)
or coupled 1st-order differential equations such as:
•
Ordinary when all the
derivatives are with
respect to the same
independent variable.
y1' = ë y1 + 0.1 ù y1 ù y2
y2' = 3 ù y2 ì y1 ù y2
You can solve higher-order equations by defining them as a
system of 1st-order equations. For example:
y'' + y = sin(t) can be defined as
y1' = y2
y2' = ë y1 + sin(t)
By setting appropriate initial conditions, you can graph a
particular solution curve of a differential equation.
You can also graph a slope
or direction field that helps
you visualize the behavior of
the entire family of solution
curves.
For graphing, the TI-89 / TI-92 Plus uses numerical methods that
approximate the true solutions. The deSolve() function lets you
solve some differential equations symbolically. This chapter
introduces deSolve(). Refer to Appendix A for more details.
Chapter 11: Differential Equation Graphing
175
Preview of Differential Equation Graphing
Graph the solution to the logistic 1st-order differential equation y' = .001yù (100ì y). Start
by drawing only the slope field. Then enter initial conditions in the Y= Editor and
interactively from the Graph screen.
³
›
TI-89
Keystrokes
TI-92 Plus
Keystrokes
Steps
Display
3
B 6
¸
3
B 6
¸
1. Display the MODE dialog box.
For Graph mode, select
DIFF EQUATIONS.
2. Display and clear the Y= Editor.
Then define the 1st-order
differential equation:
¥ #
¥ #
ƒ 8 ¸
¸.0 0 1
Y 1 p c 1 0 0
ƒ 8 ¸
¸ . 0 0 1
Y 1 p c 1 0 0
y1'(t)=.001y1ù (100ì y1)
Press p to enter the ù shown above. | Y 1 d ¸ | Y 1 d ¸
Do not use implied multiplication
between the variable and
parentheses. If you do, it is treated as
a function call.
Leave the initial condition yi1 blank.
Important: With y1'
selected, the
TI-89 / TI-92 Plus will graph
the y1 solution curve, not
the derivative y1'.
¥ Í
¥ F
3. Display the GRAPH FORMATS
dialog box. Then set Axes = ON,
Labels = ON, Solution Method =
RK, and Fields = SLPFLD.
D D B 2
D D B 2
D B 1
D D B 2
D D B 2
D B 1
D B 1 ¸
D B 1 ¸
Important: To graph one differential
equation, Fields must be set to
SLPFLD or FLDOFF. If Fields=DIRFLD,
an error occurs when you graph.
¥ $
0 D 1 0 D
. 1 D 0 D
· 1 0 D 1 1 0
¥ $
0 D 1 0 D
. 1 D 0 D
· 1 0 D 1 1 0
4. Display the Window Editor, and
set the Window variables as
shown to the right.
D 1 0 D · 1 0 D 1 0 D · 1 0
D 1 2 0 D D 1 2 0 D
1 0 D 0 D.0 0 1 1 0 D 0 D . 0 0
D 2 0
1 D 2 0
¥ %
¥ %
5. Display the Graph screen.
Because you did not specify an initial
condition, only the slope field is
drawn (as specified by
Fields=SLPFLD in the GRAPH
FORMATS dialog box).
176
Chapter 11: Differential Equation Graphing
³
›
TI-89
Keystrokes
TI-92 Plus
Keystrokes
Steps
Display
¥ #
¸ 1 0
¥ #
¸ 1 0
6. Return to the Y= Editor and
enter an initial condition:
¸
¸
yi1=10
¥ %
¥ %
7. Return to the Graph screen.
Initial conditions entered in the
Y= Editor always occur at t0. The
graph begins at the initial condition
and plots to the right. Then it plots to
the left.
The initial condition is
marked with a circle.
¥ # C
¸ 2 [
1 0 b 2 0 2 \ 1 0 b 2 0 2 \
¥ # C
¸ 2 [
8. Return to the Y= Editor and
change yi1 to enter two initial
conditions as a list:
¸
¸
yi1={10,20}
¥ %
¥ %
9. Return to the Graph screen.
2 Š
4 0 ¸
4 5 ¸
Š
4 0 ¸
4 5 ¸
10. To select an initial condition
interactively, press:
TI-89: 2Š
TI-92 Plus: Š
When prompted, enter t=40 and
y1=45.
When selecting an initial condition
interactively, you can specify a value
for t other than the t0 value entered in
the Y= Editor or Window Editor.
Instead of entering t and y1 after
pressing TI-89: 2 Š
TI-92 Plus: Š, you can move the
cursor to a point on the screen and
then press ¸.
You can use … to trace curves for
initial conditions specified in the Y=
Editor. However, you cannot trace the
curve for an initial condition selected
interactively.
Chapter 11: Differential Equation Graphing
177
Overview of Steps in Graphing Differential Equations
To graph differential equations, use the same general steps
used for y(x) functions as described in Chapter 6: Basic Function
Graphing. Any differences are described on the following pages.
Graphing
Differential
Equations
Set Graph mode (3)
to DIFF EQUATIONS.
Also set Angle mode,
if necessary.
Define equations and,
optionally, initial
conditions on Y= Editor
(¥ #).
Select (†) which
defined equations to
Tip: To turn off any stat
data plots, press ‡ 5 or
graph.
use † to deselect them.
Refer to Chapter 16.
Set the display style for
an equation.
TI-89: 2 ˆ
TI-92 Plus: ˆ
Set the graph format.
Solution Method and
Fields are unique to
differential equations.
Note: The Fields format is
critical, depending on the
order of the equation
(page 197).
ƒ 9
— or —
TI-89: ¥ Í
TI-92 Plus: ¥ F
Note: Valid Axes settings
depend on the Fields format
(pages 190 and 197).
Set the axes as
applicable, depending
on the Fields format.
TI-89: 2 ‰
TI-92 Plus: ‰
Note: Depending on the
Solution Method and Fields
formats, different Window
variables are displayed.
Define the viewing
window (¥ $).
Tip: „ Zoom also changes
the viewing window.
Graph the equations
(¥ %).
178
Chapter 11: Differential Equation Graphing
Differences in Diff Equations and Function Graphing
This chapter assumes that you already know how to graph y(x)
functions as described in Chapter 6: Basic Function Graphing.
This section describes the differences.
Use 3to set Graph = DIFF EQUATIONS before you define
differential equations or set Window variables. The Y= Editor and the
Window Editor let you enter information for the current Graph mode
setting only.
Setting the
Graph Mode
Defining Differential
Equations on the
Y= Editor
Use t0 to specify when initial
conditions occur. You can also set
t0 in the Window Editor.
Use yi to specify one or more initial
conditions for the corresponding
differential equation.
You can define differential
equations y1'(t) through y99'(t).
Tip: You can use the Define
command from the Home
screen to define functions
and equations.
When entering equations in the Y= Editor, do not use y(t) formats to
refer to results. For example:
Do not use implied multiplication
between a variable and
parenthetical expression. If you
do, it is treated as a function call.
Enter: y1' = .001y1ù (100ì y1)
Not:
y1' = .001y1(t)ù (100ì y1(t))
Only 1st-order equations can be entered in the Y= Editor. To graph
2nd- or higher-order equations, you must enter them as a system of
1st-order equations. For information, refer to page 186.
For detailed information about setting initial conditions, refer to
page 184.
Selecting
Differential
Equations
You can use † to select a
differential equation, but not
its initial condition.
Important: Selecting y1'
will graph the y1 solution
curve, not the derivative
y1', depending on the axis
setting.
With the Style menu, only the Line, Dot, Square, Thick, Animate, and
Path styles are available. Dot and Square mark only those discrete
values (in tstep increments) at which a differential equation is
Selecting the
Display Style
plotted.
TI-89: 2ˆ
TI-92 Plus: ˆ
Chapter 11: Differential Equation Graphing
179
From the Y= Editor, Window
Editor, or Graph screen, press:
ƒ 9
Setting Graph
Formats
— or —
TI-89: ¥ Í
TI-92 Plus: ¥ F
The formats affected by differential equations are:
Graph format
Description
Graph Order
Not available.
Solution
Method
Specifies the method used to solve the differential
equations.
¦
RK — Runge-Kutta method. For information
about the algorithm used for this method, refer
to Appendix B.
¦
EULER — Euler method.
The method lets you choose either greater
accuracy or speed. Typically, RK is more accurate
than EULER but takes longer to find the solution.
Important: The Fields
graph format is critical in
successfully graphing
differential equations. Refer
to “Troubleshooting with the
Fields Graph Format” on
page 197.
Fields
Specifies whether to draw a field for the
differential equation.
¦
SLPFLD — Draws a slope field for only one 1st-
order equation, with t on the x axis and the
solution on the y axis. To see how a slope field
is used, refer to the example starting on
page 176.
Tip: If you press ¸
while a slope or direction
field is being drawn, the
graph pauses after the field
is drawn but before the
solutions are plotted. Press
¸ again to continue.
¦
DIRFLD — Draws a direction field for only one
2nd-order equation (or system of two 1st-order
equations), with axes determined by the
custom axes settings. To see how a direction
field is used, refer to the example starting on
page 187.
Tip: To cancel graphing,
press ´.
¦
FLDOFF — Does not display a field. This is
valid for equations of any order, but you must
use it for 3rd- or higher-order. You must enter
the same number of initial conditions for all
equations in the Y= Editor (page 184). For an
example, refer to page 189.
180
Chapter 11: Differential Equation Graphing
In the Y= Editor, Axes may or may not be available, depending on the
current graph format.
Setting Axes
If it is available, you can select the
axes that are used to graph the
differential equations. For more
information, refer to page 190.
TI-89: 2‰
TI-92 Plus: ‰
Axes
Description
TIME
Plots t on the x axis and y (the solutions to the selected
differential equations) on the y axis.
CUSTOM
Lets you select the x and y axes.
Differential equation graphs use the following Window variables.
Depending on the Solution Method and Fields graph formats, not all of
these variables are listed in the Window Editor (¥ $) at the
same time.
Window Variables
Variable
Description
t0
Time at which the initial conditions entered in the
Y= Editor occur. You can set t0 in the Window Editor
and Y= Editor. (If you set t0 in the Y= Editor, tplot is set
to the same value automatically.)
Note: If tmax<t0, tstep must
be negative.
tmax,
tstep
Used to determine the t values where the equations are
plotted:
y'(t0)
y'(t0+tstep)
y'(t0+2ù tstep)
... not to exceed ...
y'(tmax)
If Fields = SLPFLD, tmax is ignored. Equations are
plotted from t0 to both edges of the screen in tstep
increments.
Note: If Fields=SLPFLD,
tplot is ignored and is
assumed to be the same
as t0.
tplot
First t value plotted. If this is not a tstep increment,
plotting begins at the next tstep increment. In some
situations, the first points evaluated and plotted
starting at t0 may not be interesting visually. By setting
tplot greater than t0, you can start the plot at the
interesting area, which speeds up the graphing time
and avoids unnecessary clutter on the Graph screen.
Chapter 11: Differential Equation Graphing
181
xmin, xmax, Boundaries of the viewing window.
ymin, ymax
Window Variables
(Continued)
xscl, yscl
Distance between tick marks on the x and y axes.
ncurves
Number of solution curves (0 through 10) that will be
drawn automatically if you do not specify an initial
condition. By default, ncurves = 0.
Note: For information about
how the Fields graph format
affects whether ncurves is
used, refer to page 184.
When ncurves is used, t0 is set temporarily at the middle
of the screen and initial conditions are distributed
evenly along the y axis, where:
ymax ì ymin
increment =
ncurves + 1
The y values for the initial conditions are:
ymin + increment
ymin + 2ù (increment)
©
ymin + ncurvesù (increment)
diftol
(Solution Method = RK only) Tolerance used by the RK
method to help select a step size for solving the
equation; must be ‚1Eë 14.
fldres
Estep
(Fields = SLPFLD or DIRFLD only) Number of columns
(1 through 80) used to draw a slope or direction field
across the full width of the screen.
(Solution Method = EULER only) Euler iterations
between tstep values; must be an integer >0. For more
accuracy, you can increase Estep without plotting
additional points.
dtime
(Fields = DIRFLD only) Point in time at which a
direction field is drawn.
Standard values (set when you select 6:ZoomStd from the „ Zoom
toolbar menu) are:
xmin = ë 1.
xmax = 10.
xscl = 1.
ymin = ë 10.
ymax = 10.
yscl = 1.
ncurves = 0.
diftol = .001
Estep = 1.
fldres = 14.
dtime = 0.
t0 = 0.
tmax = 10.
tstep = .1
tplot = 0.
You may need to change the standard values for the t variables to
ensure that sufficient points are plotted.
182
Chapter 11: Differential Equation Graphing
When a slope or direction field is drawn, a picture of the field is
stored automatically to a system variable named fldpic. If you
perform an operation that regraphs the plotted equations but does
not affect the field, the TI-89 / TI-92 Plus reuses the picture in fldpic
instead of having to redraw the field. This can speed up the
regraphing time significantly.
The fldpic System
Variable
fldpic is deleted automatically when you exit the differential equation
graphing mode or when you display a graph with Fields = FLDOFF.
As in function graphing, you can explore a graph by using the
following tools. Any displayed coordinates are shown in rectangular
or polar form as set in the graph format.
Exploring a Graph
Tool
For Differential Equation Graphs:
Free-Moving Works just as it does for function graphs.
Cursor
„ Zoom
Works just as it does for function graphs.
¦
Only x (xmin, xmax, xscl) and y (ymin, ymax, yscl)
Window variables are affected.
¦
The t Window variables (t0, tmax, tstep, tplot) are
not affected unless you select 6:ZoomStd (which
sets all Window variables to their standard values).
Tip: During a trace, you can
move the cursor to a
particular point by typing a
value for t and pressing
¸.
… Trace
Lets you move the cursor along the curve one tstep at
a time. To move approximately ten plotted points at a
time, press 2Bor 2A.
If you enter initial conditions in the Y= Editor or let
the ncurves Window variable plot curves
automatically, you can trace the curves. If you use:
TI-89: 2Š
TI-92 Plus: Š
IC from the Graph screen to select initial conditions
interactively, you cannot trace the curves.
Tip: You can use
QuickCenter applies to all directions. If you move the
cursor off the screen (top or bottom, left or right),
press ¸ to center the viewing window on the
cursor location. Use C or D to view results on all
plotted curves.
QuickCenter at any time
during a trace, even if the
cursor is still on the screen.
‡ Math
Only 1:Value is available.
¦
With TIME axes, the y(t) solution value (represented
by yc) is displayed for a specified t value.
¦
With CUSTOM axes, the values that correspond to
x and y depend on the axes you choose.
Chapter 11: Differential Equation Graphing
183
Setting the Initial Conditions
You can enter initial conditions in the Y= Editor, let the
TI-89 / TI-92 Plus calculate initial conditions automatically, or
select them interactively from the Graph screen.
You can specify one or more initial conditions in the Y= Editor. To
specify more than one, enter them as a list enclosed in braces { } and
separated by commas.
Entering Initial
Conditions in the
Y= Editor
To enter initial conditions for
the y1' equation, use the yi1 line,
etc.
To specify when the initial
conditions occur, use t0.
This is also the first t
evaluated for the graph.
To graph a family of solutions,
Enter {10,20} even
enter a list of initial conditions.
though {10 20} is
displayed.
Note: For information about
defining a system for higher-
order equations, refer to
page 186.
For a 2nd- or higher-order differential equation, you must define a
system of 1st-order equations in the Y= Editor.
If you enter initial conditions,
you must enter the same number
of initial conditions for each
equation in the system.
Otherwise, a Dimension error
occurs.
If you do not enter initial conditions, the ncurves Window variable
(¥ $) specifies the number of solution curves graphed
automatically. By default, ncurves = 0. You can enter a value from
0 through 10. However, the Fields graph format and the Axes setting
determine whether ncurves is used.
If You Do Not Enter
an Initial Condition
in the Y= Editor
Tip: Without entering initial
conditions, use SLPFLD
(with ncurves=0) or DIRFLD
to display a slope or
If Fields =
Then:
SLPFLD
Uses ncurves, if not set to 0, to graph curves.
DIRFLD
FLDOFF
Ignores ncurves. Does not graph any curves.
direction field only.
Uses ncurves if Axes = TIME (or if Axes = Custom and
the x axis is t). Otherwise, a Diff Eq setup error occurs.
Note: SLPFLD is for a single
1st-order equation only.
DIRFLD is for a 2nd-order
equation (or system of two
1st-order equations) only.
When ncurves is used, t0 is set temporarily at the middle of the Graph
screen. However, the value of t0 as set in the Y= Editor or Window
Editor is not changed.
184
Chapter 11: Differential Equation Graphing
When a differential equation is graphed (regardless of whether a
solution curve is displayed), you can select a point on the Graph
screen and use it as an initial condition.
Selecting an Initial
Condition
Interactively from
the Graph Screen
If Fields =
Do this:
Note: With SLPFLD or
DIRFLD, you can select
initial conditions interactively
regardless of whether you
enter initial conditions in the
Y= Editor.
SLPFLD
– or –
DIRFLD
1. Press:
TI-89: 2Š
TI-92 Plus: Š
2. Specify an initial condition. Either:
¦
¦
Move the cursor to the applicable point and
press ¸.
– or –
For each of the two coordinates, type a value
and press ¸.
−
For SLPFLD (1st-order only), enter values
for t0 and y(t0).
−
For DIRFLD (2nd-order or system of two 1st-
order equations only), enter values for both
y(t0) initial conditions, where t0 is the value
set in the Y= Editor or Window Editor.
A circle marks the initial condition and the solution
curve is drawn.
Note: With FLDOFF, you
can select initial conditions
interactively. However, if
three or more equations are
entered, you must enter a
single value (not a list) as
the initial condition for each
equation in the Y= Editor.
Otherwise, a Dimension
error occurs when graphing.
FLDOFF
1. Press:
TI-89: 2Š
TI-92 Plus: Š
You are prompted to select the axes for which you
want to enter initial conditions.
t is a valid selection.
It will let you specify
a value for t0.
Your selections will be used as the axes for the
graph.
2. You can accept the defaults or change them. Then
press ¸.
3. Specify an initial condition as described for
SLPFLD or DIRFLD.
When you enter initial conditions in the Y= Editor or let ncurves
graph solution curves automatically, you can use … to trace the
curves.
Note about Tracing
a Solution Curve
However, you cannot trace a curve drawn by selecting an initial
condition interactively. These curves are drawn, not plotted.
Chapter 11: Differential Equation Graphing
185
Defining a System for Higher-Order Equations
In the Y= Editor, you must enter all differential equations as
1st-order equations. If you have an nth-order equation, you
must transform it into a system of n 1st-order equations.
A system of equations can be defined in various ways, but the
following is a general method.
Transforming an
Equation into a 1st-
Order System
y'' + y' + y = ex
1. Rewrite the original differential
equation as necessary.
y'' = ex ì y' ì y
a. Solve for the highest-ordered
derivative.
b. Express it in terms of y and t.
y'' = et ì y' ì y
Note: To produce a 1st-
order equation, the right
side must contain non-
derivative variables only.
c. On the right side of the equation
only, substitute to eliminate any
references to derivative values.
In place of: Substitute:
y'' = et ì y2 ì y1
y
y1
y2
y3
y4
y5
©
y'
y''
y'''
y(4)
©
Do not
substitute on
the left side
at this time.
d. On the left side of the equation,
substitute for the derivative value
as shown below.
In place of: Substitute:
y2' = et ì y2 ì y1
y'
y1'
y2'
y3'
y4'
©
y''
y'''
y(4)
©
Note: Based on the above
substitutions, the y' lines in
the Y= Editor represent:
y1' = y'
2. On the applicable lines in the Y= Editor,
define the system of equations as:
y1' = y2
y2' = y''
y2' = y3
y3' = y4
– up to –
yn' = your nth-order equation
etc.
So, this example’s 2nd-
order equation is entered on
the y2' line.
In a system such as this, the solution to the y1' equation is the
solution to the nth-order equation. You may want to deselect any
other equations in the system.
186
Chapter 11: Differential Equation Graphing
Example of a 2nd-Order Equation
The 2nd-order differential equation y''+y = 0 represents a
simple harmonic oscillator. Transform this into a system of
equations for the Y= Editor. Then, graph the solution for initial
conditions y(0) = 0 and y'(0) = 1.
1. Press 3and set Graph=DIFF EQUATIONS.
Example
2. Define a system of equations
y'' + y = 0
y'' = ëy
y'' = ëy1
for the 2nd-order equation as
described on page 186.
Rewrite the equation and
make the necessary
substitutions.
y2' = ëy1
Note: t0 is the time at which
the initial conditions occur. It
is also the first t evaluated
for the graph. By default,
t0=0.
3. In the Y= Editor (¥ #),
enter the system of equations.
yi1 is the initial
condition for y(0).
4. Enter the initial conditions:
yi1=0 and yi2=1
yi2 is the initial
condition for y'(0).
Important: For 2nd-order
equations, you must set
Fields=DIRFLD or FLDOFF.
5. Press:
ƒ 9
— or —
TI-89: ¥ Í
TI-92 Plus: ¥ F
and set Axes = ON, Labels =
OFF, Solution Method = RK, and
Fields = DIRFLD.
Important: Fields=DIRFLD
cannot plot a time axis. An
Invalid Axes error occurs if
Axes=TIME or if t is set as a
CUSTOM axis.
6. In the Y= Editor, press:
TI-89: 2‰
TI-92 Plus: ‰
and make sure Axes = CUSTOM
with y1 and y2 as the axes.
t0=0.
xmin=ë 2. ncurves=0.
7. In the Window Editor
(¥ $), set the
Window variables.
tmax=10. xmax=2.
tstep=.1
tplot=0.
diftol=.001
fldres=14.
xscl=1.
ymin=ë 2. dtime=0.
ymax=2.
yscl=1.
8. Display the Graph screen
(¥ % ).
x axis = y1 = y
y axis = y2 = y'
If you select ZoomSqr („ 5), you can see that the phase-plane orbit
is actually a circle. However, ZoomSqr will change your Window
variables.
Chapter 11: Differential Equation Graphing
187
To examine this harmonic oscillator in more detail, use a split screen
to graph the manner in which y and y' change with respect to time (t).
Note: To display different
graphs in both parts of a
split screen, you must use
the 2-graph mode.
9. Press 3and change the
mode settings on Page 2 as
shown. Then close the MODE
dialog box, which redraws the
graph.
10. Press 2a to switch to the
right side of the split screen.
11. Use † to select y1' and y2'.
The right side uses the same
equations as the left side.
However, no equations are
selected initially in the right
side.
Important: Because
12. Press:
Fields=DIRFLD cannot plot a
time axis, you must change
the Fields setting. FLDOFF
turns off all fields.
ƒ 9
— or —
TI-89: ¥ Í
TI-92 Plus: ¥ F
Set Fields = FLDOFF.
13. In the Y= Editor, press:
TI-89: 2‰
TI-92 Plus: ‰
and make sure Axes = TIME.
ymin=ë 2.
Note: When you enter 2-
graph mode, Window
variables for the right side
are set to their defaults.
14. In the Window Editor, change
ymin and ymax as shown to the
right.
ymax=2.
15. Press ¥ % to display the
Graph screen for graph #2.
The left side shows the phase-
plane orbit. The right side
shows the solution curve and
its derivative.
y'
y
16. To return to a full screen of
the original graph, press
Split Screen = FULL
2a to switch to the left
side. Then press 3and
change the Split Screen setting.
188
Chapter 11: Differential Equation Graphing
Example of a 3rd-Order Equation
For the 3rd-order differential equation y'''+2y''+2y'+y = sin(x),
write a system of equations to enter in the Y= Editor. Then
graph the solution as a function of time. Use initial conditions
y(0) = 0, y'(0) = 1, and y''(0) = 1.
1. Press 3and set Graph=DIFF EQUATIONS.
Example
2. Define a system of equations
y''' + 2y'' + 2y' + y = sin(x)
y''' = sin(x) ì 2y'' ì 2y' ì y
y''' = sin(t) ì 2y'' ì 2y' ì y
for the 3rd-order equation as
described on page 186.
y''' = sin(t) ì 2y3 ì 2y2 ì y1
y3' = sin(t) ì 2y3 ì 2y2 ì y1
Rewrite the equation and
make the necessary
substitutions.
Note: t0 is the time at which
the initial conditions occur.
By default, t0=0.
3. In the Y= Editor (¥ #),
enter the system of
equations.
4. Enter the initial conditions:
yi1=0, yi2=1, and yi3=1
Important: The solution to the y1'
equation is the solution to the 3rd-
order equation.
5. Be sure that only y1' is
selected. Use † to deselect
any other equations.
Important: For 3rd- or
higher-order equations, you
must set Fields=FLDOFF.
Otherwise, an Undefined
variable error occurs when
graphing.
6. Press:
ƒ 9
— or —
TI-89: ¥ Í
TI-92 Plus: ¥ F
Set Axes = ON, Labels = ON,
Solution Method = RK, and
Fields = FLDOFF.
Note: With Axes=TIME, the
solution to the selected
equation is plotted against
time (t).
7. In the Y= Editor, press:
TI-89: 2‰
TI-92 Plus: ‰
Set Axes = TIME.
t0=0.
xmin=ë 1. ncurves=0.
xmax=10. diftol=.001
xscl=1.
ymin=ë 3.
ymax=3.
8. In the Window Editor
(¥ $), set the
Window variables.
tmax=10.
tstep=.1
tplot=0.
yscl=1.
Tip: To find the solution at a
particular time, use … to
trace the graph.
9. Display the Graph screen
(¥ % ).
Chapter 11: Differential Equation Graphing
189
Setting Axes for Time or Custom Plots
Setting the axes can give you great flexibility in graphing
differential equations. Custom axes are particularly effective
for showing different kinds of relationships.
From the Y= Editor, press:
TI-89: 2‰
TI-92 Plus: ‰
Displaying the
AXES Dialog Box
If Fields = SLPFLD, Axes is
unavailable.
TI-89: 2‰
TI-92 Plus: ‰
Item
Description
Axes
TIME — Plots t on the x axis and y (solutions to all
selected differential equations) on the y axis.
CUSTOM — Lets you select the x and y axes.
X Axis,
Active only when Axes = CUSTOM, these let you select
Y Axis
what you want to plot on the x and y axes.
Note: t is not valid for
either Axis when
Fields=DIRFLD. If you
select t, an Invalid axes
error occurs when graphing.
t — time
y — solutions (y1, y2, etc.) of all selected differential
equations
y' — values of all selected differential equations (y1',
y2', etc.)
y1, y2, etc. — the solution to the corresponding
differential equation, regardless of whether that
equation is selected
y1', y2', etc. — the value of the right-hand side of the
corresponding differential equation, regardless of
whether that equation is selected
190
Chapter 11: Differential Equation Graphing
Example of Time and Custom Axes
Using the predator-prey model from biology, determine the
numbers of rabbits and foxes that maintain population
equilibrium in a certain region. Graph the solution using both
time and custom axes.
Use the two coupled 1st-order differential equations:
Predator-Prey Model
y1' = ë y1 + 0.1y1 ù y2 and
y2' = 3y2 ì y1 ù y2
where:
y1
yi1 = Initial population of foxes (2)
y2 Population of rabbits
=
Population of foxes
=
yi2 = Initial population of rabbits (5)
1. Use 3to set Graph = DIFF EQUATIONS.
Tip: To speed up graphing
times, clear any other
equations in the Y= Editor.
With FLDOFF, all equations
are evaluated even if they
are not selected.
2. In the Y= Editor (¥ #),
define the differential
equations and enter the
initial conditions.
3. Press:
ƒ 9
— or —
TI-89: ¥ Í
TI-92 Plus: ¥ F
Set Axes = ON, Labels = ON,
Solution Method = RK, and
Fields = FLDOFF.
4. In the Y= Editor, press:
TI-89: 2‰
TI-92 Plus: ‰
Set Axes = TIME.
t0=0.
tmax=10.
tstep=p/24
tplot=0.
xmin=ë 1.
xmax=10.
xscl=5.
ymin=ë 10.
ymax=40.
yscl=5.
ncurves=0.
diftol=.001
5. In the Window Editor
(¥ $), set the
Window variables.
6. Graph the differential
equations (¥ % ).
Tip: Use C and D to move
the trace cursor between the
curves for y1 and y2.
7. Press … to trace. Then press
3 ¸ to see the number of
foxes (yc for y1) and rabbits
(yc for y2) at t=3.
y2(t)
y1(t)
Chapter 11: Differential Equation Graphing
191
Note: In this example,
DIRFLD is used for two
related differential equations
that do not represent a 2nd-
order equation.
8. Return to the Y= Editor. Press:
ƒ 9
— or —
TI-89: ¥ Í
TI-92 Plus: ¥ F
Set Fields = DIRFLD.
9. Press:
TI-89: 2‰
TI-92 Plus: ‰
Confirm that the axes are set
as shown.
10. In the Y= Editor, clear the
initial conditions for yi1 and
yi2.
11. Return to the Graph screen,
which displays only the
direction field.
Tip: Use a list to specify
more than one initial
condition.
12. To graph a family of solutions,
return to the Y= Editor and
enter the initial conditions
shown below.
yi1={2,6,7} and yi2={5,12,18}
13. Return to the Graph screen,
which displays a curve for
each pair of initial conditions.
Tip: Use C and D to move
the trace cursor from one
initial condition curve to
another.
14. Press … to trace. Then press
3 ¸ to see the number of
foxes (xc) and rabbits (yc) at
t=3.
Because t0=0 and tmax=10,
you can trace in the range
0 t 10.
192
Chapter 11: Differential Equation Graphing
Example Comparison of RK and Euler
Consider a logistic growth model dP/dt = .001ù Pù (100ì P),
with the initial condition P(0) = 10. Use the BldData instruction
to compare the graphing points calculated by the RK and Euler
solution methods. Then plot those points along with a graph of
the equation’s exact solution.
1. Press 3and set Graph=DIFF EQUATIONS.
Example
y1'=.001y1ù (100ì y1)
2. Express the 1st-order equation
in terms of y1' and y1.
Do not use implied multiplication between
the variable and parentheses. If you do, it
is treated as a function call.
Tip: To speed up graphing
times, clear any other
equations in the Y= Editor.
With FLDOFF, all equations
are evaluated even if they
are not selected.
3. Enter the equation in the
Y= Editor (¥ #).
4. Enter the initial condition:
yi1=10
t0 is the time at which the initial
condition occurs. By default, t0=0.
5. Press:
ƒ 9
— or —
TI-89: ¥ Í
TI-92 Plus: ¥ F
Set Solution Method = RK and
Fields = FLDOFF.
t0=0.
xmin=ë 1.
ncurves=0.
6. In the Window Editor
(¥ $), set the
Window variables.
tmax=100. xmax=100. diftol=.001
tstep=1.
tplot=0.
xscl=1.
ymin=ë 10.
ymax=10.
yscl=1.
Important: Change tstep from .1
(its default) to 1. Otherwise,
BldData calculates too many
rows for the data variable and a
Dimension error occurs.
Note: You do not need to
graph the equation before
using BldData. For more
information about BldData,
refer to Appendix A.
7. In the Home screen
TI-89: "
BldData rklog
TI-92 Plus: ¥ "
use BldData to create a data
variable containing the RK
graphing points.
8. Return to the Y= Editor,
press:
ƒ 9
— or —
TI-89: ¥ Í
TI-92 Plus: ¥ F
Set Solution Method = EULER.
Chapter 11: Differential Equation Graphing
193
9. Return to the Home screen,
and use BldData to create a
data variable containing the
Euler graphing points.
BldData eulerlog
Note: errorlog lets you
combine the data in rklog
and eulerlog so that you can
view the two sets of data
side by side.
10. Use the Data/Matrix Editor
(O 6 3) to create a new
data variable named errorlog.
Note: rklog[1] and rklog[2]
refer to column 1 and 2 in
rklog, respectively. Likewise
with eulerlog[2].
11. In this new data variable,
define the c1, c2, and c3
column headers to refer to
data in rklog and eulerlog.
Also, enter column titles as
shown.
c1=rklog[1] or
c1=eulerlog[1]
c2=rklog[2]
c3=
eulerlog[2]
Tip: Scroll through the data
variable to see how the RK
and Euler values differ for
the same time value.
To define a column header,
move the cursor to that
column, press †, type the
reference expression (such
as rklog[1] for c1), and press
¸.
12. In the Data/Matrix Editor,
press „. Then press ƒ and
define Plot 1 for the RK data,
as shown to the right.
Plot Type=xyline
Mark=Cross
x=c1
13. Define Plot 2 for the Euler
data. Use the values shown
to the right.
y=c3
14. Return to the Y= Editor,
press 3, and set
Graph = FUNCTION.
Note: To see how to use
deSolve() to find this exact,
general solution, refer to
page 196.
15. The exact solution to the
differential equation is given
below. Enter it as y1.
y1 = (100ù e^(x/10))/(e^(x/10)+9)
You can use C to scroll up to see
Plot 1 and Plot 2.
194
Chapter 11: Differential Equation Graphing
xmin=ë 10. ymin=ë 10. xres=2.
xmax=100. ymax=120.
16. In the Window Editor, set
the Window variables.
xscl=10.
yscl=10.
Note: The fuzzy line on the
graph indicates differences
between the RK and Euler
values.
17. Display the Graph screen
(¥ % ).
xmin=39.7 ymin=85.5 xres=2.
xmax=40.3 ymax=86.
18. In the Window Editor, set the
Window variables to zoom in
so that you can examine the
differences in more detail.
xscl=.1
yscl=.1
Euler (Plot 2)
19. Return to the Graph screen.
RK (Plot 1)
20. Press … to trace, and then
press Cor Duntil y1 is
selected. (1 shows in upper
right corner.) Then enter 40.
Exact solution (y1)
y1 is selected when 1 shows here.
By moving the trace cursor to trace each solution to xc = 40, you can
find that:
¦
¦
¦
The exact solution (y1) is 85.8486, rounded to six digits.
The RK solution (Plot 1) is 85.8952.
The Euler solution (Plot 2) is 85.6527.
You can also use the Data/Matrix Editor to open the errorlog data
variable and scroll to time = 40.
Chapter 11: Differential Equation Graphing
195
Example of the deSolve() Function
The deSolve() function lets you solve many 1st- and 2nd-
order ordinary differential equations exactly.
For a general solution, use the following syntax. For a particular
solution, refer to Appendix A.
Example
deSolve(1stOr2ndOrderODE, independentVar, dependentVar)
Using the logistic 1st-order differential equation from the example on
page 176, find the general solution for y with respect to t.
Tip: For maximum
deSolve(y' = 1/1000 yù (100ì y),t,y)
accuracy, use 1/1000
instead of .001. A floating-
point number can introduce
round-off errors.
Do not use implied multiplication between the
variable and parentheses. If you do, it will be
treated as a function call.
For ', type 2 È.
Note: This example does
not involve graphing, so you
can use any Graph mode.
Before using deSolve(), clear any existing t and y variables.
Otherwise, an error occurs.
1. In the Home screen
TI-89: "
TI-92 Plus: ¥ "
use deSolve() to find the
general solution.
@1 represents a constant. You may
get a different constant (@2, etc.).
2. Use the solution to define a function.
a. Press Cto highlight the solution in the history area. Then
press ¸ to autopaste it into the entry line.
Tip: Press 2 A to move to
the beginning of the entry
line.
b. Insert the Define
instruction at the
beginning of the line.
Then press ¸.
Note: If you got a different
constant (@2, etc.), solve
for that constant.
3. For an initial condition y=10
with t=0, use solve() to find
the @1 constant.
For @, type
TI-89: ¥ §
TI-92 Plus: 2 R
4. Evaluate the general solution
(y) with the constant
@1=9/100 to obtain the
particular solution shown.
You can also use deSolve() to solve this problem directly. Enter:
deSolve(y' = 1/1000 yù (100ì y) and y(0)=10,t,y)
196
Chapter 11: Differential Equation Graphing
Troubleshooting with the Fields Graph Format
If you have difficulties graphing a differential equation, this
section can help you correct the problem. Many problems may
be related to your Fields graph format setting.
From the Y= Editor, Window
Editor, or Graph screen, press:
ƒ 9
Setting the Fields
Graph Format
— or —
TI-89: ¥ Í
TI-92 Plus: ¥ F
What Order
If the equation is:
Valid Fields settings are:
Equation Are You
Graphing?
1st-order
SLPFLD or FLDOFF
2nd-order
DIRFLD or FLDOFF
(system of two 1st-order equations)
3rd- or higher-order
(system of three or more 1st-order
equations)
FLDOFF
Because Fields = SLPFLD is the
default setting, a common error
message is shown to the right.
When you see this or any other error message:
¦
For your order of equation, use the previous table to find the valid
Fields settings. Change to the applicable setting.
¦
For a particular Fields setting, check the following for information
that applies to that setting.
Fields=SLPFLD
In the
Y= Editor
Use † to select one and only one 1st-order equation.
You can enter multiple equations, but only one at a
time can be selected.
The selected equation must not refer to any other
equation in the Y= Editor. For example:
If y1'=y2, an Undefined
variable error occurs when
you graph.
In the Graph If the slope field is drawn but no solution curve is
screen
plotted, specify an initial condition as described on
page 184.
Chapter 11: Differential Equation Graphing
197
Fields=DIRFLD
In the
Y= Editor
Enter a valid system of two 1st-order equations. For
information about defining a valid system for a 2nd-
order equation, refer to page 186.
Set Axes = CUSTOM:
TI-89: 2‰
TI-92 Plus: ‰
If Axes = TIME, an Invalid
axes error occurs when
you graph.
If you enter initial conditions in the Y= Editor, the
equations referenced by the custom axes must have
the same number of initial conditions.
Otherwise, a Dimension
error occurs when you
graph.
With custom Set axes that are valid for your system of equations.
axes
Do not select t for either axis. Otherwise, an Invalid
axes error occurs when you graph.
The two axes must refer to different equations in
your system of equations. For example, y1 vs. y2 is
valid, but y1 vs. y1' gives an Invalid axes error.
In the Graph If the direction field is drawn but no curve is plotted,
screen
enter initial conditions in the Y= Editor or select one
interactively from the Graph screen as described
starting on page 184. If you did enter initial
conditions, select ZoomFit:
TI-89: „ jA
TI-92 Plus: „ A
The ncurves Window variable is ignored with DIRFLD.
Default curves are not drawn automatically.
Notes
With DIRFLD, the equations referenced by the custom
axes determine which equations are graphed,
regardless of which equations are selected in the
Y= Editor.
If your system of equations refers to t, the direction
field (not the plotted curves) is drawn with respect to
one particular time, which is set by the dtime Window
variable.
198
Chapter 11: Differential Equation Graphing
Fields=FLDOFF
In the
Y= Editor
If you enter a 2nd- or higher-order equation, enter it
as a valid system of equations as described on
page 186.
All equations (selected or
not) must have the same
number of initial
conditions. Otherwise, a
Dimension error occurs
when you graph.
To set Axes = TIME or CUSTOM, press:
TI-89: 2‰
TI-92 Plus: ‰
With custom If X Axis is not t, you must enter at least one initial
axes
condition for each equation in the Y= Editor
(whether the equation is selected or not).
Otherwise, a Diff Eq setup
error occurs when you
graph.
In the Graph If no curve is graphed, set an initial condition as
screen
described on page 184. If you did enter initial
conditions in the Y= Editor, select ZoomFit:
TI-89: „ jA
TI-92 Plus: „ A
A 1st-order equation may look different with FLDOFF
than with SLPFLD. This is because FLDOFF uses the
tplot and tmax Window variables (page 181), which
are ignored with SLPFLD.
Notes
For 1st-order equations, use FLDOFF and
Axes = Custom to plot axes that are not possible with
SLPFLD. For example, you can plot t vs. y1' (where
SLPFLD plots t vs. y1). If you enter multiple 1st-order
equations, you can plot one equation or its solution
vs. another by specifying them as the axes.
You can use the Table screen to view the points for a differential
equation graph. However, the table may show different equations
than those graphed. The table shows only the selected equations,
regardless of whether those equations will be plotted with your
current Fields and Axes settings.
If You Use the Table
Screen to View
Differential
Equations
Chapter 11: Differential Equation Graphing
199
200
Chapter 11: Differential Equation Graphing
Additional Graphing Topics
Preview of Additional Graphing Topics.............................................. 202
Collecting Data Points from a Graph................................................... 203
Graphing a Function Defined on the Home Screen........................... 204
Graphing a Piecewise Defined Function............................................. 206
Graphing a Family of Curves................................................................ 208
Using the Two-Graph Mode.................................................................. 209
Drawing a Function or Inverse on a Graph ........................................ 212
Drawing a Line, Circle, or Text Label on a Graph ............................. 213
Saving and Opening a Picture of a Graph ........................................... 217
Animating a Series of Graph Pictures ................................................. 219
Saving and Opening a Graph Database ............................................... 220
12
This chapter describes additional features that you can use to
create graphs on the TI-89 / TI-92 Plus. This information generally
applies to all Graph mode settings.
This chapter assumes that you already know the fundamental
procedures for defining and selecting functions, setting Window
variables, and displaying graphs as described in Chapter 6: Basic
Function Graphing.
Chapter 12: Additional Graphing Topics
201
Preview of Additional Graphing Topics
From the Home screen, graph the piecewise defined function: y = ìx when x < 0 and
y = 5 cos(x) when x ‚ 0. Draw a horizontal line across the top of the cosine curve. Then
save a picture of the displayed graph.
³
›
TI-89
Keystrokes
TI-92 Plus
Keystrokes
Steps
Display
3
B 1
D D D
3
B 1
D D D
1. Display the MODE dialog box.
For Graph mode, select
FUNCTION.
B 1
B 1
For Angle mode, select RADIAN.
¸
¸
"
† 22 ™
WHENj c X WHENc X
2 Â 0b · X 2 Â 0b · X
b 5p 2 X b 5p X
¥ "
† 2
2. Display the Home screen. Use
the Graph command and the
when function to specify the
piecewise defined function.
Graph when(x<0,ëx,5ùcos(x))
† 2 selects Graph from the Other
toolbar menu and automatically adds
a space.
Xd d
Xd d
¸
¸
3. Execute the Graph command,
which automatically displays the
Graph screen.
The graph uses the current Window
variables, which are assumed to be
their standard values („ 6) for this
example.
2 ‰ 5
C (until the line C (until the line
‰ 5
4. Draw a horizontal line across
the top of the cosine curve.
is positioned)
¸
is positioned)
¸
The calculator remains in “line” mode
until you select a different operation
or press N.
ƒ 2
ƒ 2
5. Save a picture of the graph. Use
PIC1 as the variable name for the
picture.
B 2D D
PICj 1
¸ ¸
B 2D D
PIC 1
¸ ¸
Be sure to set Type = Picture. By
default, it is set to GDB.
6. Clear the drawn horizontal line.
2 ˆ 1
ˆ 1
You can also press † to regraph.
ƒ 1
B 2
(if not already
ƒ 1
B 2
(if not already
7. Open the saved picture variable
to redisplay the graph with the
line.
shown, also set shown, also set
Be sure to set Type = Picture. By
default, it is set to GDB.
Variable = pic1)
Variable = pic1)
¸
¸
202
Chapter 12: Additional Graphing Topics
Collecting Data Points from a Graph
From the Graph screen, you can store sets of coordinate
values and/or math results for later analysis. You can store the
information as a single-row matrix (vector) on the Home
screen or as data points in a system data variable that can be
opened in the Data/Matrix Editor.
1. Display the graph. (This example shows y1(x)=5ùcos(x).)
Collecting the
Points
2. Display the coordinates or math results you want to collect.
3. Save the information to the Home screen or the sysData variable.
TI-89: ¥ · (Home screen) or ¥ b (sysData variable)
TI-92 Plus: ¥ H (Home screen) or ¥ D (sysData variable)
4. Repeat the process as necessary.
Tip: To display coordinates
or math results, trace a
function with … or perform
an ‡ Math operation (such
as Minimum or Maximum).
You can also use the free-
moving cursor.
TI-89: ¥ ·
TI-89: ¥ b
TI-92 Plus: ¥ H
TI-92 Plus: ¥ D
Displayed coordinates are added to Displayed coordinates are stored in a
the Home screen’s history area
(but not the entry line) as a
single-row matrix or vector.
data variable named sysData,
which you can open in the
Data/Matrix Editor.
Tip: Use a split screen to
show a graph and the Home
screen or Data/Matrix Editor
at the same time.
Notes about
SysData Variable
¦
When you press: TI-89: ¥ b TI-92 Plus: ¥ D
−
−
If sysData does not exist, it is created in the MAIN folder.
If sysData already exists, new data is appended to the end of
any existing data. Existing titles or column headers (for the
affected columns) are cleared; titles are replaced with the
applicable titles for the new data.
¦
¦
The sysData variable can be cleared, deleted, etc., just as any
other data variable. However, it cannot be locked.
If the Graph screen contains a function or stat plot that
references the current contents of sysData, this command will not
operate.
Chapter 12: Additional Graphing Topics
203
Graphing a Function Defined on the Home Screen
In many cases, you may create a function or expression on the
Home screen and then decide to graph it. You can copy an
expression to the Y= Editor, or graph it directly from the Home
screen without using the Y= Editor.
On the Y= Editor, all functions must be defined in terms of the
current graph mode’s “native” independent variable.
What Is the “Native”
Independent
Variable?
Graph Mode
Native Independent Variable
Function
x
Parametric
Polar
t
q
Sequence
3D
Differential Equation
n
x, y
t
If you have an expression on the Home screen, you can use any of
the following methods to copy it to the Y= Editor.
Copying from the
Home Screen to the
Y= Editor
Method
Description
Tip: Instead of using ƒ 5
or ƒ 6 to copy and paste,
use:
Copy and
paste
1. Highlight the expression on the Home screen.
Press ƒ and select 5:Copy.
2. Display the Y= Editor, highlight the desired
TI-89: ¥ 6 or ¥ 7.
TI-92 Plus: ¥ C (copy) or
¥ V(paste).
function, and press ¸.
3. Press ƒ and select 6:Paste. Then press ¸.
Store the expression to a Y= function name.
2x^3+3x^2ì4x+12!y1(x)
Tip: To copy an expression
from the Home screen’s
history area to the entry line,
use the auto-paste feature
or copy and paste.
§
Use the complete function
name: y1(x), not just y1.
Tip: Define is available from
the Home screen’s †
toolbar menu.
Define
command
Define the expression as a user-defined Y= function.
Define y1(x)=2x^3+3x^2ì4x+12
Tip: 2 £ is useful if an
expression is stored to a
variable or function that
does not correspond to the
Y= Editor, such as a1 or
f1(x).
2£
If the expression is already stored to a variable:
1. Display the Y= Editor, highlight the desired
function, and press ¸.
2. Press 2 £. Type the variable name that
contains the expression, and press ¸ twice.
Important: To recall a function variable such as
f1(x), type only f1, not the full function name.
3. Press ¸ to save the recalled expression in the
Y= Editor’s function list.
204
Chapter 12: Additional Graphing Topics
The Graph command lets you graph an expression from the Home
screen without using the Y= Editor. Unlike the Y= Editor, Graph lets
you specify an expression in terms of any independent variable,
regardless of the current graphing mode.
Graphing Directly
from the Home
Screen
If the expression is in
terms of:
Use the Graph command
as shown in this example:
Tip: Graph is available from
the Home screen’s †
toolbar menu.
The native
independent variable
graph 1.25xùcos(x)
For function graphing,
x is the native variable.
A non-native
independent variable
graph 1.25aùcos(a),a
Note: Graph uses the
current Window variable
settings.
Specify the independent
variable; otherwise, you
may get an error.
Tip: To create a table from
the Home screen, use the
Table command. It is similar
to Graph. Both share the
same expressions.
Graph does not work with sequence graphs or differential equations.
For parametric, polar, and 3D graphs, use the following variations.
In PARAMETRIC graphing mode:
In POLAR graphing mode:
In 3D graphing mode:
Graph xExpr, yExpr, t
Graph expr, q
Graph expr, x, y
Graph does not copy the expression to the Y= Editor. Instead, it
temporarily suspends any functions selected on the Y= Editor. You
can trace, zoom, or show and edit Graph expressions on the Table
screen, just the same as Y= Editor functions.
Each time you execute Graph, the new expression is added to the
existing ones. To clear the graphs:
Clearing the Graph
Screen
¦
¦
Execute the ClrGraph command (available from the Home
screen’s † Other toolbar menu).
— or —
Display the Y= Editor. The next time you display the Graph
screen, it will use the functions selected on the Y= Editor.
You can define a user-defined function in terms of any independent
variable. For example:
Extra Benefits of
User-Defined
Functions
Defined in terms of “aa”.
define f1(aa)=1.25aaùcos(aa)
graph f1(x)
Refers to the function by using the
native independent variable.
and:
define f1(aa)=1.25aaùcos(aa)
f1(x)!y1(x)
Chapter 12: Additional Graphing Topics
205
Graphing a Piecewise Defined Function
To graph a piecewise function, you must first define the
function by specifying boundaries and expressions for each
piece. The when function is extremely useful for two-piece
functions. For three or more pieces, it may be easier to create
a multi-statement, user-defined function.
To define a two-piece function, use the syntax:
Using the When
Function
when(condition, trueExpression, falseExpression)
Tip: Graph math results
may vary.
For example, suppose you want to graph a function with two pieces.
When:
Use expression:
x < 0
ëx
x ‚ 0
5 cos(x)
In the Y= Editor:
The function is pretty
printed in this form.
Enter the function
in this form.
Tip: To enter when, type it
or use the CATALOG.
For three or more pieces, you can use nested when functions.
When:
Use expression:
x < ìp
4 sin(x)
x ‚ ìp and x < 0 2x + 6
x ‚ 0
6 ìxñ
In the Y= Editor:
where:
y1(x)=when(x<0,when(x<ëp,4ùsin(x),2x+6),6ìx^2)
This nested function is in effect when x<0.
Nested functions quickly become complex and difficult to visualize.
206
Chapter 12: Additional Graphing Topics
For three or more pieces, you may want to create a multi-statement,
user-defined function.
Using a Multi-
Statement, User-
Defined Function
For example, consider the previous three-piece function.
When:
Use expression:
x < ìp
4 sin(x)
x ‚ ìp and x < 0 2x + 6
x ‚ 0 6 ìxñ
Note: For information about
similarities and differences
between functions and
programs, refer to
A multi-statement, user-defined function can have many of the
control and decision-making structures (If, ElseIf, Return, etc.) used
in programming. When creating the structure of a function, it may be
helpful to visualize it first in a block form.
Chapter 17.
Func
Tip: Graph math results
may vary.
Func and EndFunc
must begin and end the
function.
If x<-p Then
Return 4ùsin(x)
ElseIf x>=-p and x<0 Then
Return 2x+6
Else
Return 6ìx^2
EndIf
EndFunc
For information about
the individual
statements, refer to
Appendix A.
When entering a multi-statement function on the Y= Editor or Home
screen, you must enter the entire function on a single line.
Use a colon (:) to separate each statement.
Func:If x<-p Then:Return 4ùsin(x): ... :EndIf:EndFunc
On the Y= Editor:
Only “Func” is shown
for a multi-statement
function.
Enter a multi-statement
function on one line. Be
sure to include colons.
From the Home screen, you can also use the Define command to
create a multi-statement, user-defined function. Refer to page 204 for
other information on copying a function from the Home screen to the
Y= Editor.
From the Home
Screen or a Program
From the Program Editor (Chapter 17), you can create a user-defined
function. For example, use the Program Editor to create a function
named f1(xx). In the Y= Editor, set y1(x) = f1(x).
Chapter 12: Additional Graphing Topics
207
Graphing a Family of Curves
By entering a list in an expression, you can plot a separate
function for each value in the list. (You cannot graph a family
of curves in SEQUENCE or 3D graphing mode.)
Enter the expression {2,4,6} sin(x) and graph the functions.
Examples Using the
Y= Editor
Tip: Graph math results
may vary.
Graphs three functions:
2 sin(x), 4 sin(x), 6 sin(x)
Tip: Enclose list elements in
braces (2 [ and 2 \)
and separate them with
commas.
Enter the expression {2,4,6} sin({1,2,3} x) and graph the functions.
Note: The commas are
shown in the entry line but
not in the function list.
Graphs three functions:
2 sin(x), 4 sin(2x), 6 sin(3x)
Similarly, you can use the Graph command from the Home screen or
a program as described on page 205.
Example Using the
Graph Command
graph {2,4,6}sin(x)
graph {2,4,6}sin({1,2,3}x)
When the graph format is set for Graph Order = SIMUL, the functions
are graphed in groups according to the element number in the list.
Simultaneous
Graphs with Lists
For these example functions, the
TI-89 / TI-92 Plus graphs three groups.
Tip: To set graph formats
from the Y= Editor, Window
Editor, or Graph screen,
press:
TI-89: ¥ Í
TI-92 Plus: ¥ F
¦
¦
¦
2 sin(x), x+4, cos(x)
4 sin(x), 2x+4
6 sin(x), 3x+4
The functions within each group are graphed simultaneously, but the
groups are graphed sequentially.
Pressing D or C moves the trace cursor to the next or previous
curve in the same family before moving to the next or previous
selected function.
When Tracing a
Family of Curves
208
Chapter 12: Additional Graphing Topics
Using the Two-Graph Mode
In two-graph mode, the TI-89 / TI-92 Plus’s graph-related
features are duplicated, giving you two independent graphing
calculators. The two-graph mode is only available in split
screen mode. For more information about split screens, refer
to Chapter 14.
Several mode settings affect the two-graph mode, but only two
settings are required. Both are on Page 2 of the MODE dialog box.
Setting the Mode
1. Press 3. Then press „ to display Page 2.
2. Set the following
required modes.
¦
Split Screen =
TOP-BOTTOM or
LEFT-RIGHT
¦
Number of Graphs = 2
3. Optionally, you can set the following modes.
Page 1:
Page 2:
¦
¦
¦
¦
¦
Graph = Graph mode for top or left side of the split
Split 1 App = application for top or left side
Split 2 App = application for bottom or right side
Graph 2 = Graph mode for bottom or right side
Split Screen Ratio = relative sizes of the two sides
(TI-92 Plus only)
4. Press ¸ to close the dialog box.
A two-graph screen is similar to a regular split screen.
Graph 1:
The Two-Graph
Screen
Graph 2:
left or top
side
right or
bottom side
Thick border
indicates
active graph
side
Graph mode of active graph
Active graph side:
GR#1 or GR#2
Chapter 12: Additional Graphing Topics
209
Both Graph 1 and Graph 2 have independent:
Independent Graph-
Related Features
¦
Graph modes (FUNCTION, POLAR, etc.). Other modes such as
Angle, Display Digits, etc., are shared and affect both graphs.
¦
¦
¦
¦
¦
Window Editor variables.
Table setup parameters and Table screens.
Graph formats such as Coordinates, Axes, etc.
Graph screens.
Note: The Y= Editor is
completely independent
only when the two sides use
different graphing modes
(as described below).
Y= Editors. However, both graphs share common function and
stat plot definitions.
Independent graph-related applications (Y= Editor, Graph screen,
etc.) can be displayed on both sides of the screen at the same time.
Non-graph-related applications (Home screen, Data/Matrix Editor,
etc.) are shared and can be displayed on only one side at a time.
Even in two-graph mode, there is actually only one Y= Editor, which
maintains a single function list for each Graph mode setting.
However, if both sides use the same graphing mode, each side can
select different functions from that single list.
The Y= Editor in
Two-Graph Mode
¦
When both sides use
different graphing modes,
each side shows a
different function list.
¦
When both sides use
the same graphing mode,
each side shows the
same function list.
Note: If you make a change
on the active Y= Editor
(redefine a function, change
a style, etc.), that change is
not reflected on the inactive
side until you switch to it.
−
You can use † to
select different
functions and stat
plots (indicated by Ÿ)
for each side.
Suppose Graph 1 and Graph 2 are
set for function graphing. Although
both sides show the same function
list, you can select (Ÿ) different
functions for graphing.
−
If you set a display
style for a function,
that style is used by
both sides.
(TI-89: 2 ˆ
TI-92 Plus: ˆ)
210
Chapter 12: Additional Graphing Topics
For more complete information about split screens, refer to
Chapter 14.
Using a Split Screen
¦
To switch from one graph side to the other, press 2 a
(second function of O).
Note: You can display non-
graph-related applications
(such as the Home screen)
on only one side at a time.
¦
To display different applications:
−
Switch to the applicable graph side and display the application
as you normally would.
— or —
−
Use 3 to change Split 1 App and/or Split 2 App.
¦
To exit two-graph mode:
−
Use 3 to set Number of Graphs = 1, or exit the split screen
by setting Split Screen = FULL.
— or —
−
Press 2 K twice. This always exits a split screen and
returns to a full-sized Home screen.
In two-graph mode, the two sides may appear to be related when, in
fact, they are not. For example:
Remember that the
Two Sides Are
Independent
For Graph 2,
the polar
graph uses
r(q)
For Graph 1,
the Y= Editor
lists y(x)
functions.
equations
that are not
shown.
After the two-graph mode is set up, graph-related operations refer to
the active graph side. For example:
From the Home
Screen or a Program
10!xmax
affects either Graph 1 or Graph 2, depending on which is active when
you execute the command.
To switch the active sides, press 2 a or use the switch function,
switch(1) or switch(2).
Chapter 12: Additional Graphing Topics
211
Drawing a Function or Inverse on a Graph
For comparison purposes, you may want to draw a function
over your current graph. Typically, the drawn function is some
variation of the graph. You can also draw the inverse of a
function. (These operations are not available for 3D graphs.)
Execute DrawFunc, DrawParm, or DrawPol from the Home screen or
a program. You cannot draw a function or equation interactively
from the Graph screen.
Drawing a Function,
Parametric, or Polar
Equation
DrawFunc expression
DrawParm expression1, expression2 [,tmin] [,tmax] [,tstep]
DrawPol expression [,qmin] [,qmax] [,qstep]
For example:
1. Define y1(x)=.1xòì2x+6 on the
Y= Editor, and graph the
function.
To display the Home screen
and put DrawFunc in the
entry line, press:
TI-89: 2 ˆ 2
TI-92 Plus: ˆ 2
2. On the Graph screen, press:
TI-89: 2 ˆ
TI-92 Plus: ˆ
and select 2:DrawFunc.
3. On the Home screen, specify
DrawFunc y1(x)ì6
the function to draw.
Tip: To clear the drawn
function, press †
4. Press ¸ to draw the
function on the Graph
screen.
— or —
TI-89: 2 ˆ and select
1:ClrDraw.
TI-92 Plus: ˆ and select
1:ClrDraw.
You cannot trace, zoom, or
perform a math operation on
a drawn function.
Execute DrawInv from the Home screen or a program. You cannot
draw an inverse function interactively from the Graph screen.
Drawing the Inverse
of a Function
DrawInv expression
For example, use the graph of y1(x)=.1xòì2x+6 as shown above.
1. On the Graph screen, press:
TI-89: 2 ˆ
To display the Home screen
and put DrawInv in the
entry line, press:
TI-89: 2 ˆ 3
TI-92 Plus: ˆ 3
TI-92 Plus: ˆ
and select 3:DrawInv.
2. On the Home screen, specify
DrawInv y1(x)
the inverse function.
3. Press ¸.
The inverse is plotted as
(y,x) instead of (x,y).
212
Chapter 12: Additional Graphing Topics
Drawing a Line, Circle, or Text Label on a Graph
You can draw one or more objects on the Graph screen,
usually for comparisons. For example, draw a horizontal line to
show that two parts of a graph have the same y value. (Some
objects are not available for 3D graphs.)
A drawn object is not part of the graph itself. It is drawn “on top of”
the graph and remains on the screen until you clear it.
Clearing All
Drawings
From the Graph screen:
Tip: You can also enter
ClrDraw on the Home
screen’s entry line.
¦
TI-89: 2 ˆ
TI-92 Plus: ˆ
and select 1:ClrDraw.
— or —
¦
Press † to regraph.
You can also do anything that causes the Smart Graph feature to
redraw the graph (such as change the Window variables or deselect
a function on the Y= Editor).
From the Graph screen:
Drawing a Point or a
Freehand Line
1. TI-89: 2 ‰
TI-92 Plus: ‰
and select 1:Pencil.
2. Move the cursor to the
applicable location.
To draw a:
Do this:
Point (pixel-sized)
Press ¸.
Tip: When drawing a
freehand line, you can move
the cursor diagonally.
Freehand line
TI-89: Press and hold ¤, and move the
cursor to draw the line.
TI-92 Plus: Press and hold ‚, and move
the cursor to draw the line.
To quit drawing the line, release ¤ or ‚.
Note: If you start drawing
on a white pixel, the pencil
draws a black point or line.
If you start on a black pixel,
the pencil draws a white
point or line (which can act
as an eraser).
After drawing the point or line,
you are still in “pencil” mode.
¦
To continue drawing, move
the cursor to another point.
¦
To quit, press N.
Chapter 12: Additional Graphing Topics
213
From the Graph screen:
Erasing Individual
Parts of a Drawing
Object
1. TI-89: 2‰
TI-92 Plus: ‰
and select 2:Eraser. The cursor is shown as a small box.
2. Move the cursor to the applicable location.
To erase:
Area under the box Press ¸.
TI-89: Press and hold ¤, and move the
Do this:
Note: These techniques
also erase parts of graphed
functions.
Along a freehand line
cursor to erase the line.
TI-92 Plus: Press and hold ‚, and move
the cursor to erase the line.
To quit, release ¤ or ‚.
After erasing, you are still in
“eraser” mode.
¦
To continue erasing, move
the box cursor to another
location.
¦
To quit, press N.
From the Graph screen:
Drawing a Line
Between Two Points
1. TI-89: 2‰
TI-92 Plus: ‰
and select 3:Line.
2. Move the cursor to the 1st point, and press ¸.
3. Move to the 2nd point, and press ¸. (As you move, a line
Tip: Use 2 to move the
cursor in larger increments;
2 B, etc.
extends from the 1st point to the cursor.)
After drawing the line, you are
still in “line” mode.
¦
To continue drawing another
line, move the cursor to a
new 1st point.
¦
To quit, press N.
From the Graph screen:
Drawing a Circle
1. TI-89: 2‰
TI-92 Plus: ‰
and select 4:Circle.
2. Move the cursor to the center
of the circle, and press
¸.
Tip: Use 2 to move the
cursor in larger increments;
2 B, etc.
3. Move the cursor to set the
radius, and press ¸.
214
Chapter 12: Additional Graphing Topics
From the Graph screen:
Drawing a
Horizontal or
Vertical Line
1. TI-89: 2‰
TI-92 Plus: ‰
and select 5:Horizontal or 6:Vertical. A horizontal or vertical line
and a flashing cursor are displayed on the screen.
If the line is initially displayed on an axis, it may be difficult to
see. However, you can easily see the flashing cursor.
Tip: Use 2 to move the
cursor in larger increments;
2 B, etc.
2. Use the cursor pad to move the line to the appropriate position.
Then press ¸.
After drawing the line, you are
still in “line” mode.
¦
To continue, move the cursor
to another location.
¦
To quit, press N.
To draw a tangent line, use the ‡ Math toolbar menu. From the
Graph screen:
Drawing a Tangent
Line
1. Press ‡ and select A:Tangent.
2. As necessary, use D and C to select the applicable function.
Tip: To set the tangent
point, you can also type its x
value and press ¸.
3. Move the cursor to the
tangent point, and press
¸.
The tangent line is drawn,
and its equation is displayed.
To draw a line through a specified point with a specified slope,
execute the DrawSlp command from the Home screen or a program.
Use the syntax:
Drawing a Line
Based on a Point
and a Slope
DrawSlp x, y, slope
You can also access DrawSlp from the Graph screen.
1. TI-89: 2ˆ
TI-92 Plus: ˆ
and select 6:DrawSlp. This switches to the Home screen and puts
DrawSlp in the entry line.
2. Complete the command, and
DrawSlp 4,0,6.37
press ¸.
The TI-89 / TI-92 Plus
automatically switches to the
Graph screen and draws the
line.
Chapter 12: Additional Graphing Topics
215
From the Graph screen:
Typing Text Labels
1. TI-89: 2‰
TI-92 Plus: ‰
and select 7:Text.
Tip: The text cursor
indicates the upper-left
corner of the next character
you type.
2. Move the text cursor to the location where you want to begin
typing.
3. Type the text label.
After typing the text, you are
still in “text” mode.
¦
To continue, move the cursor
to another location.
¦
To quit, press ¸ or N.
Commands are available for drawing any of the objects described in
this section. There are also commands (such as PxlOn, PxlLine, etc.)
that let you draw objects by specifying exact pixel locations on the
screen.
From the Home
Screen or a Program
For a list of the available drawing commands, refer to “Drawing on
the Graph Screen” in Chapter 17.
216
Chapter 12: Additional Graphing Topics
Saving and Opening a Picture of a Graph
You can save an image of the current Graph screen in a
PICTURE (or PIC) variable. Then, at a later time, you can open
that variable and display the image. This saves the image
only, not the graph settings used to produce it.
A picture includes any plotted functions, axes, tick marks, and drawn
objects. The picture does not include lower and upper bound
indicators, prompts, or cursor coordinates.
Saving a Picture of
the Whole Graph
Screen
Display the Graph screen as you
want to save it. Then:
1. Press ƒ and select
2:Save Copy As.
2. Specify the type (Picture),
folder, and a unique variable
name.
3. Press ¸. After typing in an
Important: By default, Type = GDB
input box such as Variable, you
(for graph database). You must set
must press ¸ twice.
Type = Picture.
You can define a rectangular box that encloses only the portion of
the Graph screen that you want to save.
Saving a Portion of
the Graph Screen
1. TI-89: 2 ‰
TI-92 Plus: ‰
and select 8:Save Picture.
Note: You cannot save a
portion of a 3D graph.
A box is shown around the
outer edge of the screen.
Tip: Use D and C to move
the top or bottom, and use
B and A to move the sides.
2. Set the 1st corner of the box
by moving its top and left
sides. Then press ¸.
3. Set the 2nd corner by moving
the bottom and right sides.
Then press ¸.
4. Specify the folder and a
unique variable name.
5. Press ¸. After typing in an
input box such as Variable, you
Note: When saving a portion of a
graph, Type is automatically fixed
as Picture.
must press ¸ twice.
Chapter 12: Additional Graphing Topics
217
When you open a graph picture, it is superimposed over the current
Graph screen. To display only the picture, use the Y= Editor to
deselect any other functions before opening the graph picture.
Opening a Graph
Picture
From the Graph screen:
1. Press ƒ and select 1:Open.
2. Select the type (Picture),
folder, and variable that
contain the graph picture you
want to open.
Note: If a variable name is
not shown on the dialog
box, there are no graph
pictures in the folder.
Important: By default, Type = GDB
(for graph database). Be sure to set
Type = Picture.
3. Press ¸.
A graph picture is a drawing object. You cannot trace any curve on a
picture.
When you press ƒ and select 1:Open, the picture is superimposed
starting at the upper-left corner of the Graph screen. If the picture
was saved from a portion of the Graph screen (page 217), it may
appear shifted from the underlying graph.
For Pictures Saved
from a Portion of
the Graph Screen
To specify which screen pixel to use as the upper-left corner, you
can use the commands listed in “From a Program or the Home
Screen” below.
Unwanted Picture variables take up calculator memory. To delete a
variable, use the VAR-LINK screen (2 °) as described in
Chapter 21.
Deleting a Graph
Picture
To save (store) and open (recall) a graph picture, use the StoPic,
RclPic, AndPic, XorPic, and RplcPic commands as described in
Appendix A.
From a Program or
the Home Screen
To display a series of graph pictures as an animation, use the
CyclePic command. For an example, refer to page 219.
218
Chapter 12: Additional Graphing Topics
Animating a Series of Graph Pictures
As described earlier in this chapter, you can save a picture of
a graph. By using the CyclePic command, you can flip
through a series of graph pictures to create an animation.
Before using CyclePic, you must have a series of graph pictures that
have the same base name and are sequentially numbered starting
with 1 (such as pic1, pic2, pic3, . . . ).
CyclePic Command
To cycle the pictures, use the syntax:
CyclePic picNameString, n [,wait] [,cycles] [,direction]
1 = forward/circular cycle
ë1= forward/backward
# of times to repeat cycle
seconds between pictures
# of pictures to cycle
base name of pictures in quotes, such as "pic"
This example program (named cyc) generates 10 views of a 3D
graph, with each view rotated 10¡ further around the Z axis. For
information about each command, refer to Appendix A. For
information about using the Program Editor, refer to Chapter 17.
Example
Program Listing
Every Other Graph from Program
Comments start with ¦.
Press:
TI-89: ¥ d
TI-92 Plus: 2 X
:cyc()
:Prgm
:local i
:¦Set mode and Window variables
:setMode(“graph”,”3d”)
:70! eyef
For f, press:
:ë 10! xmin
TI-89: ¥ c j F
TI-92 Plus: ¥ G F
:10! xmax
:14! xgrid
:ë 10! ymin
:10! ymax
:14! ygrid
:ë 10! zmin
:10! zmax
:1! zscl
:¦Define the function
:(x^3ù yì y^3ù x)/390! z1(x,y)
:¦Generate pics and rotate
:For i,1,10,1
: iù 10! eyeq
: DispG
: StoPic #("pic" & string(i))
:EndFor
:¦Display animation
:CyclePic "pic",10,.5,5,ë 1
:EndPrgm
For #, press TI-89: ½
TI-92 Plus: 2½
and select it from the list.
For &, press:
TI-89: ¥ p
TI-92 Plus: 2 H
Note: Due to its complexity,
this program takes several
minutes to run.
After entering this program on the Program Editor, go to the Home
screen and enter cyc().
Chapter 12: Additional Graphing Topics
219
Saving and Opening a Graph Database
A graph database is the set of all elements that define a
particular graph. By saving a graph database as a GDB
variable, you can recreate that graph at a later time by opening
its stored database variable.
A graph database consists of:
Elements in a Graph
Database
¦
¦
¦
Mode settings (3) for Graph, Angle, Complex Format, and
Split Screen (only if you are using the two-graph mode).
Note: In two-graph mode,
the elements for both
graphs are saved in a single
database.
All functions in the Y= Editor (¥ #), including display styles and
which functions are selected.
Table parameters (¥ &), Window variables (¥ $), and
graph formats (ƒ 9 — or — TI-89: ¥ Í TI-92 Plus: ¥F.)
A graph database does not include drawn objects or stat plots.
From the Y= Editor, Window Editor, Table screen, or Graph screen:
Saving the Current
Graph Database
1. Press ƒ and select
2:Save Copy As.
2. Specify the folder and a
unique variable name.
Note: If you start from the Graph
screen, be sure to use Type=GDB.
3. Press ¸. After typing in an
input box such as Variable, you
must press ¸ twice.
Caution: When you open a graph database, all information in the
current database is replaced. You may want to store the current
graph database before opening a stored database.
Opening a Graph
Database
From the Y= Editor, Window Editor, Table screen, or Graph screen:
1. Press ƒ and select 1:Open.
2. Select the folder and variable
that contain the graph
database you want to open.
Note: If you start from the Graph
screen, be sure to use Type=GDB.
3. Press ¸.
Unused GDB variables take up calculator memory. To delete them,
use the VAR-LINK screen (2 °) described in Chapter 21.
Deleting a Graph
Database
You can save (store) and open (recall) a graph database by using the
StoGDB and RclGDB commands as described in Appendix A.
From a Program or
the Home Screen
220
Chapter 12: Additional Graphing Topics
Tables
Preview of Tables................................................................................... 222
Overview of Steps in Generating a Table............................................ 223
Setting Up the Table Parameters ......................................................... 224
Displaying an Automatic Table ............................................................ 226
Building a Manual (Ask) Table............................................................. 229
13
Previously, in Chapter 6: Basic Function Graphing, you learned
how to define and graph a function.
By using a table, you can display a defined function in a tabular
form.
Y= Editor shows an
algebraic representation.
Note: Tables are not
available in 3D Graph mode.
Table screen shows a
numeric representation.
Graph screen shows a
graphic representation.
The table lists a series of values for the independent variable and
shows the corresponding value of the dependent variable.
Independent variable
y(x) = x3 ì 2x
Dependent variable
Chapter 13: Tables
221
Preview of Tables
Evaluate the function y=x3ì 2x at each integer between ë 10 and 10. How many sign
changes are there, and where do they occur?
³
›
TI-89
Keystrokes
TI-92 Plus
Keystrokes
Steps
Display
3
B 1
¸
3
B 1
¸
1. Display the MODE dialog box.
For the Graph mode, select
FUNCTION.
¥ #
ƒ 8¸
¸
¥ #
ƒ 8¸
¸
2. Display and clear the Y= Editor.
Then define y1(x) = x3 – 2x.
XZ 3| 2X
¸
XZ 3| 2X
¸
¥ &
· 10
¥ &
· 10
3. Set the table parameters to:
tblStart = ë 10
D 1
D 1
@tbl = 1
D B 1
D B 1¸
D B 1
D B 1¸
Graph < - > Table = OFF
Independent = AUTO
¥ '
¥ '
4. Display the Table screen.
D and C
as necessary
D and C
as necessary
5. Scroll through the table. Notice
that y1 changes sign at x = ë 1, 1,
and 2.
To scroll one page at a time, use
2 D and 2 C.
„
· 2
D.1
¸ ¸
„
· 2
D .1
¸ ¸
6. Zoom in on the sign change
between x = ë 2 and x = ë 1 by
changing the table parameters
to:
tblStart = ë 2
@tbl = .1
222
Chapter 13: Tables
Overview of Steps in Generating a Table
To generate a table of values for one or more functions, use
the general steps shown below. For specific information about
setting table parameters and displaying the table, refer to the
following pages.
Generating a Table
Set Graph mode and,
if necessary,
Angle mode (3).
Note: Tables are not
available in 3D Graph mode.
Define functions on
Y= Editor (¥ #).
Tip: For information on
defining and selecting
functions with the
Y= Editor, refer to
Chapter 6.
Select (†) which
defined functions to
display in the table.
Set up the initial
table parameters
(¥ &).
Tip: You can specify:
• An automatic table
− Based on initial values.
− That matches a graph.
• A manual (ask) table.
Display the table
(¥ ').
From the Table screen, you can:
Exploring the Table
¦
¦
¦
Scroll through the table to see values on other pages.
Highlight a cell to see its full value.
Change the table’s setup parameters. By changing the starting or
incremental value used for the independent variable, you can
zoom in or out on the table to see different levels of detail.
¦
¦
¦
Change the cell width.
Edit selected functions.
Build or edit a manual table to show only specified values of the
independent variable.
Chapter 13: Tables
223
Setting Up the Table Parameters
To set up the initial parameters for a table, use the TABLE
SETUP dialog box. After the table is displayed, you can also
use this dialog box to change the parameters.
To display the TABLE SETUP dialog box, press ¥ &. From the
Table screen, you can also press „.
Displaying the
TABLE SETUP
Dialog Box
Setup Parameter Description
tblStart
If Independent = AUTO and Graph < - > Table = OFF,
this specifies the starting value for the independent
variable.
Note: The table initially
starts at tblStart, but you
can use C to scroll to prior
values.
@tbl
If Independent = AUTO and Graph < - > Table = OFF,
this specifies the incremental value for the
independent variable. @tbl can be positive or
negative, but not zero.
Graph < - > Table If Independent = AUTO:
OFF — The table is based on the values you enter
for tblStart and @tbl.
ON — The table is based on the same independent
variable values that are used to graph the functions
on the Graph screen. These values depend on the
Window variables set in the Window Editor
(Chapter 6) and the split screen size (Chapter 14).
Independent
AUTO — The TI-89 / TI-92 Plus automatically
generates a series of values for the independent
variable based on tblStart, @tbl, and Graph < -
> Table.
ASK — Lets you build a table manually by entering
specific values for the independent variable.
224
Chapter 13: Tables
Which Setup
To generate:
tblStart @tbl
Graph < - > Table
Independent
Parameters to Use
An automatic table
¦ Based on
initial values
value value
OFF
ON
—
AUTO
AUTO
ASK
¦ That matches
Graph screen
—
—
—
—
A manual table
“—” means that any value entered for this parameter is ignored for
the indicated type of table.
In SEQUENCE graphing mode (Chapter 9), use integers for tblStart
and @tbl.
From the TABLE SETUP dialog box:
Changing the
Setup Parameters
1. Use D and C to highlight the value or setting to change.
2. Specify the new value or setting.
To change:
Do this:
tblStart
or
@tbl
Type the new value. The existing value is
erased when you start to type.
— or —
Press A or B to remove the highlighting.
Then edit the existing value.
Tip: To cancel a menu or
exit the dialog box without
saving any changes, press
N instead of ¸.
Graph < - > Table
or
Independent
Press A or B to display a menu of valid
settings. Then either:
¦
¦
Move the cursor to highlight the
setting and press ¸.
— or —
Press the number for that setting.
3. After changing all applicable values or settings, press ¸ to
save your changes and close the dialog box.
You can set up a table’s parameters from the Home screen or a
program. You can:
From the Home
Screen or a Program
¦
Store values directly to the system variables tblStart and @tbl.
Refer to “Storing and Recalling Variable Values” in Chapter 2.
¦
Set Graph < - > Table and Independent by using the setTable
function. Refer to Appendix A.
Chapter 13: Tables
225
Displaying an Automatic Table
If Independent = AUTO on the TABLE SETUP dialog box, a table
is generated automatically when you display the Table screen.
If Graph < - > Table = ON, the table matches the trace values
from the Graph screen. If Graph < - > Table = OFF, the table is
based on the values you entered for tblStart and @tbl.
Define and select the applicable functions on the Y= Editor (¥ #).
This example uses y1(x) = xò ì x/3.
Before You Begin
Then enter the initial table
parameters (¥ &).
To display the Table screen, press ¥ ' or O 5.
Displaying the
Table Screen
The cursor initially highlights the cell that contains the starting value
of the independent variable. You can move the cursor to any cell that
contains a value.
First column shows
values of the
independent
variable.
Other columns show corresponding
values of the functions selected in
the Y= Editor.
Header row shows
names of independent
variable (x) and
selected functions
(y1).
Tip: You can scroll back
from the starting value by
pressing C or 2 C.
Entry line shows
full value of
highlighted cell.
To move the cursor:
Press:
One cell at a time
D, C, B, or A
One page at a time
2 and then D, C, B, or A
The header row and the first column are fixed so that they cannot
scroll off the screen.
¦
When you scroll down or up, the variable and function names are
always visible across the top of the screen.
¦
When you scroll right or left, the values of the independent
variable are always visible along the left side of the screen.
226
Chapter 13: Tables
Cell width determines the maximum number of digits and symbols
(decimal point, minus sign, and “í ” for scientific notation) that can
be displayed in a cell. All cells in the table have the same width.
Changing the
Cell Width
To change the cell width from the
Table screen:
1. Press ƒ 9
— or —
Note: By default, the cell
width is 6.
TI-89: ¥ Í
TI-92 Plus: ¥ F.
2. Press B or A to display a menu
of valid widths (3 – 12).
3. Move the cursor to highlight a number and press ¸. (For
single-digit numbers, you can type the number and press ¸.)
4. Press ¸ to close the dialog box and update the table.
Whenever possible, a number is shown according to the currently
selected display modes (Display Digits, Exponential Format, etc.). The
number may be rounded as necessary. However:
How Numbers Are
Displayed in a Cell
Note: If a function is
undefined at a particular
value, undef is displayed in
the cell.
¦
If a number’s magnitude is too large for the current cell width, the
number is rounded and shown in scientific notation.
¦
If the cell width is too narrow even for scientific notation, “...” is
shown.
Tip: Use 3 to set the
display modes.
By default, Display Digits = FLOAT 6. With this mode setting, a number
is shown with up to six digits, even if the cell is wide enough to show
more. Other settings similarly affect a displayed number.
If cell width is:
Full Precision
3
6
9
12
Tip: To see a number in full
precision, highlight the cell
and look at the entry line.
1.2345678901
1.2 1.2346
1.23457
1.23457
ë123456.78
.000005
... ë 1.2E5 ë 123457.
... 5.Eë 6 .000005
... 1.2E19 1.2346E19
ë 123457.
.000005
1.2345678E19
1.23457E19
ë 1.23456789012Eë 200 ...
...
ë 1.2Eë 200 ë 1.2346Eë 200
Note: Depending on display mode settings, some values are
not shown in full precision even when the cell is wide enough.
A cell shows as much as possible of a complex number (according to
the current display modes) and then shows “...” at the end of the
displayed portion.
If Results are
Complex Numbers
When you highlight a cell containing a complex number, the entry
line shows the real and imaginary parts with a maximum of four
digits each (FLOAT 4).
Chapter 13: Tables
227
From a table, you can change a selected function without having to
use the Y= Editor.
Editing a Selected
Function
1. Move the cursor to any cell in the column for that function. The
table’s header row shows the function names (y1, etc.).
2. Press † to move the cursor to the entry line, where the function
is displayed and highlighted.
Tip: You can use this
feature to view a function
without leaving the table.
3. Make any changes, as necessary.
¦
Type the new function. The old function is erased when you
begin typing.
— or —
Tip: To cancel any changes
and return the cursor to the
table, press N instead of
¸.
¦
¦
Press M to clear the old function. Then type the new one.
— or —
Press A or B to remove the highlighting. Then edit the
function.
4. Press ¸ to save the edited function and update the table. The
edited function is also saved in the Y= Editor.
After generating an automatic table, you can change its setup
parameters as necessary.
If You Want to
Change the Setup
Parameters
Press „ or ¥ & to display the TABLE SETUP dialog box. Then
make your changes as described on pages 224 and 225.
228
Chapter 13: Tables
Building a Manual (Ask) Table
If Independent = ASK on the TABLE SETUP dialog box, the
TI-89 / TI-92 Plus lets you build a table manually by entering
specific values for the independent variable.
To display the Table screen, press ¥ ' or O 5.
Displaying the
Table Screen
If you set Independent = ASK (with ¥ & ) before displaying a table
for the first time, a blank table is displayed. The cursor highlights the
first cell in the independent variable column.
Header row shows names of
independent variable (x) and
selected functions (y1).
Enter a value here.
If you first display an automatic table and then change it to
Independent = ASK, the table continues to show the same values.
However, you can no longer see additional values by scrolling up or
down off the screen.
You can enter a value in column 1 (independent variable) only.
1. Move the cursor to highlight the cell you want to enter or edit.
Entering or Editing
an Independent
Variable Value
¦
If you start with a blank table, you can enter a value in
consecutive cells only (row 1, row 2, etc.). You cannot skip
cells (row 1, row 3).
¦
If a cell in column 1 contains a value, you can edit that value.
Tip: To enter a new value in
a cell, you do not need to
press …. Simply begin
typing.
2. Press … to move the cursor to the entry line.
3. Type a new value or expression, or edit the existing value.
4. Press ¸ to move the value to the table and update the
corresponding function values.
The cursor returns to the entered cell. You can use D to move to the
next row.
Enter values in any
numerical order.
Note: In this example, you
can move the cursor to
column 2, but you can enter
values in column 1 only.
Enter a new value here.
Shows full value of
highlighted cell.
Chapter 13: Tables
229
1. Move the cursor to highlight any cell in the independent variable
column.
Entering a List in
the Independent
Variable Column
2. Press † to move the cursor to the entry line.
3. Type a series of values, enclosed in braces { } and separated by
commas. For example:
Note: If the independent
variable column contains
existing values, they are
shown as a list (which you
can edit).
x={1,1.5,1.75,2}
You can also enter a list variable or an expression that evaluates
to a list.
4. Press ¸ to move the values into the independent variable
column. The table is updated to show the corresponding function
values.
Adding, Deleting,
or Clearing
To:
Do this:
Insert a new row
above a specified row
Highlight a cell in the specified row and
press:
TI-89: 2ˆ
TI-92 Plus: ˆ
The new row is undefined (undef) until you
enter a value for the independent variable.
Delete a row
Highlight a cell in the row and press ‡.
If you highlight a cell in the independent
variable column, you can also press 0.
Clear the entire table
(but not the selected
Y= functions)
Press ƒ 8. When prompted for
confirmation, press ¸.
Several factors affect how numbers are displayed in a table. Refer to
“Changing the Cell Width” and “How Numbers Are Displayed in a
Cell” on page 227.
Cell Width and
Display Formats
System variable tblZnput contains a list of all independent variable
values entered in the table, even those not currently displayed.
tblZnput is also used for an automatic table, but it contains only the
independent variable values that are currently displayed.
From the Home
Screen or a Program
Before displaying a table, you can store a list of values directly to the
tblZnput system variable.
230
Chapter 13: Tables
Split Screens
Preview of Split Screens........................................................................ 232
Setting and Exiting the Split Screen Mode ......................................... 233
Selecting the Active Application.......................................................... 235
14
On the TI-89 / TI-92 Plus, you can split the screen to show two
applications at the same time.
For example, it may be helpful to show both the Y= Editor and
the Graph screen so that you can see the list of functions and how
they are graphed.
Chapter 14: Split Screens
231
Preview of Split Screens
Split the screen to show the Y= Editor and the Graph screen. Then explore the behavior
of a polynomial as its coefficients change.
³
›
TI-89
Keystrokes
TI-92 Plus
Keystrokes
Steps
Display
3
B 1
„ B 3
D B 2
3
B 1
„ B 3
D B 2
1. Display the MODE dialog box.
For Graph, select FUNCTION.
For Split Screen, select
LEFT-RIGHT.
D B 4 ¸
D B 4 ¸
For Split 1 App, select Y= Editor.
For Split 2 App, select Graph.
ƒ 8 ¸
‡ 5
¸
ƒ 8 ¸
‡ 5
¸
2. Clear the Y= Editor and turn off
any stat data plots. Then define
y1(x) = .1x3–2x+6.
. 1 X Z 3 | 2 X . 1 X Z 3 | 2 X
A thick border around the Y= Editor
indicates it is active. When active, its
entry line goes all the way across the
display.
« 6 ¸
« 6 ¸
„ 6
„ 6
3. Select the ZoomStd viewing
window, which switches to the
Graph screen and graphs the
function.
The thick border is now around the
Graph screen.
4. Switch to the Y= Editor. Then
2 a
C ¸
A B B 0
5 ¸
2 a
edit y1(x) to change .1x3 to .5x3.
C ¸
A B B 0
5 ¸
2 a is the second function of
O.
The thick border is around the
Y= Editor.
2 a
2 a
5. Switch to the Graph screen,
which regraphs the edited
function.
The thick border is around the Graph
screen.
2 a
¥ $
2 a
¥ $
6. Switch to the Y= Editor. Then
open the Window Editor in its
place.
2 K
2 K
2 K
2 K
7. Open the Home screen. Then
exit to a full-sized Home screen.
232
Chapter 14: Split Screens
Setting and Exiting the Split Screen Mode
To set up a split screen, use the MODE dialog box to specify
the applicable mode settings. After you set up the split screen,
it remains in effect until you change it.
1. Press 3 to display the MODE dialog box.
Setting the Split
Screen Mode
2. Because the modes related to split screens are listed on the
second page of the MODE dialog box, either:
¦
¦
Use D to scroll down.
— or —
Press „ to display Page 2.
3. Set the Split Screen mode to either of the following settings. For
the procedure used to change a mode setting, refer to Chapter 2.
Split Screen Settings
TOP-BOTTOM
LEFT-RIGHT
When you set Split Screen =
TOP-BOTTOM or LEFT-RIGHT,
previously dimmed modes
such as Split 2 App become
active.
Before pressing ¸ to close the
MODE dialog box, you can use the
Split 1 App and Split 2 App modes to
select the applications you want to
use.
Setting the Initial
Applications
Mode
Specifies the application in the:
Split 1 App
Top or left part of the split screen.
Split 2 App
Bottom or right part of the split screen.
Note: In two-graph mode,
described in Chapter 12, the
same application can be in
both parts of a split screen.
If you set Split 1 App and Split 2 App to the same application, the
TI-89 / TI-92 Plus exits the split screen mode and displays the
application full screen.
You can open different applications after the split screen is
displayed, as described on page 235.
Chapter 14: Split Screens
233
Other Modes that
Mode
Description
Affect a Split Screen
Number of Graphs
Lets you set up and display two
independent sets of graphs.
Note: Leave this set to 1
unless you have read
the applicable section
in Chapter 12.
This is an advanced graphing feature as
described in “Using the Two-Graph Mode”
in Chapter 12.
The TI-89 / TI-92 Plus has commands that use pixel coordinates to
draw lines, circles, etc., on the Graph screen. The following charts
show how the Split Screen and Split Screen Ratio mode settings affect
the number of pixels available on the Graph screen.
Split Screens and
Pixel Coordinates
TI-89:
Tip: For a list of drawing
commands, refer to
“Drawing on the Graph
Screen” in Chapter 17.
Split 1 App
Split 2 App
Split
Ratio
x
y
x
y
FULL
N/A
0 – 158
0 – 76
N/A
N/A
TOP–BOTTOM
LEFT–RIGHT
1:1
1:1
0 – 154
0 – 76
0 – 34
0 – 72
0 – 154
0 – 76
0 – 34
0 – 72
Note: Due to the border
that indicates the active
application, split screens
have a smaller displayable
area than a full screen.
TI-92 Plus:
Split 1 App
Split 2 App
Split
Ratio
x
y
x
y
FULL
N/A
0 – 238 0 –102
N/A
N/A
TOP–BOTTOM
1:1
1:2
2:1
0 – 234
0 – 234
0 – 234
0 – 46
0 – 26
0 – 68
0 – 234
0 – 234
0 – 234
0 – 46
0 – 68
0 – 26
LEFT–RIGHT
1:1
1:2
2:1
0 – 116
0 – 76
0 – 156
0 – 98
0 – 98
0 – 98
0 –116
0 – 156
0 – 76
0 – 98
0 – 98
0 – 98
Method 1: Press 3 to display the MODE dialog box. Then set
Split Screen = FULL. When you press ¸ to close the
dialog box, the full-sized screen shows the application
specified in Split 1 App.
Exiting the Split
Screen Mode
Method 2: Press 2K twice to display a full-sized Home screen.
Turning the TI-89 / TI-92 Plus off does not exit the split screen mode.
When You Turn Off
the TI-89 / TI-92 Plus
If the calculator is turned off: When you turn the calculator on again:
When you press 2®
The split screen is still in effect, but
the Home screen is always displayed
in place of the application that was
active when you pressed 2®.
By the Automatic Power
Downé (APDé) feature, or
when you press ¥ ®.
The split screen is just as you left it.
234
Chapter 14: Split Screens
Selecting the Active Application
With a split screen, only one of the two applications can be
active at a time. You can easily switch between existing
applications, or you can open a different application.
¦
¦
The active application is indicated by a thick border.
The Active
Application
The toolbar and status line, which are always the full width of the
display, are associated with the active application.
¦
For applications that have an entry line (such as the Home screen
and Y= Editor), the entry line is the full width of the display only
when that application is active.
Toolbar is for Y= Editor.
Thick border indicates
the Y= Editor is active.
Entry line is full width when
Y= Editor is active.
Press 2a (second function of O) to switch from one
application to the other.
Switching between
Applications
Toolbar is for Graph
screen.
Thick border indicates the
Graph screen is active.
Graph screen does not
have an entry line.
Method 1: 1. Use 2a to switch to the application you want to
Opening a Different
Application
replace.
2. Use O or ¥ (such as ¹ $) to select the
Note: Also refer to “Using
2 K to Display the
new application.
Home Screen” on page 236.
If you select an application that is already displayed, the
TI-89 / TI-92 Plus switches to that application.
Method 2: 1. Press 3 and then „.
2. Change Split 1 App and/or Split 2 App.
Note: In two-graph mode,
described in Chapter 12, the
same application can be in
both parts of a split screen.
If you set Split 1 App and Split 2 App to the same
application, the TI-89 / TI-92 Plus exits the split screen
mode and displays the application full screen.
Chapter 14: Split Screens
235
Using 2 K to
Display the Home
Screen
If the Home screen:
Pressing 2 K:
Is not already displayed
Opens the Home screen in place of the
active application.
Is displayed, but is not
the active application
Switches to the Home screen and makes
it the active application.
Tip: Pressing 2 K twice
always exits the split screen
mode.
Is the active application
Exits the split screen mode and displays
a full-sized Home screen.
When you select a TOP-BOTTOM split, remember that the entry line
and the toolbar are always associated with the active application.
For example:
When Using a
Top-Bottom Split
Entry line is for the
active Y= Editor, not
the Graph screen.
Note: Both Top-Bottom and
Left-Right splits use the
same methods to select an
application.
Toolbar is for the
active Graph screen,
not the Y= Editor.
236
Chapter 14: Split Screens
Data/Matrix Editor
Preview of the Data/Matrix Editor....................................................... 238
Overview of List, Data, and Matrix Variables..................................... 239
Starting a Data/Matrix Editor Session................................................. 241
Entering and Viewing Cell Values........................................................ 243
Inserting and Deleting a Row, Column, or Cell.................................. 246
Defining a Column Header with an Expression................................. 248
Using Shift and CumSum Functions in a Column Header................ 250
Sorting Columns..................................................................................... 251
Saving a Copy of a List, Data, or Matrix Variable .............................. 252
15
The Data/Matrix Editor serves two main purposes.
¦
This chapter describes how to use the Data/Matrix Editor to
create and maintain a list, matrix, or data variable.
¦
Chapter 16 describes how to use the Data/Matrix Editor to
perform statistical calculations and graph statistical plots.
Chapter 15: Data/Matrix Editor
237
Preview of the Data/Matrix Editor
Use the Data/Matrix Editor to create a one-column list variable. Then add a second
column of information. Notice that the list variable (which can have only one column) is
automatically converted into a data variable (which can have multiple columns).
³
›
TI-89
TI-92 Plus
Keystrokes
Steps
Display
Keystrokes
1. Start the Data/Matrix Editor and
create a new list variable named
TEMP.
O 63
B 3
D D
O 63
B 3
D D
TEMP
¸ ¸
TEMP
¸ ¸
2. Enter a column of numbers.
Then move the cursor up one
cell (just to see that a
1¸
2¸
3¸
4¸
5¸
1¸
2¸
3¸
4¸
5¸
6¸
C
highlighted cell’s value is shown
on the entry line).
LIST is shown in the upper-left corner 6¸
to indicate a list variable.
C
You can use D instead of ¸ to
enter information in a cell.
3. Move to column 2, and define its
column header so that it is twice
the value of column 1.
B
†
B
†
2p C1
¸
2p j C1
¸
DATA is shown in the upper-left
corner to indicate that the list variable
was converted to a data variable.
Œ means the cell is in a
defined column.
4. Move to the column 2 header
cell to show its definition in the
entry line.
2 C
C
2 C
C
When the cursor is on the header cell,
you do not need to press † to define
it. Simply begin typing the expression.
5. Go to the Home screen, and then
return to the current variable.
"
O 61
¥ "
O 61
6. Clear the contents of the
variable.
ƒ 8¸
ƒ 8¸
Simply clearing the data does not
convert the data variable back into a
list variable.
Tip: If you don’t need to save the current variable, use it as a scratchpad. The next time you need
a variable for temporary data, clear the current variable and re-use it. This lets you enter
temporary data without creating a new variable each time, which uses up memory.
238
Chapter 15: Data/Matrix Editor
Overview of List, Data, and Matrix Variables
To use the Data/Matrix Editor effectively, you must understand
list, data, and matrix variables.
A list is a series of items (numbers, expressions, or character strings)
that may or may not be related. Each item is called an element. In the
Data/Matrix Editor, a list variable:
List Variable
Note: If you enter more than
one column of elements in a
list variable, it is converted
automatically into a data
variable.
¦
Is shown as a single column of
elements, each in a separate cell.
Column title
and header
cells are not
saved as
part of the
list.
¦
Must be continuous; blank or
empty cells are not allowed
within the list.
¦
Can have up to 999 elements.
Tip: After creating a list in
the Data/Matrix Editor, you
can use the list in any
application (such as the
Home screen).
On the Home screen (or anywhere else you can use a list), you can
enter a list as a series of elements enclosed in braces { } and
separated by commas.
Although you must use
commas to separate
elements on the entry
line, spaces separate the
elements in the history
area.
To refer to a specified
element in a list, use the
list1[1]
Element number
(or index number)
format shown to the
right.
Name of list variable
A data variable is essentially a collection of lists that may or may not
be related. In the Data/Matrix Editor, a data variable:
Data Variable
¦
Can have up to 99
columns.
¦
Can have up to 999
elements in each
column. Depending on
the kind of data, all
columns may not have
to be the same length.
Note: For stat calculations,
columns must have the
same length.
¦
Must have continuous columns; blank or empty cells are not
allowed within a column.
Chapter 15: Data/Matrix Editor
239
From the Home screen
or a program, you can
use the NewData
command to create a
data variable that
Data Variable
(Continued)
NewData data1,list1,list2
Names of existing
list variables
Name of data variable
to create
consists of existing lists.
Although you cannot
directly display a data
variable on the Home
screen, you can display
a specified column or
element.
Name of data variable
Column number
data1[1]
(data1[1])[1]
Element number in the
column
Column number
Displays column 1 of the variable data1.
For example:
Displays element 1 in column 1
of the variable data1.
A matrix is a rectangular array of elements. When you create a
matrix in the Data/Matrix Editor, you must specify the number of
rows and columns (although you can add or delete rows and
columns later). In the Data/Matrix Editor, a matrix variable:
Matrix Variable
¦
Looks similar to a data variable,
but all columns must have the
same length.
¦
Is initially created with 0 in each
cell. You can then enter the
applicable value in place of 0.
Shows the size of the
matrix.
Tip: After creating a matrix
in the Data/Matrix Editor,
you can use the matrix in
any application (such as the
Home screen).
row 1
row 2
From the Home screen or a
program, you can use § to
store a matrix with either of the
equivalent methods shown to
the right.
[[1,2,3][4,5,6]]! mat1
[1,2,3;4,5,6]! mat1
row 1
row 2
Note: Use brackets to refer
to a specific element in a
matrix. For example, enter
mat1[2,1] to access the 1st
element in the 2nd row.
Although you enter the matrix as
shown above, it is pretty printed in
the history area in traditional
matrix form.
240
Chapter 15: Data/Matrix Editor
Starting a Data/Matrix Editor Session
Each time you start the Data/Matrix Editor, you can create a
new variable, resume using the current variable (the variable
that was displayed the last time you used the Data/Matrix
Editor), or open an existing variable.
1. Press O and then select
Creating a New
Data, Matrix, or List
Variable
6:Data/Matrix Editor.
2. Select 3:New.
3. Specify the applicable
information for the new
variable.
Item
Lets you:
Type
Select the type of variable to
create. Press B to display a
menu of available types.
Folder
Select the folder in which the new variable will
be stored. Press B to display a menu of existing
folders. For information about folders, refer to
Chapter 5.
Note: If you do not type a
variable name, the
TI-89 / TI-92 Plus will display
the Home screen.
Variable
Type a new variable name.
If you specify a variable that already exists, an
error message will be displayed when you press
¸. When you press N or ¸ to
acknowledge the error, the NEW dialog box is
redisplayed.
Row dimension
and
Col dimension
If Type = Matrix,
type the number
of rows and
columns in the
matrix.
4. Press ¸ (after typing in an input box such as Variable, press
¸ twice) to create and display an empty variable in the
Data/Matrix Editor.
Chapter 15: Data/Matrix Editor
241
You can leave the Data/Matrix Editor and go to another application
at any time. To return to the variable that was displayed when you
left the Data/Matrix Editor, press O 6 and select 1:Current.
Using the Current
Variable
From the Data/Matrix Editor:
Creating a New
Variable from the
Data/Matrix Editor
1. Press ƒ and select 3:New.
2. Specify the type, folder, and
variable name. For a matrix,
also specify the number of
rows and columns.
You can open another variable at any time.
Opening Another
Variable
1. From the Data/Matrix Editor, press ƒ and select 1:Open.
— or —
From any application, press O6 and select 2:Open.
Note: Variable shows the
first existing variable in
alphabetic order. If there are
no existing variables,
2. Select the type, folder, and
variable to open.
3. Press ¸.
nothing is displayed.
Because all Data/Matrix Editor variables are saved automatically,
you can accumulate quite a few variables, which take up memory.
Note about
Deleting a Variable
To delete a variable, use the VAR-LINK screen (2°). For
information about VAR-LINK, refer to Chapter 21.
242
Chapter 15: Data/Matrix Editor
Entering and Viewing Cell Values
If you create a new variable, the Data/Matrix Editor is initially
blank (for a list or data variable) or filled with zeros (for a
matrix). If you open an existing variable, the values in that
variable are displayed. You can then enter additional values or
edit the existing ones.
A blank Data/Matrix Editor screen is shown below. When the screen
is displayed initially, the cursor highlights the cell at row 1, column 1.
The Data/Matrix
Editor Screen
Variable type
Column headers
Tip: Use the title cell at the
very top of each column to
identify the information in
that column.
Row numbers
Row and column
number of
highlighted cell
Column title cells, used to type
a title for each column
When values are entered, the entry line shows the full value of the
highlighted cell.
You can enter any type of expression in a cell (number, variable,
function, string, etc.).
Entering or Editing
a Value in a Cell
1. Move the cursor to highlight the cell you want to enter or edit.
2. Press ¸ or … to move the cursor to the entry line.
3. Type a new value or edit the existing one.
Tip: To enter a new value,
you can start typing without
pressing ¸ or … first.
However, you must use
¸ or … to edit an
existing value.
4. Press ¸ to enter the value into the highlighted cell.
When you press ¸, the cursor automatically moves to highlight
the next cell so that you can continue entering or editing values.
However, the variable type affects the direction that the cursor
moves.
Variable Type
After ¸, the cursor moves:
Note: To enter a value from
the entry line, you can also
use D or C.
List or data
Down to the cell in the next row.
Matrix
Right to the cell in the next column. From the last
cell in a row, the cursor automatically moves to
the first cell in the next row. This lets you enter
values for row1, row2, etc.
Chapter 15: Data/Matrix Editor
243
Scrolling through
the Editor
To move the cursor:
Press:
One cell at a time
D, C, B, or A
One page at a time
2 and then D, C, B, or A
Go to row 1 in the current
column or to the last row
that contains data for any
column on the screen,
¥ C or
¥ D
respectively. If the cursor is
in or past that last row, ¥
D goes to row 999.
Go to column 1 or to the
last column that contains
data, respectively. If the
cursor is in or past that last
column, ¥ B goes to
column 99.
¥ A or
¥ B
When you scroll down/up, the header row remains at the top of the
screen so that the column numbers are always visible. When you
scroll right/left, the row numbers remain on the left side of the
screen so that they are always visible.
When you enter a value in a cell, the cursor moves to the next cell.
However, you can move the cursor to any cell and enter a value. If
you leave gaps between cells, the TI-89 / TI-92 Plus handles the gaps
automatically.
How Rows and
Columns Are Filled
Automatically
¦
In a list variable, a cell in the gap is undefined until you enter a
value for the cell.
Note: If you enter more than
one column of elements in a
list variable, it is converted
automatically into a data
variable.
&
¦
In a data variable, gaps in a column are handled the same as a list.
However, if you leave a gap between columns, that column is
blank.
&
244
Chapter 15: Data/Matrix Editor
¦
In a matrix variable, when you enter a value in a cell outside the
current boundaries, additional rows and/or columns are added
automatically to the matrix to include the new cell. Other cells in
the new rows and/or columns are filled with zeros.
Note: Although you specify
the size of a matrix when
you create it, you can easily
add additional rows and/or
columns.
&
The cell width affects how many characters are displayed in any cell.
To change the cell width in the Data/Matrix Editor:
Changing the
Cell Width
1. To display the FORMATS dialog box, press ƒ 9
— or —
TI-89: ¥ Í
TI-92 Plus: ¥ F
Tip: Remember, to see a
number in full precision, you
can always highlight the cell
and look at the entry line.
Cell width is the maximum
number of characters that can
be displayed in a cell.
All cells have the same cell
width.
2. With the current Cell Width setting highlighted, press B or A to
display a menu of digits (3 through 12).
3. Move the cursor to highlight a number and press ¸. (For
single-digit numbers, you can type the number and press ¸.)
4. Press ¸ to close the dialog box.
This procedure erases the contents of a column. It does not delete
the column.
Clearing a Column
or all Columns
To clear:
Do this:
Note: For a list or data
variable, a clear column is
empty. For a matrix, a clear
column contains zeros.
A column
1. Move the cursor to any cell in the column.
2. TI-89: 2ˆ
TI-92 Plus: ˆ
and select 5:Clear Column. (This item is not
available for a matrix.)
All columns
Press ƒ and select 8:Clear Editor. When prompted
for confirmation, press ¸ (or N to cancel).
Chapter 15: Data/Matrix Editor
245
Inserting and Deleting a Row, Column, or Cell
The general procedures for inserting and deleting a cell, row,
or column are simple and straightforward. You can have up to
99 columns with up to 999 elements in each column.
You cannot delete the rows or cells that contain column titles or
headers. Also, you cannot insert a row or cell before a column title or
header.
Note About Column
Titles and Headers
The new row or column is inserted before the row or column that
contains the highlighted cell. In the Data/Matrix Editor:
Inserting a Row or
Column
1. Move the cursor to any cell in the applicable row or column.
2. TI-89: 2ˆ
TI-92 Plus: ˆ
and select 1:Insert.
3. Select either 2:row or
3:column.
Note: For a list variable,
inserting a row is the same
as inserting a cell.
When you insert a row:
¦
In a list or data
variable, the row is
undefined.
&
¦
In a matrix variable,
the row is filled with
zeros.
Note: For a list variable, you
cannot insert a column
because a list has only one
column.
When you insert a column:
¦
In a data variable,
the column is
blank.
&
¦
In a matrix
variable, the
column is filled
with zeros.
You can then enter values in the undefined or blank cells.
246
Chapter 15: Data/Matrix Editor
The new cell is inserted before the highlighted cell in the same
column. (You cannot insert a cell into a locked column, which is
defined by a function in the column header. Refer to page 248.) In the
Data/Matrix Editor:
Inserting a Cell
1. Move the cursor to the
applicable cell.
2. TI-89: 2ˆ
TI-92 Plus: ˆ
and select 1:Insert.
3. Select 1:cell.
Note: For a matrix variable,
you cannot insert a cell
because the matrix must
retain a rectangular shape.
The inserted cell is
undefined. You can then
enter a value in the cell.
&
In the Data/Matrix Editor:
Deleting a Row or
Column
1. Move the cursor to any cell in the row or column you want to
delete.
2. TI-89: 2ˆ
TI-92 Plus: ˆ
and select 2:Delete.
3. Select either 2:row or
3:column.
If you delete a row, any rows below the deleted row are shifted up.
If you delete a column, any columns to the right of the deleted
column are shifted left.
In the Data/Matrix Editor:
Deleting a Cell
1. Move the cursor to the cell you want to delete. (You cannot delete
a cell in a locked column, which is defined by a function in the
column header. Refer to page 248.)
Note: For a matrix variable,
you cannot delete a cell
because the matrix must
retain a rectangular shape.
2. TI-89: 2ˆ
TI-92 Plus: ˆ
and select 2:Delete.
3. Select 1:cell.
Any cells below the deleted cell are shifted up.
You do not need to use the Util toolbar menu to:
If You Need to Add a
New “Last” Row,
Column, or Cell
¦
¦
Add a new row or cell at the bottom of a column.
— or —
Add a new column to the right of the last column.
Simply move the cursor to the applicable cell and enter a value.
Chapter 15: Data/Matrix Editor
247
Defining a Column Header with an Expression
For a list variable or a column in a data variable, you can enter
a function in the column header that automatically generates a
list of elements. In a data variable, you can also define one
column in terms of another.
In the Data/Matrix Editor:
Entering a Header
Definition
1. Move the cursor to any cell in the column and press †.
— or —
Move the cursor to the header cell (c1, c2, etc.) and press ¸.
Tip: To view an existing
definition, press † or move
the cursor to the header cell
and look at the entry line.
Note: ¸ is not required if you want to type a new definition
or replace the existing one. However, if you want to edit the
existing definition, you must press ¸.
2. Type the new expression, which replaces any existing definition.
If you used † or ¸ in Step 1, the cursor moved to the entry
line and highlighted the existing definition, if any. You can also:
Tip: To cancel any changes,
press N before pressing
¸.
¦
¦
Press M to clear the highlighted expression. Then type the
new expression.
— or —
Press A or B to remove the highlighting. Then edit the old
expression.
You can use an expression that:
For example:
Note: The seq function is
described in Appendix A.
Generates a series of numbers.
c1=seq(x^2,x,1,5)
c1={1,2,3,4,5}
Refers to another column.
c2=2ù c1
c4=c1ù c2ì sin(c3)
Note: If you refer to an
empty column, you will get
an error message (unless
Auto-calculate = OFF as
described on page 249).
c1=seq(x,x,1,7)
3. Press ¸, D, or C to
save the definition and
update the columns.
c2=2ùc1
Note: For a data variable,
header definitions are saved
when you leave the Data/
Matrix Editor. For a list
variable, the definitions are
not saved (only their
You cannot directly
change a locked cell
(Œ) since it is defined
by the column header.
resulting cell values).
1. Move the cursor to any cell in the column and press †.
—or—
Clearing a Header
Definition
Move the cursor to the header cell (c1, c2, etc.) and press ¸.
2. Press M to clear the highlighted expression.
3. Press ¸, D, or C.
248
Chapter 15: Data/Matrix Editor
Suppose you have one or more existing lists, and you want to use
those existing lists as columns in a data variable.
Using an Existing
List as a Column
From the:
Do this:
Data/Matrix Editor
In the applicable column, use † to define
the column header. Refer to the existing
list variable. For example:
Note: If you have a
CBL 2é/CBL™ or CBRé,
use these techniques for
your collected lists.
c1=list1
Tip: Use 2 ° to
see existing list variables.
Home screen or a
program
Use the NewData command as described in
Appendix A. For example:
NewData datavar, list1 [, list2] [, list3] ...
Existing list variables to
copy to columns in the
data variable.
Data variable. If this data
variable already exists, it will
be redefined based on the
specified lists.
You cannot use the Data/Matrix Editor to fill a matrix with a list.
However, you can use the listú mat command from the Home screen
or a program. For information, refer to Appendix A.
To Fill a Matrix with
a List
For list and data variables, the Data/Matrix Editor has an
Auto-calculate feature. By default, Auto-calculate = ON. Therefore, if
you make a change that affects a header definition (or any column
referenced in a header definition), all header definitions are
recalculated automatically. For example:
The Auto-calculate
Feature
¦
If you change a header definition, the new definition is applied
automatically.
¦
If column 2’s header is defined as c2=2ù c1, any change you make
in column 1 is automatically reflected in column 2.
Tip: You may want to set
Auto-calculate = OFF to:
To turn Auto-calculate off and on from the Data/Matrix Editor:
1. Press ƒ 9
—or—
• Make multiple changes
without recalculating
each time.
TI-89: ¥ Í
TI-92 Plus: ¥ F
• Enter a definition such
as c1=c2+c3 before you
enter columns 2 and 3.
2. Change Auto-Calculate to
OFF or ON.
• Override any errors in a
definition until you can
debug the error.
3. Press ¸ to close the
dialog box.
If Auto-calculate = OFF and you make changes as described above, the
header definitions are not recalculated until you set
Auto-calculate = ON.
Chapter 15: Data/Matrix Editor
249
Using Shift and CumSum Functions in a Column Header
When defining a column header, you can use the shift and
cumSum functions as described below. These descriptions
differ slightly from Appendix A. This section describes how to
use the functions in the Data/Matrix Editor. Appendix A gives a
more general description for the Home screen or a program.
The shift function copies a base column and shifts it up or down by a
specified number of elements. Use † to define a column header
with the syntax:
Using the Shift
Function
shift (column [,integer])
Number of elements to shift (positive shifts up;
negative shifts down). Default is ë1.
Column used as the base for the shift.
For example, for a two-element shift up and down:
c2=shift(c1,2)
c3=shift(c1,ë2)
Note: To enter “shift”, type it
from the keyboard or select
it fromthe CATALOG.
Shifted columns have the same
length as the base column (c1).
Last two elements of c1 shift down and out the
bottom; undefined elements shift into the top.
First two elements of c1 shift up and out the top;
undefined elements shift into the bottom.
The cumSum function returns a cumulative sum of the elements in a
base column. Use † to define a column header with the syntax:
Using the CumSum
Function
cumSum (column)
Column used as the base for the cumulative sum
For example:
c2=cumSum(c1)
Note: To enter “cumSum”,
type it, select it from the
CATALOG, or press
1+2
1+2+3+4
2 I and select it from
the List submenu.
250
Chapter 15: Data/Matrix Editor
Sorting Columns
After entering information in a data, list, or matrix variable, you
can easily sort a specified column in numeric or alphabetical
order. You can also sort all columns as a whole, based on a
“key” column.
In the Data/Matrix Editor:
Sorting a Single
Column
1. Move the cursor to any cell in the
column.
2. TI-89: 2ˆ
TI-92 Plus: ˆ
and select 3:Sort Column.
c1
c1
75
82
98
chris
fred
jane
sally
Numbers are sorted in ascending
order.
fred
sally
chris
jane
75
98
82
&
&
&
Character strings are sorted in
alphabetical order.
Consider a database structure in which each column along the same
row contains related information (such as a student’s first name, last
name, and test scores). In such a case, sorting only a single column
would destroy the relationship between the columns.
Sorting All Columns
Based on a “Key”
Column
In the Data/Matrix Editor:
1. Move the cursor to any
cell in the “key” column.
Note: For a list variable, this
is the same as sorting a
single column.
In this example, move the
cursor to the second column
(c2) to sort by last name.
Note: This menu item is not
available if any column is
locked.
2. TI-89: 2ˆ
TI-92 Plus: ˆ
and select 4:Sort Col, adjust all.
When using this procedure for a data variable:
¦
¦
All columns must have the same length.
None of the columns can be locked (defined by a function in the
column header). When the cursor is in a locked column, Œis
shown at the beginning of the entry line.
Chapter 15: Data/Matrix Editor
251
Saving a Copy of a List, Data, or Matrix Variable
You can save a copy of a list, data, or matrix variable. You can
also copy a list to a data variable, or you can select a column
from a data variable and copy that column to a list.
Valid Copy Types
You can copy a:
To a:
List
List or data
Note: A list is automatically
converted to a data variable
if you enter more than one
column of information.
Data
Data
List
Data column
Matrix
Matrix
From the Data/Matrix Editor:
Procedure
1. Display the variable that you want to copy.
2. Press ƒ and select 2:Save Copy As.
3. In the dialog box:
¦
¦
¦
Select the Type and
Folder for the copy.
Type a variable name
for the copy.
Note: If you type the name
of an existing variable, its
contents will be replaced.
Column is dimmed unless you
copy a data column to a list.
The column information is not
used for other types of copies.
When available, select the
column to copy from.
4. Press ¸ (after typing in an input box such as Variable, you
must press ¸ twice).
A data variable can have multiple columns, but a list variable can
have only one column. Therefore, when copying from a data variable
to a list, you must select the column that you want to copy.
To Copy a Data
Column to a List
List variable to copy to.
Data column that will be copied to
the list. By default, this shows the
column that contains the cursor.
252
Chapter 15: Data/Matrix Editor
Statistics and Data Plots
Preview of Statistics and Data Plots.................................................... 254
Overview of Steps in Statistical Analysis............................................ 258
Performing a Statistical Calculation.................................................... 259
Statistical Calculation Types ................................................................ 261
Statistical Variables................................................................................ 263
Defining a Statistical Plot...................................................................... 264
Statistical Plot Types ............................................................................. 266
Using the Y= Editor with Stat Plots..................................................... 268
Graphing and Tracing a Defined Stat Plot .......................................... 269
Using Frequencies and Categories ...................................................... 270
If You Have a CBL 2/CBL or CBR......................................................... 272
16
The Data/Matrix Editor serves two main purposes.
¦
As described previously in Chapter 15, the Data/Matrix Editor
lets you create and maintain a list, matrix, or data variable.
¦
This chapter describes how to use the Data/Matrix Editor to
perform statistical calculations and graph statistical plots.
Chapter 16: Statistics and Data Plots
253
Preview of Statistics and Data Plots
Based on a sample of seven cities, enter data that relates population to the number of
buildings with more than 12 stories. Using Median-Median and linear regression
calculations, find and plot equations to fit the data. For each regression equation, predict
how many buildings of more than 12 stories you would expect in a city of 300,000 people.
³
›
TI-89
Keystrokes
TI-92 Plus
Keystrokes
Steps
Display
3
B 1
¸
3
B 1
¸
1. Display the MODE dialog box.
For Graph mode, select
FUNCTION.
O 6 3
D D
B U I L D
¸ ¸
O 6 3
D D
B U I L D
¸ ¸
2. Display the Data/Matrix Editor,
and create a new data variable
named BUILD.
3. Using the sample data below,
enter the population in
column 1.
1 5 0 ¸
5 0 0 ¸
8 0 0 ¸
2 5 0 ¸
5 0 0 ¸
7 5 0 ¸
9 5 0 ¸
1 5 0 ¸
5 0 0 ¸
8 0 0 ¸
2 5 0 ¸
5 0 0 ¸
7 5 0 ¸
9 5 0 ¸
Pop. (in 1000s)
Bldgs > 12 stories
150
500
800
250
500
750
950
4
31
42
9
20
55
73
4. Move the cursor to row 1 in
column 2 (r1c2). Then enter the
corresponding number of
buildings.
B ¥ C
4 ¸
B 2 C
4 ¸
3 1 ¸
4 2 ¸
9 ¸
2 0 ¸
5 5 ¸
7 3 ¸
3 1 ¸
4 2 ¸
9 ¸
2 0 ¸
5 5 ¸
7 3 ¸
¥ C moves the cursor to the top of
the page. After typing data for a cell,
you can press ¸ or D to enter the
data and move the cursor down one
cell. Pressing C enters the data and
moves the cursor up one cell.
5. Move the cursor to row 1 in
column 1 (r1c1). Sort the data in
ascending order of population.
A ¥ C
2 ˆ 4
A 2 C
ˆ 4
This sorts column 1 and then adjusts
all other columns so that they retain
the same order as column 1. This is
critical for maintaining the
relationships between columns of
data.
To sort column 1, the cursor can be
anywhere in column 1. This example
has you press TI-89: ¥ C
TI-92 Plus: 2 C so that you can
see the first four rows.
254
Chapter 16: Statistics and Data Plots
³
›
TI-89
Keystrokes
TI-92 Plus
Keystrokes
Steps
Display
‡
‡
6. Display the Calculate dialog box.
B 7 D
B 7 D
C 1 D
C 2 D
Set:
C j 1 D
j C 2 D
B D ¸
Calculation Type = MedMed
x = C1
y = C2
B D ¸
Store RegEQ to = y1(x)
¸
¸
¸
7. Perform the calculation to
display the MedMed regression
equation.
As specified on the Calculate dialog
box, this equation is stored in y1(x).
8. Close the STAT VARS screen.
¸
The Data/Matrix Editor displays.
‡
‡
9. Display the Calculate dialog box.
B 5 D
D
B 5 D
D
Set:
Calculation Type = LinReg
D
D
x = C1
B D ¸
B D ¸
y = C2
Store RegEQ to = y2(x)
¸
¸
10. Perform the calculation to
display the LinReg regression
equation.
This equation is stored in y2(x).
11. Close the STAT VARS screen.
¸
„
¸
„
The Data/Matrix Editor displays.
12. Display the Plot Setup screen.
Plot 1 is highlighted by default.
… lets you clear highlighted Plot
settings.
13. Define Plot 1 as:
Plot Type = Scatter
Mark = Box
ƒ
ƒ
B 1 D
B 1 D
C j 1 D
j C 2
B 1 D
B 1 D
C 1 D
C 2
x = C1
y = C2
Notice the similarities between this
and the Calculate dialog box.
¸ ¸
¸ ¸
14. Save the plot definition and
return to the Plot Setup screen.
Notice the shorthand notation for Plot
1’s definition.
Chapter 16: Statistics and Data Plots
255
³
›
TI-89
Keystrokes
TI-92 Plus
Keystrokes
Steps
Display
15. Display the Y= Editor. For y1(x),
the MedMed regression
equation, set the display style to
Dot.
¥ #
2 ˆ 2
¥ #
ˆ 2
Note: Depending on the previous
contents of your Y= Editor, you may
need to move the cursor to y1.
PLOTS 1 at the top of the screen
means that Plot 1 is selected.
Notice that y1(x) and y2(x) were
selected when the regression
equations were stored.
C
C
16. Scroll up to highlight Plot 1.
The displayed shorthand definition is
the same as on the Plot Setup screen.
17. Use ZoomData to graph Plot 1
and the regression equations
y1(x) and y2(x).
„ 9
„ 9
ZoomData examines the data for all
selected stat plots and adjusts the
viewing window to include all points.
18. Return to the current session of
the Data/Matrix Editor.
O 6 1
O 6 1
19. Enter a title for column 3. Define
column 3’s header as the values
predicted by the MedMed line.
B B C C
2 ™ M E D M E D
j ¸
B B C C
¸
To enter a title, the cursor must
highlight the title cell at the very top of
the column.
† Y 1 c j C † Y 1 c C
1 d ¸
1 d ¸
† lets you define a header from
anywhere in a column. When the
cursor is on a header cell, pressing
† is not required.
B C 2 ™
R E S I D j
¸
j C 2 | j † C 2 |
C 3 ¸
B C
R E S I D
¸
20. Enter a title for column 4. Define
column 4’s header as the
residuals (difference between
observed and predicted values)
for MedMed.
C 3 ¸
B C C 2
™ L I N j L I N
¸
B C
21. Enter a title for column 5. Define
column 5’s header as the values
predicted by the LinReg line.
¸
† Y 2 c j
C 1 d ¸
† Y 2 c
C 1 d ¸
256
Chapter 16: Statistics and Data Plots
³
›
TI-89
Keystrokes
TI-92 Plus
Keystrokes
Steps
Display
B C 2 ™
R E S I D j
¸
B C
R E S I D
¸
22. Enter a title for column 6. Define
column 6’s header as the
residuals for LinReg.
† j C 2 |
† C 2 |
j C 5 ¸ C 5 ¸
„ †
„ †
23. Display the Plot Setup screen and
deselect Plot 1.
D ƒ
D
D
D ƒ
D
D
24. Highlight Plot 2 and define it as:
Plot Type = Scatter
Mark = Box
C j 1 D
C 1 D
x = C1
j C 4 ¸ C 4 ¸
y = C4 (MedMed residuals)
¸
¸
D ƒ
D
B 3 D
C j 1 D
D ƒ
D
B 3 D
C 1 D
25. Highlight Plot 3 and define it as:
Plot Type = Scatter
Mark = Plus
x = C1
j C 6 ¸ C 6 ¸
y = C6 (LinReg residuals)
¸
¸
¥ #
¥ #
26. Display the Y= Editor and turn
‡ 3
‡ 3
all the y(x) functions off.
From ‡, select 3:Functions Off, not
1:All Off.
Plots 2 and 3 are still selected.
„ 9
„ 9
27. Use ZoomData to graph the
residuals.
› marks the MedMed residuals;
+ marks the LinReg residuals.
"
¥ "
28. Display the Home screen.
2 I 1 3
Y 1 c 3 0 0 d
b 0 d ¸
B
2 I 1 3
Y 1 c 3 0 0 d
b 0 d ¸
B
29. Use the MedMed (y1(x)) and
LinReg (y2(x)) regression
equations to calculate values for
x = 300 (300,000 population).
A A A A A
A A A 0 2
¸
A A A A A
A A A 0 2
¸
The round function (2 I 13)
ensures that results show an integer
number of buildings.
After calculating the first result, edit
the entry line to change y1 to y2.
Chapter 16: Statistics and Data Plots
257
Overview of Steps in Statistical Analysis
This section gives an overview of the steps used to perform a
statistical calculation or graph a statistical plot. For detailed
descriptions, refer to the following pages.
Set Graph mode (3)
Calculating and
Plotting Stat Data
to FUNCTION.
Note: Refer to Chapter 15
for details on entering data in
the Data/Matrix Editor.
Enter stat data in the
Data/Matrix Editor
(O 6).
Perform stat
calculations to find
stat variables or fit
data to a model (‡).
Define and select stat
plots („ and then ƒ).
Tip: You can also use the
Y= Editor to define and
select stat plots and y(x)
functions.
Define the viewing
window (¥ $).
Change the graph
format if necessary.
Tip: Use ZoomData to
optimize the viewing
window for stat plots.
„ Zoom is available on the
Y= Editor, Window Editor,
and Graph screen.
ƒ 9
— or —
TI-89: ¥ Í
TI-92 Plus: ¥ F
Graph the selected
stat plots and
functions (¥ %).
From the Graph screen, you can:
Exploring the
Graphed Plots
¦
¦
¦
Display the coordinates of any pixel by using the free-moving
cursor, or of a plotted point by tracing a plot.
Use the „ Zoom toolbar menu to zoom in or out on a portion of
the graph.
Use the ‡ Math toolbar menu to analyze any function (but not
plots) that may be graphed.
258
Chapter 16: Statistics and Data Plots
Performing a Statistical Calculation
From the Data/Matrix Editor, use the ‡ Calc toolbar menu to
perform statistical calculations. You can analyze one-variable
or two-variable statistics, or perform several types of
regression analyses.
You must have a data variable opened. The Data/Matrix Editor will
not perform statistical calculations with a list or matrix variable.
The Calculate
Dialog Box
From the Data/Matrix Editor:
1. Press ‡ to display the
Pathname of the
data variable
Calculate dialog box.
This example shows all
items as active. On your
calculator, items are
active only if they are
valid for the current
settings of Calculation
Type and Use Freq and
Categories.
Note: If an item is not valid
for the current settings, it will
appear dimmed. You cannot
move the cursor to a
dimmed item.
2. Specify applicable settings for the active items.
Item Description
Calculation Type Select the type of calculation. For descriptions,
refer to page 261.
Tip: To use an existing list
variable for x, y, Freq, or
Category, type the list name
instead of a column number.
x
Type the column number in the Data/Matrix
Editor (C1, C2, etc.) used for x values, the
independent variable.
y
Type the column number used for y values, the
dependent variable. This is required for all
Calculation Types except OneVar.
Store RegEQ to
If Calculation Type is a regression analysis, you
can select a function name (y1(x), y2(x), etc.).
This lets you store the regression equation so
that it will be displayed in the Y= Editor.
Use Freq and
Categories?
Select NO or YES. Note that Freq, Category, and
Include Categories are active only when
Use Freq and Categories? = YES.
Chapter 16: Statistics and Data Plots
259
The Calculate
Dialog Box
(Continued)
Item
Description
Freq
Type the column number that contains a
“weight” value for each data point. If you do
not enter a column number, all data points are
assumed to have the same weight (1).
Category
Type the column number that contains a
category value for each data point.
Note: For an example of
using Freq, Category, and
Include Categories, refer to
page 270.
Include
Categories
If you specify a Category column, you can use
this item to limit the calculation to specified
category values. For example, if you specify
{1,4}, the calculation uses only data points with
a category value of 1 or 4.
3. Press ¸ (after typing in an input box, press ¸ twice).
The results are displayed on the STAT VARS screen. The format
depends on the Calculation Type. For example:
For Calculation Type = OneVar
For Calculation Type = LinReg
Note: Any undefined data
points (shown as undef) are
ignored in a stat calculation.
When 6 is shown instead of =, you
can scroll for additional results.
4. To close the STAT VARS screen, press ¸.
The Data/Matrix Editor’s Stat toolbar menu redisplays the previous
calculation results (until they are cleared from memory).
TI-89: 2‰
Redisplaying the
STAT VARS Screen
TI-92 Plus: ‰
Previous results are cleared when you:
¦
¦
Edit the data points or change the Calculation Type.
Open another data variable or reopen the same data variable
(if the calculation referred to a column in a data variable). Results
are also cleared if you leave and then reopen the Data/Matrix
Editor with a data variable.
¦
Change the current folder (if the calculation referred to a list
variable in the previous folder).
260
Chapter 16: Statistics and Data Plots
Statistical Calculation Types
As described in the previous section, the Calculate dialog box
lets you specify the statistical calculation you want to perform.
This section gives more information about the calculation
types.
From the Calculate dialog box (‡), highlight the current setting for
the Calculation Type and press B.
Selecting the
Calculation Type
You can then select from a
menu of available types.
If an item is dimmed, it is not valid
for the current Calculation Type.
Calc Type Description
OneVar
TwoVar
CubicReg
One-variable statistics — Calculates the statistical
variables described on page 263.
Note: For TwoVar and all
regression calculations, the
columns that you specify for
x and y (and optionally, Freq
or Category) must have the
same length.
Two-variable statistics — Calculates the statistical
variables described on page 263.
Cubic regression — Fits the data to the third-order
polynomial y=axò +bxñ +cx+d. You must have at least
four data points.
¦
¦
For four points, the equation is a polynomial fit.
For five or more points, it is a polynomial regression.
ExpReg
LinReg
LnReg
Exponential regression — Fits the data to the model
equation y=abõ (where a is the y-intercept) using a least-
squares fit and transformed values x and ln(y).
Linear regression — Fits the data to the model y=ax+b
(where a is the slope, and b is the y-intercept) using a
least-squares fit and x and y.
Logarithmic regression — Fits the data to the model
equation y=a+b ln(x) using a least-squares fit and
transformed values ln(x) and y.
Logistic
Logistic regression — Fits the data to the model
y=a/(1+b e^(c x))+d and updates all the system
*
*
statistics variables.
Chapter 16: Statistics and Data Plots
261
Selecting the
Calculation Type
(Continued)
Calc Type Description
MedMed Median-Median — Fits the data to the model y=ax+b
(where a is the slope, and b is the y-intercept) using the
median-median line, which is part of the resistant line
technique.
Summary points medx1, medy1, medx2, medy2, medx3,
and medy3 are calculated and stored to variables, but
they are not displayed on the STAT VARS screen.
PowerReg Power regression — Fits the data to the model equation
y=axb using a least-squares fit and transformed values
ln(x) and ln(y).
QuadReg
QuartReg
SinReg
Quadratic regression — Fits the data to the second-
order polynomial y=axñ +bx+c. You must have at least
three data points.
¦
¦
For three points, the equation is a polynomial fit.
For four or more points, it is a polynomial regression.
Quartic regression — Fits the data to the fourth-order
4
polynomial y=ax +bxò +cxñ + dx+e. You must have at
least five data points.
¦
¦
For five points, the equation is a polynomial fit.
For six or more points, it is a polynomial regression.
Sinusoidal regression — Calculates the sinusoidal
regression and updates all the system statistics
variables. The output is always in radians, regardless of
the angle mode setting.
Use the applicable command for the calculation that you want to
perform. The commands have the same name as the corresponding
Calculation Type. Refer to Appendix A for information about each
command.
From the Home
Screen or a Program
Important: These commands perform a statistical calculation but
do not automatically display the results. Use the ShowStat command
to show the calculation results.
262
Chapter 16: Statistics and Data Plots
Statistical Variables
Statistical calculation results are stored to variables. To access
these variables, type the variable name or use the VAR-LINK
screen as described in Chapter 21. All statistical variables are
cleared when you edit the data or change the calculation type.
Other conditions that clear the variables are listed on
page 260.
Statistical variables are stored as system variables. However, regCoef
and regeq are treated as a list and a function variable, respectively.
Calculated Variables
One
Var
Two
Var
To type the character G,
press:
Regressions
mean of x values
sum of x values
sum of xñ values
sample std. deviation of x
population std. deviation of x †
number of data points
mean of y values
ü
Gx
ü
Gx
TI-89: ¥ c ¤ [S]
TI-92 Plus: 2 G ¤ S
Gxñ
Sx
Gxñ
Sx
To type the character s,
press:
sx
sx
TI-89: ¥ c j [S]
nStat
nStat
ÿ
TI-92 Plus: 2 G S
sum of y values
Gy
Tip: To type a power (such
as 2 in Gxñ ), ü, or ý, press
2 ¿ and select it from
the Math menu.
sum of yñ values
Gyñ
Sy
sample standard deviation of y
population std. deviation of y †
sum of xù y values
minimum of x values
maximum of x values
minimum of y values
maximum of y values
1st quartile
median
3rd quartile
regression equation
regression coefficients (a, b, c, d, e)
correlation coefficient ††
coefficient of determination ††
sy
Gxy
minX
maxX
minY
maxY
minX
maxX
q1
medStat
q3
Note: 1st quartile is the
regeq
regCoef
corr
median of points between
minX and medStat, and 3rd
quartile is the median of points
between medStat and maxX.
Rñ
summary points
(MedMed only) †
medx1, medy1,
medx2, medy2,
medx3, medy3
Tip: If regeq is 4x + 7, then
regCoef is {4 7}. To access
the “a” coefficient (the 1st
element in the list), use an
index such as regCoef[1].
†
The indicated variables are calculated but are not shown on the
STAT VARS screen.
†† corr is defined for a linear regression only; Rñ is defined for all
polynomial regressions.
Chapter 16: Statistics and Data Plots
263
Defining a Statistical Plot
From the Data/Matrix Editor, you can use the entered data to
define several types of statistical plots. You can define up to
nine plots at a time.
From the Data/Matrix Editor:
Procedure
1. Press „ to display the
Plot Setup screen.
Initially, none of the
plots are defined.
2. Move the cursor to
highlight the plot
number that you want
to define.
Pathname of the
data variable
Note: This dialog box is
similar to the Calculate
dialog box.
3. Press ƒ to define the
plot.
This example shows all
items as active. On your
calculator, items are
active only if they are
valid for the current
Note: If an item is not valid
for the current settings, it will
appear dimmed. You cannot
move the cursor to a
setting of Plot Type and
Use Freq and Categories?
dimmed item.
4. Specify applicable settings for the active items.
Item
Description
Plot Type
Select the type of plot. For descriptions, refer to
page 266.
Mark
x
Select the symbol used to plot the data points:
Box ( ), Cross (x), Plus (+), Square (0), or Dot (ø ).
›
Type the column number in the Data/Matrix
Editor (C1, C2, etc.) used for x values, the
independent variable.
Note: Plots defined with
column numbers always use
the last data variable in the
Data/Matrix Editor, even if
that variable was not used
to create the definition.
y
Type the column number used for y values, the
dependent variable. This is active only for
Plot Type = Scatter or xyline.
Tip: To use an existing list
variable for x, y, Freq, or
Category, type the list name
instead of the column
number.
Hist. Bucket
Width
Specifies the width of each bar in a histogram.
For more information, refer to page 267.
Use Freq and
Categories?
Select NO or YES. Note that Freq, Category, and
Include Categories are active only when
Use Freq and Categories? = YES. (Freq is active
only for Plot Type = Box Plot or Histogram.)
264
Chapter 16: Statistics and Data Plots
Item
Description
Freq
Type the column number that contains a “weight”
value for each data point. If you do not enter a
column number, all data points are assumed to
have the same weight (1).
Note: For an example of
using Freq, Category, and
Include Categories, refer to
page 270.
Category
Type the column number that contains a category
value for each data point.
Include
Categories
If you specify a Category, you can use this to limit
the calculation to specified category values. For
example, if you specify {1,4}, the plot uses only
data points with a category value of 1 or 4.
5. Press ¸ (after typing in an input box, press ¸ twice).
Note: Any undefined data
points (shown as undef) are
ignored in a stat plot.
The Plot Setup screen is
redisplayed.
The plot you just
defined is automatically
selected for graphing.
Notice the shorthand
definition for the plot.
y = c2
x = c1
Plot Type = Scatter
Mark = Box
From Plot Setup, highlight the plot and press † to toggle it on or off.
If a stat plot is selected, it remains selected when you:
Selecting or
Deselecting a Plot
¦
¦
¦
Change the graph mode. (Stat plots are not graphed in 3D mode.)
Execute a Graph command.
Open a different variable in the Data/Matrix Editor.
From Plot Setup:
Copying a Plot
Definition
1. Highlight the plot and
press „.
2. Press B and select the
plot number that you
want to copy to.
Note: If the original plot was
selected (Ÿ), the copy is
also selected.
3. Press ¸.
From Plot Setup, highlight the plot and press …. To redefine an
existing plot, you do not necessarily need to clear it first; you can
make changes to the existing definition. To prevent a plot from
graphing, you can deselect it.
Clearing a Plot
Definition
Chapter 16: Statistics and Data Plots
265
Statistical Plot Types
When you define a plot as described in the previous section,
the Plot Setup screen lets you select the plot type. This section
gives more information about the available plot types.
Data points from x and y are plotted as coordinate pairs. Therefore,
the columns or lists that you specify for x and y must be the same
length.
Scatter
¦
Plotted points are shown
with the symbol that you
select as the Mark.
¦
If necessary, you can specify
the same column or list for
both x and y.
This is a scatter plot in which
data points are plotted and
connected in the order in which
they appear in x and y.
xyline
You may want to sort all the
columns in the Data/Matrix
Editor before plotting.
TI-89: 2ˆ 3 or 2ˆ 4
TI-92 Plus: ˆ 3 or ˆ 4
This plots one-variable data with respect to the minimum and
maximum data points (minX and maxX) in the set.
Box Plot
¦
A box is defined by its first
quartile (Q1), median (Med),
and third quartile (Q3).
Q1
Med
Q3
¦
¦
Whiskers extend from minX
to Q1 and from Q3 to maxX.
minX
maxX
When you select multiple box
plots, they are plotted one
above the other in the same
order as their plot numbers.
¦
¦
Use NewPlot to show statistical data as a modified box plot.
Select Mod Box Plot as the Plot Type when you define a plot in the
Data/Matrix Editor.
A modified box plot excludes points outside the interval
[Q1ì X, Q3+X], where X is defined as 1.5 (Q3ì Q1). These points,
called outliers, are plotted individually beyond the box plot’s
whiskers, using the mark that you select.
266
Chapter 16: Statistics and Data Plots
This plots one-variable data as a histogram. The x axis is divided into
equal widths called buckets or bars. The height of each bar (its y
value) indicates how many data points fall within the bar’s range.
Histogram
xmax ì xmin
¦
When defining the plot, you
can specify the Hist. Bucket
Width (default is 1) to set
the width of each bar.
Number of bars =
Hist. Bucket Width
¦
¦
A data point at the edge of
a bar is counted in the bar
to the right.
ZoomData („ 9 from the
Graph screen, Y= Editor, or
Window Editor) adjusts
xmin and xmax to include
all data points, but it does
not adjust the y axis.
xmin + Hist. Bucket Width
xmin
−
Use ¥ $ to set
ymin = 0 and ymax = the
number of data points
expected in the tallest
bar.
Trace cursor
¦
When you trace (…) a
histogram, the screen
shows information about
the traced bar.
Range of
the traced
bar
# of data
points in the
traced bar
Chapter 16: Statistics and Data Plots
267
Using the Y= Editor with Stat Plots
The previous sections described how to define and select stat
plots from the Data/Matrix Editor. You can also define and
select stat plots from the Y= Editor.
Press ¥ # to display the Y= Editor. Initially, the nine stat plots are
located “off the top” of the screen, above the y(x) functions.
However, the PLOTS indicator provides some information.
Showing the List of
Stat Plots
For example, PLOTS 23
means that Plots 2 & 3
are selected.
To see the list of stat plots, use C to scroll above the y(x) functions.
Note: Plots defined with
column numbers always use
the last data variable in the
Data/Matrix Editor, even if
that variable was not used
to create the definition.
If a Plot is highlighted, this
shows the data variable that
will be used for the plots.
If a Plot is defined, it shows
the same shorthand
notation as the Plot Setup
screen.
From the Y= Editor, you can perform most of the same operations on
a stat plot as you can on any other y(x) function.
To:
Do this:
Note: You can not use
TI-89: 2 ˆ
TI-92 Plus: ˆ
to set a plot’s display style.
However, the plot definition
lets you select the mark
used for the plot.
Edit a plot
definition
Highlight the plot and press …. You will see the
same definition screen that is displayed in the
Data/Matrix Editor.
Select or deselect Highlight the plot and press †.
a plot
Turn all plots
and/or functions
off
Press ‡ and select the applicable item. You
can also use this menu to turn all functions on.
As necessary, you can select and graph stat plots and y(x) functions
at the same time. The preview example at the beginning of this
chapter graphs data points and their regression equations.
To Graph Plots and
Y= Functions
268
Chapter 16: Statistics and Data Plots
Graphing and Tracing a Defined Stat Plot
After entering the data points and defining the stat plots, you
can graph the selected plots by using the same methods you
used to graph a function from the Y= Editor (as described in
Chapter 6).
Stat plots are displayed on the current graph, and they use the
Window variables that are defined in the Window Editor.
Defining the
Viewing Window
Use ¥ $ to display the Window Editor. You can either:
¦
¦
Enter appropriate values.
— or —
Select 9:ZoomData from the „ Zoom toolbar menu. (Although you
can use any zoom, ZoomData is optimized for stat plots.)
Tip: „ Zoom is available
on the Y= Editor, Window
Editor, and Graph screen.
ZoomData sets the viewing window to
display all statistical data points.
For histograms and box plots, only xmin
and xmax are adjusted. If the top of a
histogram is not shown, trace the
histogram to find the value for ymax.
Press:
ƒ 9
— or —
Changing the Graph
Format
TI-89: ¥ Í
TI-92 Plus: ¥F
from the Y= Editor, Window Editor,
or Graph screen.
Then change the settings as
necessary.
From the Graph screen, press … to trace a plot. The movement of
the trace cursor depends on the Plot Type.
Tracing a Stat Plot
Plot Type
Description
Note: When a stat plot is
displayed, the Graph screen
does not automatically pan if
you trace off the left or right
side of the screen. However,
you can still press ¸ to
center the screen on the
trace cursor.
Scatter or xyline
Tracing begins at the first data point.
Box plot
Tracing begins at the median. Press A to trace to
Q1 and minX. Press B to trace to Q3 and maxX.
Histogram
The cursor moves from the top center of each bar,
starting from the leftmost bar.
When you press C or D to move to another plot or y(x) function,
tracing moves to the current or beginning point on that plot (not to
the nearest pixel).
Chapter 16: Statistics and Data Plots
269
Using Frequencies and Categories
To manipulate the way in which data points are analyzed, you
can use frequency values and/or category values. Frequency
values let you “weight” particular data points. Category values
let you analyze a subset of the data points.
In a data variable, you can use any column in the Data/Matrix Editor
to specify a frequency value (or weight) for the data points on each
row. A frequency value must be an integer ‚ 0 if Calculation Type =
OneVar or MedMed or if Plot Type = Box Plot. For other statistical
calculations or plots, the frequency value can be any number ‚ 0.
Example of a
Frequency Column
For example, suppose you enter a student’s test scores, where:
¦
¦
The mid-semester exam is weighted twice as much as other tests.
The final exam is weighted three times as much.
In the Data/Matrix Editor, you can enter the test scores and
frequency values in two columns.
Test scores
Frequency values
c1
85
97
92
89
91
95
c2
1
1
2
1
1
3
These
c1
85
97
92
92
89
91
95
95
95
Tip: A frequency value of 0
effectively removes the data
point from analysis.
weighted scores
are equivalent to
the single column
of scores listed to
the right.
Frequency of 2
Frequency of 3
Note: You can also use
frequency values from a list
variable instead of a
column.
To use frequency values, specify the frequency column when you
perform a statistical calculation or define a stat plot. For example:
Set this to YES.
Type the column
number (or list
name) that
contains the
frequency values.
In a data variable, you can use any column to specify a category (or
subset) value for the data points on each row. A category value can
be any number.
Example of a
Category Column
270
Chapter 16: Statistics and Data Plots
Suppose you enter the test scores from a class that has 10th and 11th
grade students. You want to analyze the scores for the whole class,
but you also want to analyze categories such as 10th grade girls, 10th
grade boys, 10th grade girls and boys, etc.
First, determine the category values you want to use.
Note: You do not need a
category value for the whole
class. Also, you do not need
category values for all 10th
graders or all 11th graders
since they are combinations
of other categories.
Category Value
Used to indicate:
1
2
3
4
10th grade girl
10th grade boy
11th grade girl
11th grade boy
Test scores
Category values
In the Data/Matrix Editor, you
can enter the scores and the
category values in two columns.
c1
85
97
92
88
90
95
79
68
92
84
82
c2
1
3
2
3
2
1
4
2
4
3
1
Note: You can also use
category values from a list
variable instead of a
column.
To use category values, specify the category column and the
category values to include in the analysis when you perform a
statistical calculation or define a stat plot.
Set this to YES.
Type the column
number (or list
name) that
contains the
category values.
Within braces { }, type the category
values to use, separated by commas. (Do
not type a column number or list name.)
To analyze:
Include Categories:
Note: To analyze the whole
class, leave the Category
input box blank. Any
10th grade girls
10th grade boys
10th grade girls and boys
11th grade girls
{1}
{2}
{1,2}
{3}
category values are ignored.
11th grade boys
{4}
11th grade girls and boys
all girls (10th and 11th)
all boys (10th and 11th)
{3,4}
{1,3}
{2,4}
Chapter 16: Statistics and Data Plots
271
If You Have a CBL 2/CBL or CBR
The Calculator-Based Laboratoryé System (CBL 2é/CBL™)
and Calculator-Based Rangeré System (CBRé) are optional
accessories, available separately, that let you collect data from
a variety of real-world experiments. TI-89 / TI-92 Plus
CBL 2/CBL and CBR programs are available from the TI web
site at: http://www.ti.com/calc/cbl and http://www.ti.com/calc/cbr
When you collect data with the CBL 2/CBL, that data is initially
stored in the CBL 2/CBL unit itself. You must then retrieve the data
(transfer it to the TI-89 / TI-92 Plus) by using the Get command, which
is described in Appendix A.
How CBL 2/CBL
Data Is Stored
Although each set of retrieved data can be stored in several variable
types (list, real, matrix, pic), using list variables makes it easier to
perform statistical calculations.
Note: For specifics about
using the CBL 2/CBL and
retrieving data to the
TI-89 / TI-92 Plus, refer to
the guidebook that comes
with the CBL 2/CBL unit.
When you transfer the collected information to the TI-89 / TI-92 Plus,
you can specify the list variable names that you want to use. For
example, you can use the CBL 2/CBL to collect temperature data
over a period of time. When you transfer the data, suppose you store:
¦
¦
Temperature data in a list variable called temp.
Time data in a list variable called time.
After you store the CBL 2/CBL information on the TI-89 / TI-92 Plus,
there are two ways to use the CBL 2/CBL list variables.
When you perform a statistical calculation or define a plot, you can
refer explicitly to the CBL 2/CBL list variables. For example:
Referring to the
CBL 2/CBL Lists
Type the CBL list
variable name instead
of a column number.
272
Chapter 16: Statistics and Data Plots
You can create a new data variable that consists of the necessary
CBL 2/CBL list variables.
Creating a Data
Variable with the
CBL 2/CBL Lists
¦
From the Home screen or a program, use the NewData command.
NewData dataVar, list1 [,list2 ] [,list3 ] ...
CBL list variable names. In the new
data variable, list1 will be copied to
column 1, list 2 to column 2, etc.
Name of the new data variable that
you want to create.
For example:
NewData temp1, time, temp
creates a data variable called temp1 in which time is in column 1
and temp is in column 2.
Tip: To define or clear a
column header, use †. For
more information, refer to
Chapter 15.
¦
From the Data/Matrix Editor, create a new, empty data variable
with the applicable name. For each CBL 2/CBL list that you want
to include, define a column header as that list name.
For example, define
column 1 as time,
column 2 as temp.
At this point, the columns are linked to the CBL 2/CBL lists. If the
lists are changed, the columns will be updated automatically.
However, if the lists are deleted, the data will be lost.
To make the data variable independent of the CBL 2/CBL lists,
clear the column header for each column. The information
remains in the column, but the column is no longer linked to the
CBL 2/CBL list.
You can also use the Calculator-Based Rangeré(CBRé) to explore
the mathematical and scientific relationships between distance,
velocity, acceleration, and time using data collected from activities
you perform.
CBR
Chapter 16: Statistics and Data Plots
273
274
Chapter 16: Statistics and Data Plots
Programming
Preview of Programming....................................................................... 276
Running an Existing Program............................................................... 278
Starting a Program Editor Session....................................................... 280
Overview of Entering a Program.......................................................... 282
Overview of Entering a Function......................................................... 285
Calling One Program from Another..................................................... 287
Using Variables in a Program ............................................................... 288
Using Local Variables in Functions or Programs .................................. 290
String Operations ................................................................................... 292
Conditional Tests ................................................................................... 294
Using If, Lbl, and Goto to Control Program Flow.............................. 295
Using Loops to Repeat a Group of Commands.................................. 297
Configuring the TI-89 / TI-92 Plus........................................................ 300
Getting Input from the User and Displaying Output ......................... 301
Creating a Custom Menu....................................................................... 303
Creating a Table or Graph..................................................................... 305
Drawing on the Graph Screen .............................................................. 307
Accessing Another TI-89 / TI-92 Plus, a CBL 2/CBL, or a CBR......... 309
Debugging Programs and Handling Errors......................................... 310
Example: Using Alternative Approaches ............................................ 311
Assembly-Language Programs ............................................................. 313
17
This chapter describes how to use the TI-89 / TI-92 Plus’s Program
Editor to create your own programs or functions.
Note: For details and
examples of any
TI-89 / TI-92 Plus program
command mentioned in this
chapter, refer to
Appendix A.
The chapter includes:
¦
¦
¦
¦
Specific instructions on using the Program Editor itself and
running an existing program.
An overview of fundamental programming techniques such as
If…EndIf structures and various kinds of loops.
Reference information that categorizes the available program
commands.
Obtaining and running assembly-language programs.
Chapter 17: Programming
275
Preview of Programming
Write a program that prompts the user to enter an integer, sums all integers from 1 to the
entered integer, and displays the result.
³
›
TI.89
Keystrokes
TI.92 Plus
Keystrokes
Steps
Display
O 73
O 73
1. Start a new program on the
Program Editor.
D D
PROGj 1
D D
PROG1
2. Type PROG1 (with no spaces) as
the name of the new program
variable.
¸ ¸
¸ ¸
3. Display the “template” for a new
program. The program name,
Prgm, and EndPrgm are shown
automatically.
After typing in an input box such as
Variable, you must press ¸ twice.
Type the
program lines
as shown.
Press ¸
at the end of
each line.
Type the
program lines
as shown.
Press ¸
at the end of
each line.
4. Type the following program
lines.
Request "Enter an
integer",n
Displays a dialog box that
prompts “Enter an integer”, waits
for the user to enter a value, and
stores it (as a string) to variable n.
expr(n)! n
Converts the string to a numeric
expression.
0! temp
Creates a variable named temp
and initializes it to 0.
For i,1,n,1
Starts a For loop based on
variable i. First time through the
loop, i = 1. At end of loop, i is
incremented by 1. Loop continues
until i > n.
temp+i! temp
Adds current value of i to temp.
EndFor
Marks the end of the For loop.
Disp temp
Displays the final value of temp.
276
Chapter 17: Programming
³
›
TI-89
Keystrokes
TI-92 Plus
Keystrokes
Steps
Display
prog1()
"
¥ "
5. Go to the Home screen. Enter
the program name, followed by a
set of parentheses.
2 ™ PROG PROG
j 1
1
c d ¸
c d ¸
You must include ( ) even when there
are no arguments for the program.
The program displays a dialog box
with the prompt specified in the
program.
5
5
6. Type 5 in the displayed dialog
box.
¸ ¸
¸ ¸
7. Continue with the program. The
Disp command displays the
result on the Program I/O
screen.
Output from other
programs may still be
on the screen.
Result of integer 5.
The result is the sum of the integers
from 1 through 5.
Although the Program I/O screen
looks similar to the Home screen, it is
for program input and output only.
You cannot perform calculations on
the Program I/O screen.
‡
‡
8. Leave the Program I/O screen
and return to the Home screen.
You can also press N, 2 K, or
TI.89: "
TI.92 Plus: ¥"
to return to the Home screen.
Chapter 17: Programming
277
Running an Existing Program
After a program is created (as described in the remaining
sections of this chapter), you can run it from the Home screen.
The program’s output, if any, is displayed on the Program I/O
screen, in a dialog box, or on the Graph screen.
On the Home screen:
Running a Program
1. Type the name of the program.
Tip: Use 2 ° to list
existing PRGM variables.
Highlight a variable and
press ¸ to paste its
name to the entry line.
2. You must always type a
prog1()
set of parentheses after
the name.
If arguments are not required
Some programs require
prog1(x,y)
you to pass an argument
If arguments are required
Note: Arguments specify
initial values for a program.
Refer to page 283.
to the program.
3. Press ¸.
When you run a program, the TI-89 / TI-92 Plus automatically checks
for errors. For example, the following message is displayed if you:
Note: The TI-89 / TI-92 Plus
also checks for run-time
errors that are found within
the program itself. Refer to
page 310.
¦
Do not enter ( ) after the
program name.
This error message appears if you:
¦
Do not enter enough arguments,
if required.
To cancel program execution if an error occurs, press N. You can
then correct any problems and run the program again.
When a program is running, the BUSY indicator is displayed in the
status line.
“Breaking” a
Program
Press ´ to stop program execution. A message is then displayed.
¦
¦
To display the program in the
Program Editor, press ¸. The
cursor appears at the command
where the break occurred.
To cancel program execution,
press N.
278
Chapter 17: Programming
Depending on the commands in the program, the TI-89 / TI-92 Plus
automatically displays information on the applicable screen.
Where Is the Output
Displayed?
¦
Most output and input commands use the Program I/O screen.
(Input commands prompt the user to enter information.)
¦
Graph-related commands typically use the Graph screen.
After the program stops, the TI-89 / TI-92 Plus shows the last screen
that was displayed.
On the Program I/O screen, new output is displayed below any
previous output (which may have been displayed earlier in the same
program or a different program). After a full page of output, the
previous output scrolls off the top of the screen.
The Program I/O
Screen
Tip: To clear any previous
output, enter the Clr[O
command in your program.
You can also execute Clr[O
from the Home screen.
Last output
On the Program I/O screen:
• ‡ toolbar is available; all
others are dimmed.
• There is no entry line.
Tip: If Home screen
calculations don’t work after
you run a program, you may
be on the Program I/O
screen.
When a program stops on the Program I/O screen, you need to
recognize that it is not the Home screen (although the two screens
are similar). The Program I/O screen is used only to display output or
to prompt the user for input. You cannot perform calculations on this
screen.
From the Program I/O screen:
Leaving the
Program I/O Screen
¦
Press ‡ to toggle between the Home screen and the Program I/O
screen.
— or —
¦
Press N, 2K, or
TI.89: "
TI.92 Plus: ¥ "
to display the Home screen.
— or —
¦
Display any other application screen (with O, ¥#, etc.).
Chapter 17: Programming
279
Starting a Program Editor Session
Each time you start the Program Editor, you can resume the
current program or function (that was displayed the last time
you used the Program Editor), open an existing program or
function, or start a new program or function.
1. Press O and then select
Starting a New
Program or
Function
7:Program Editor.
2. Select 3:New.
3. Specify the applicable
information for the new
program or function.
Item
Lets you:
Type
Select whether to create a
new program or function.
Folder
Select the folder in which the new program or
function will be stored. For information about
folders, refer to Chapter 5.
Variable
Type a variable name for the program or function.
If you specify a variable that already exists, an error
message will be displayed when you press ¸.
When you press N or ¸ to acknowledge the
error, the NEW dialog box is redisplayed.
4. Press ¸ (after typing in an input box such as Variable, you
must press ¸ twice) to display an empty “template.”
Note: A program (or
function) is saved
This is the template for a
program. Functions have
a similar template.
automatically as you type.
You do not need to save it
manually before leaving the
Program Editor, starting a
new program, or opening a
previous one.
You can now use the Program Editor as described in the
remaining sections of this chapter.
280
Chapter 17: Programming
You can leave the Program Editor and go to another application at
any time. To return to the program or function that was displayed
when you left the Program Editor, press O 7 and select 1:Current.
Resuming the
Current Program
To leave the current program or function and start a new one:
Starting a New
Program from the
Program Editor
1. Press ƒ and select 3:New.
2. Specify the type, folder, and
variable for the new program or
function.
3. Press ¸ twice.
You can open a previously created program or function at any time.
Opening a Previous
Program
1. From within the Program Editor, press ƒ and select 1:Open.
— or —
From another application, press O 7 and select 2:Open.
Note: By default, Variable
shows the first existing
program or function in
alphabetical order.
2. Select the applicable type,
folder, and variable.
3. Press ¸.
In some cases, you may want to copy a program or function so that
you can edit the copy while retaining the original.
Copying a Program
1. Display the program or function you want to copy.
2. Press ƒ and select 2:Save Copy As.
3. Specify the folder and variable for the copy.
4. Press ¸ twice.
Because all Program Editor sessions are saved automatically, you
can accumulate quite a few previous programs and functions, which
take up memory storage space.
Note about
Deleting a Program
To delete programs and functions, use the VAR-LINK screen
(2°). For information about VAR-LINK, refer to Chapter 21.
Chapter 17: Programming
281
Overview of Entering a Program
A program is a series of commands executed in sequential
order (although some commands alter the program flow). In
general, anything that can be executed from the Home screen
can be included in a program. Program execution continues
until it reaches the end of the program or a Stop command.
On a blank template, you can begin entering commands for your new
program.
Entering and Editing
Program Lines
Program name, which you
specify when you create a
new program.
Enter your program
commands between Prgm
and EndPrgm.
Note: Use the cursor pad to
scroll through the program
for entering or editing
commands. Use ¥ C or
¥ D to go to the top or
bottom of a program,
respectively.
All program lines begin
with a colon.
You enter and edit program commands in the Program Editor by
using the same techniques used to enter and edit text in the Text
Editor. Refer to “Entering and Editing Text” in Chapter 18.
Note: Entering a command
does not execute that
command. It is not executed
until you run the program.
After typing each program line, press ¸. This inserts a new blank
line and lets you continue entering another line. A program line can
be longer than one line on the screen; if so, it will wrap to the next
screen line automatically.
To enter more than one command on the same line, separate them
with a colon by pressing 2Ë.
Entering Multi-
Command Lines
A comment symbol (¦)lets you enter a remark in a program. When
you run the program, all characters to the right of ¦ are ignored.
Entering Comments
:prog1()
:Prgm
Description of the
program.
:¦ Displays sum of 1 thru n
:Request "Enter an integer",n
:expr(n)! n:¦ Convert to numeric expression
:------
Tip: Use comments to enter
information that is useful to
someone reading the
program code.
Description of
expr.
To enter the comment symbol, press:
¦
TI.89: ¥ d
TI.92 Plus: 2 X
— or —
¦
Press „ and select 9:¦
282
Chapter 17: Programming
When you run a program, the program lines are executed in
sequential order. However, some commands alter the program flow.
For example:
Controlling the Flow
of a Program
Tip: For information, refer to
pages 295 and 297.
¦
Control structures such as If...EndIf commands use a conditional
test to decide which part of a program to execute.
¦
Loops commands such as For...EndFor repeat a group of
commands.
:If x>5 Then
: Disp "x is > 5"
:Else
: Disp "x is < or = 5"
:EndIf
For more complex programs that
use If...EndIf and loop structures
such as For...EndFor, you can make
the programs easier to read and
understand by using indentation.
Using Indentation
In a program, calculated results are not displayed unless you use an
output command. This is an important difference between
performing a calculation on the Home screen and in a program.
Displaying
Calculated Results
:12ù 6
:cos(p/4)
:solve(x^2ì xì 2=0,x)
These calculations will not display
a result in a program (although they
will on the Home screen).
:Disp 12ù 6
:Disp cos(p/4)
:Disp solve(x^2ì xì 2=0,x)
Tip: For a list of available
output commands, refer to
page 302.
Output commands such as Disp will
display a result in a program.
:cos(p/4)! maximum
:Disp maximum
Displaying a calculation result does
not store that result. If you need to
refer to a result later, store it to a
variable.
To input values into a program, you can:
Getting Values into
a Program
¦
Require the users to store a value (with §) to the necessary
variables before running the program. The program can then refer
to these variables.
:Disp 12ù 6
:cos(p/4)! maximum
¦
¦
Enter the values directly into
the program itself.
:Input "Enter a value",i
:Request "Enter an integer",n
Include input commands that
prompt the users to enter the
necessary values when they
run the program.
Tip: For a list of available
input commands, refer to
page 301.
¦
Require the users to pass one
or more values to the
prog1(3,5)
program when they run it.
Chapter 17: Programming
283
The following program draws a circle on the Graph screen and then
draws a horizontal line across the top of the circle. Three values
must be passed to the program: x and y coordinates for the circle’s
center and the radius r.
Example of Passing
Values to a Program
¦
When you write the program in the Program Editor:
Note: In this example, you
cannot use circle as the
program name because it
conflicts with a command
name.
In the ( ) beside the program
name, specify the variables
that will be used to store the
passed values.
:circ(x,y,r)
:Prgm
:FnOff
:ZoomStd
:ZoomSqr
:Circle x,y,r
:LineHorz y+r
:EndPrgm
Only circ( ) is
initially displayed
on the blank
template; be sure
to edit this line.
Notice that the program also
contains commands that set
up the Graph screen.
Before drawing the circle, the program turns off any selected
Y= Editor functions, displays a standard viewing window, and
“squares” the window.
¦
To run the program from the Home screen:
Note: This example
The user must specify the
applicable values as
arguments within the ( ).
circ(0,0,5)
assumes that the user
enters values that can be
displayed by the viewing
window set up by ZoomStd
and ZoomSqr.
Passed to r.
Passed to y.
Passed to x.
The arguments, in order, are
passed to the program.
284
Chapter 17: Programming
Overview of Entering a Function
A function created in the Program Editor is very similar to the
functions and instructions that you typically use from the Home
screen.
Functions (as well as programs) are ideal for repetitive calculations
or tasks. You only need to write the function once. Then you can
reuse it as many times as necessary. Functions, however, have some
advantages over programs.
Why Create a User-
Defined Function?
Note: You can create a
function from the Home
screen (see Chapter 5), but
the Program Editor is more
convenient for complex,
multi-line functions.
¦
You can create functions that expand on the TI-89 / TI-92 Plus’s
built-in functions. You can then use the new functions the same
as any other function.
¦
¦
¦
Functions return values that can be graphed or entered in a table;
programs cannot.
You can use a function (but not a program) within an expression.
For example: 3ù func1(3) is valid, but not 3ù prog1(3).
Because you pass arguments to a function, you can write generic
functions that are not tied to specific variable names.
This guidebook sometimes uses the word command as a generic
reference to instructions and functions. When writing a function,
however, you must differentiate between instructions and functions.
Differences
Between Functions
and Programs
A user-defined function:
¦
Can use the following instructions only. Any others are invalid.
Cycle
Define
Exit
For...EndFor
Lbl
Return
Goto
Local
While...EndWhile
If...EndIf (all forms)
Loop...EndLoop
! (§ key)
¦
¦
Can use all built-in TI-89 / TI-92 Plus functions except:
setFold
setTable
setGraph
switch
setMode
Tip: For information about
local variables, refer to
pages 288 and 290.
Can refer to any variable; however, it can store a value to a local
variable only.
−
The arguments used to pass values to a function are treated as
local variables automatically. If you store to any other
variables, you must declare them as local from within the
function.
¦
Cannot call a program as a subroutine, but it can call another
user-defined function.
¦
¦
Cannot define a program.
Cannot define a global function, but it can define a local function.
Chapter 17: Programming
285
When you create a new function in the Program Editor, the
TI-89 / TI-92 Plus displays a blank “template”.
Entering a Function
Function name, which you
specify when you create a
new function.
Be sure to edit this line to
include any necessary
arguments. Remember to
use argument names in
the definition that will
never be used when
Enter your commands
between Func and
EndFunc.
Note: Use the cursor pad to
scroll through the function
for entering or editing
commands.
calling the function.
All function lines begin
with a colon.
If the function requires input, one or more values must be passed to
the function. (A user-defined function can store to local variables
only, and it cannot use instructions that prompt the user for input.)
There are two ways to return a value from a function:
How to Return a
Value from a
Function
:cube(x)
:Func
:x^3
¦
¦
As the last line in the function
(before EndFunc), calculate the
value to be returned.
:EndFunc
:cube(x)
:Func
Note: This example
calculates the cube if x‚0;
otherwise, it returns a 0.
Use Return. This is useful for
exiting a function and returning
a value at some point other than
the end of the function.
:If x<0
: Return 0
:x^3
:EndFunc
The argument x is automatically treated as a local variable. However,
if the example needed another variable, the function would need to
declare it as local by using the Local command (pages 288 and 290).
There is an implied Return at the end of the function. If the last line is
not an expression, an error occurs.
x
The following function returns the xth root of a value y ( y ). Two
values must be passed to the function: x and y.
Example of a
Function
Function as defined in
the Program Editor
Function as called from the Home Screen
3!x:125!y
Note: Because x and y in
the function are local, they
are not affected by any
existing x or y variable.
:xroot(x,y)
:Func
4ù xroot(3,125)
20
:y^(1/x)
:EndFunc
5
286
Chapter 17: Programming
Calling One Program from Another
One program can call another program as a subroutine. The
subroutine can be external (a separate program) or internal
(included in the main program). Subroutines are useful when a
program needs to repeat the same group of commands at
several different places.
To call a separate program, use the same syntax used to run the
program from the Home screen.
Calling a Separate
Program
:subtest2(x,y)
:Prgm
:subtest1()
:Prgm
: Disp x,y
:EndPrgm
:For i,1,4,1
: subtest2(i,iù 1000)
:EndFor
:EndPrgm
To define an internal subroutine, use the Define command with
Prgm...EndPrgm. Because a subroutine must be defined before it can
be called, it is a good practice to define subroutines at the beginning
of the main program.
Calling an Internal
Subroutine
An internal subroutine is called and executed in the same way as a
separate program.
:subtest1()
:Prgm
:local subtest2
:Define subtest2(x,y)=Prgm
: Disp x,y
Declares the subroutine
as a local variable.
Tip: Use the Program
Editor’s † Var toolbar
menu to enter the Define
and Prgm...EndPrgm
commands.
Defines the subroutine.
:EndPrgm
:¦ Beginning of main program
:For i,1,4,1
: subtest2(i,iù 1000)
:EndFor
Calls the subroutine.
:EndPrgm
At the end of a subroutine, execution returns to the calling program.
To exit a subroutine at any other time, use the Return command.
Notes about Using
Subroutines
A subroutine cannot access local variables declared in the calling
program. Likewise, the calling program cannot access local variables
declared in a subroutine.
Lbl commands are local to the programs in which they are located.
Therefore, a Goto command in the calling program cannot branch to
a label in a subroutine or vice versa.
Chapter 17: Programming
287
Using Variables in a Program
Programs use variables in the same general way that you use
them from the Home screen. However, the “scope” of the
variables affects how they are stored and accessed.
Scope of Variables
Scope
Description
System
(Global)
Variables
Variables with reserved names that are created
automatically to store data about the state of the
TI-89 / TI-92 Plus. For example, Window variables
(xmin, xmax, ymin, ymax, etc.) are globally available
from any folder.
¦
You can always refer to these variables by using
the variable name only, regardless of the current
folder.
¦
A program cannot create system variables, but it
can use the values and (in most cases) store new
values.
Note: For information about
folders, refer to Chapter 5.
Folder
Variables
Variables that are stored in a particular folder.
¦
If you store to a variable name only, it is stored in
the current folder. For example:
5! start
¦
If you refer to a variable name only, that variable
must be in the current folder. Otherwise, it cannot
be found (even if the variable exists in a different
folder).
¦
To store or refer to a variable in another folder,
you must specify a path name. For example:
5! class\start
Variable name
Folder name
After the program stops, any folder variables created
by the program still exist and still take up memory.
Note: If a program has local
variables, a graphed
function cannot access
them. For example:
Local a
5! a
Graph aù cos(x)
may display an error or an
unexpected result (if a is an
existing variable in the
current folder).
Local
Variables
Temporary variables that exist only while a program is
running. When the program stops, local variables are
deleted automatically.
¦
¦
¦
To create a local variable in a program, use the
Local command to declare the variable.
A local variable is treated as unique even if there is
an existing folder variable with the same name.
Local variables are ideal for temporarily storing
values that you do not want to save.
288
Chapter 17: Programming
When evaluating a user-defined function or running a program, you
can specify an argument that includes the same variable that was
used to define the function or create the program. However, to avoid
Circular definition errors, you must assign a value for x or i variables
that are used in evaluating the function or running the program.
For example:
Circular Definition
Errors
x+1!x
Causes a Circular definition error message if x
or i does not have a value. The error does not
occur if x or i has already been assigned a value.
– or –
For i,i,10,1
Disp i
EndFor
Variable-Related
Commands
Command
Description
§ key
Stores a value to a variable. As on the Home screen,
pressing § enters a ! symbol.
Archive
BldData
Moves specified variables from RAM to user data
archive memory.
Lets you create a data variable based on the graph
information entered in the Y=Editor, Window
Editor, etc.
CopyVar
Define
Copies the contents of a variable.
Note: The Define, DelVar,
and Local commands are
available from the Program
Editor’s † Var toolbar
menu.
Defines a program (subroutine) or function variable
within a program.
DelFold
Deletes a folder. All variables in that folder must be
deleted first.
DelVar
getFold
getType
Deletes a variable.
Returns the name of the current folder.
Returns a string that indicates the data type (EXPR,
LIST, etc.) of a variable.
Local
Lock
Declares one or more variables as local variables.
Locks a variable so that it cannot be accidentally
changed or deleted without first being unlocked.
MoveVar
NewData
Moves a variable from one folder to another.
Creates a data variable whose columns consist of a
series of specified lists.
NewFold
NewPic
Creates a new folder.
Creates a picture variable based on a matrix.
Renames a variable.
Rename
Unarchiv
Moves specified variables from user data archive
memory to RAM.
Unlock
Unlocks a locked variable.
Chapter 17: Programming
289
Using Local Variables in Functions or Programs
A local variable is a temporary variable that exists only while a
user-defined function is being evaluated or a user-defined
program is running.
The following program segment shows a For...EndFor loop (which is
discussed later in this chapter). The variable i is the loop counter. In
most cases, the variable i is used only while the program is running.
Example of a Local
Variable
Tip: As often as possible,
use local variables for any
variable that is used only
within a program and does
not need to be stored after
the program stops.
Declares variable i as local.
:Local i
:For i,0,5,1
: Disp i
:EndFor
:Disp i
If you declare variable i as local, it is deleted automatically when the
program stops so that it does not use up memory.
An Undefined variable error message displays when you evaluate a
user-defined function or run a user-defined program that references
a local variable that is not initialized (assigned a value).
What Causes an
Undefined Variable
Error Message?
This example is a multi-statement function, rather than a program.
Line breaks are shown here, but you would type the text in the entry
line as one continuous line, such as: Define fact(n)=Func:Local…
where the ellipsis indicates the entry line text continues off-screen.
For example:
Define fact(n)=Func:
Local m:
Local variable m is not assigned an
initial value.
While n>1:
nùm!m: nì1!n:
EndWhile:
Return m:
EndFunc
In the example above, the local variable m exists independently of
any variable m that exists outside of the function.
All local variables must be assigned an initial value before they are
referenced.
You Must Initialize
Local Variables
Define fact(n)=Func:
1 is stored as the initial value for m.
Local m: 1!m:
While n>1:
nùm!m: nì1!n:
EndWhile:
Return m:
EndFunc
The TI-89 / TI-92 Plus cannot use a local variable to perform symbolic
calculations.
290
Chapter 17: Programming
If you want a function or program to perform symbolic calculations,
you must use a global variable instead of a local. However, you must
be certain that the global variable does not already exist outside of
the program. The following methods can help.
To Perform
Symbolic
Calculations
¦
Refer to a global variable name, typically with two or more
characters, that is not likely to exist outside of the function or
program.
¦
Include DelVar within the function or program to delete the global
variable, if it exists, before referring to it. (DelVar does not delete
locked or archived variables.)
Chapter 17: Programming
291
String Operations
Strings are used to enter and display text characters. You can
type a string directly, or you can store a string to a variable.
A string is a sequence of characters enclosed in "quotes". In
programming, strings allow the program to display information or
prompt the user to perform some action. For example:
How Strings Are
Used
Disp "The result is",answer
— or —
Input "Enter the angle in degrees",ang1
— or —
"Enter the angle in degrees”! str1
Input str1,ang1
Some input commands (such as InputStr) automatically store user
input as a string and do not require the user to enter quotation
marks.
A string cannot be evaluated mathematically, even if it appears to be
a numeric expression. For example, the string "61" represents the
characters "6" and "1", not the number 61.
Although you cannot use a string such as "61" or "2x+4" in a
calculation, you can convert a string into a numeric expression by
using the expr command.
292
Chapter 17: Programming
String Commands
Command
Description
#
Converts a string into a variable name. This is called
indirection.
Note: See Appendix A for
syntax for all TI-89 / TI-92 Plus
commands and functions.
&
Appends (concatenates) two strings into one string.
char
Returns the character that corresponds to a
specified character code. This is the opposite of the
ord command.
dim
Returns the number of characters in a string.
expr
Converts a string into an expression and executes
that expression. This is the opposite of the string
command.
Important: Some user input commands store the
entered value as a string. Before you can perform a
mathematical operation on that value, you must
convert it to a numeric expression.
format
Returns an expression as a character string based
on the format template (fixed, scientific,
engineering, etc.)
inString
Searches a string to see if it contains a specified
substring. If so, inString returns the character
position where the first occurrence of the substring
begins.
left
mid
ord
Returns a specified number of characters from the
left side (beginning) of a string.
Returns a specified number of characters from any
position within a string.
Returns the character code of the first character
within a string. This is the opposite of the char
command.
right
rotate
shift
Returns a specified number of characters from the
right side (end) of a string.
Rotates the characters in a string. The default is L1
(rotate right one character).
Shifts the characters in a string and replaces them
with spaces. The default is L1 (shift right one
character and replace with one space). Examples:
shift("abcde",2)⇒"cde " and shift("abcde")⇒" abcd"
string
Converts a numeric expression into a string. This is
the opposite of the expr command.
Chapter 17: Programming
293
Conditional Tests
Conditional tests let programs make decisions. For example,
depending on whether a test is true or false, a program can
decide which of two actions to perform. Conditional tests are
used with control structures such as If...EndIf and loops such
as While...EndWhile (described later in this chapter).
¦
¦
Type the operator directly from the keyboard.
— or —
Press 2I and select
8:Test. Then select the
operator from the menu.
— or —
Entering a Test
Operator
¦
Display the built-in functions.
Press:
TI.89: ½
TI.92 Plus: 2 ½
The test operators are listed
near the bottom of the
„ Built-in menu.
Relational operators let you define a conditional test that compares
two values. The values can be numbers, expressions, lists, or
matrices (but they must match in type and dimension).
Relational Tests
Operator
True if:
Example
>
<
‚
=
ƒ
Greater than
Less than
Greater than or equal to
Less than or equal to
Equal
a>8
a<0
a+b‚100
a+6b+1
list1=list2
mat1ƒmat2
Tip: From the keyboard,
you can type:
>= for
<= for
/= for
‚
ƒ
(To get the / character,
press e.)
Not equal to
Boolean operators let you combine the results of two separate tests.
Boolean Tests
Operator
True if:
Example
and
or
xor
Both tests are true
At least one test is true
One test is true and the
other is false
a>0 and a10
a0 or b+c>10
a+6<b+1 xor c<d
The not function changes the result of a test from true to false and
vice versa. For example:
The Not Function
not x>2 is true if x2
false if x>2
Note: If you use not from the Home screen, it is shown as ~ in the
history area. For example, not x>2 is shown as ~(x>2).
294
Chapter 17: Programming
Using If, Lbl, and Goto to Control Program Flow
An If...EndIf structure uses a conditional test to decide
whether or not to execute one or more commands. Lbl (label)
and Goto commands can also be used to branch (or jump)
from one place to another in a program.
To enter If...EndIf structures, use
the Program Editor’s „ Control
toolbar menu.
„ Control Toolbar
Menu
The If command is available
directly from the „ menu.
To see a submenu that lists other
If structures, select 2:If...Then.
:If | Then
:EndIf
When you select a structure such as
If...Then...EndIf, a template is
inserted at the cursor location.
The cursor is positioned so
that you can enter a
conditional test.
To execute only one command if a conditional test is true, use the
general form:
If Command
Tip: Use indentation to
make your programs easier
to read and understand.
Executed only if x>5;
otherwise, skipped.
:If x>5
:
Disp "x is greater than 5"
Always displays the value of x.
:Disp x
In this example, you must store a value to x before executing the
If command.
To execute multiple commands if a conditional test is true, use the
structure:
If...Then...EndIf
Structures
:If x>5 Then
: Disp "x is greater than 5"
: 2ù x! x
:EndIf
:Disp x
Executed only if x>5.
Note: EndIf marks the end
of the Then block that is
executed if the condition is
true.
Displays value of:
• 2x if x>5.
• x if x5.
Chapter 17: Programming
295
To execute one group of commands if a conditional test is true and a
different group if the condition is false, use this structure:
If...Then...Else...
EndIf Structures
:If x>5 Then
: Disp "x is greater than 5"
: 2ù x! x
Executed only if x>5.
:Else
: Disp "x is less than or
Executed only if x5.
equal to 5"
: 5ù x! x
:EndIf
Displays value of:
• 2x if x>5.
:Disp x
• 5x if x5.
A more complex form of the If command lets you test a series of
conditions. Suppose your program prompts the user for a number
that corresponds to one of four options. To test for each option
(If Choice=1, If Choice = 2, etc.), use the If...Then...ElseIf...EndIf
structure.
If...Then...ElseIf...
EndIf Structures
Refer to Appendix A for more information and an example.
You can also control the flow of your program by using Lbl (label)
and Goto commands.
Lbl and Goto
Commands
Use the Lbl command to label (assign a name to) a particular
location in the program.
Lbl labelName
name to assign to this location (use the same
naming convention as a variable name)
You can then use the Goto command at any point in the program to
branch to the location that corresponds to the specified label.
Goto labelName
specifies which Lbl command to branch to
Because a Goto command is unconditional (it always branches to the
specified label), it is often used with an If command so that you can
specify a conditional test. For example:
:If x>5
If x>5, branches directly to
label GT5.
: Goto GT5
:Disp x
:--------
For this example, the program
must include commands (such
as Stop) that prevent Lbl GT5
from being executed if x5.
:--------
:Lbl GT5
:Disp "The number was > 5”
296
Chapter 17: Programming
Using Loops to Repeat a Group of Commands
To repeat the same group of commands successively, use a
loop. Several types of loops are available. Each type gives you
a different way to exit the loop, based on a conditional test.
To enter most of the loop-related
commands, use the Program
Editor’s „ Control toolbar menu.
„ Control Toolbar
Menu
:For |
:EndFor
When you select a loop, the loop
command and its corresponding
End command are inserted at the
cursor location.
Note: A loop command
marks the start of the loop.
The corresponding End
command marks the end of
the loop.
If the loop requires
arguments, the cursor is
positioned after the command.
You can then begin entering the commands that will be executed in
the loop.
A For...EndFor loop uses a counter to control the number of times
the loop is repeated. The syntax of the For command is:
For...EndFor Loops
For(variable, begin, end [, increment])
added to the counter each subsequent time
For is executed (If this optional value is
omitted, the increment is 1.)
Note: The ending value can
be less than the beginning
value, but the increment
must be negative.
exits the loop when variable exceeds this value
counter value used the first time For is executed
variable used as a counter
When For is executed, the variable value is compared to the end
value. If variable does not exceed end, the loop is executed;
otherwise, program control jumps to the command following EndFor.
:For i,0,5,1
Note: The For command
automatically increments the
counter variable so that the
program can exit the loop
after a certain number of
repetitions.
i > 5
i 5
: --------
: --------
:EndFor
:--------
At the end of the loop (EndFor), program control jumps back to the
For command, where variable is incremented and compared to end.
Chapter 17: Programming
297
For example:
Tip: You can declare the
counter variable as local
(pages 288 and 290) if it
does not need to be saved
after the program stops.
:For i,0,5,1
: Disp i
:EndFor
Displays 0, 1, 2, 3, 4, and 5.
Displays 6. When variable
increments to 6, the loop
is not executed.
:Disp i
A While...EndWhile loop repeats a block of commands as long as a
specified condition is true. The syntax of the While command is:
While...EndWhile
Loops
While condition
When While is executed, the condition is evaluated. If condition is
true, the loop is executed; otherwise, program control jumps to the
command following EndWhile.
Note: The While command
does not automatically
change the condition. You
must include commands
that allow the program to
exit the loop.
:While x<5
x ‚ 5
x < 5
: --------
: --------
:EndWhile
:--------
At the end of the loop (EndWhile), program control jumps back to
the While command, where condition is re-evaluated.
To execute the loop the first time, the condition must initially be
true.
¦
Any variables referenced in the condition must be set before the
While command. (You can build the values into the program or
prompt the user to enter the values.)
¦
The loop must contain commands that change the values in the
condition, eventually causing it to be false. Otherwise, the
condition is always true and the program cannot exit the loop
(called an infinite loop).
For example:
Initially sets x.
:0! x
:While x<5
: Disp x
: x+1! x
:EndWhile
:Disp x
Displays 0, 1, 2, 3, and 4.
Increments x.
Displays 5. When x
increments to 5, the loop is
not executed.
298
Chapter 17: Programming
A Loop...EndLoop creates an infinite loop, which is repeated
endlessly. The Loop command does not have any arguments.
Loop...EndLoop
Loops
:Loop
: --------
: --------
:EndLoop
:--------
Typically, the loop contains commands that let the program exit
from the loop. Commonly used commands are: If, Exit, Goto, and
Lbl (label). For example:
:0! x
:Loop
: Disp x
: x+1! x
An If command checks
the condition.
: If x>5
Exit
:
Note: The Exit command
exits from the current loop.
:EndLoop
:Disp x
Exits the loop and jumps to
here when x increments to 6.
In this example, the If command can be anywhere in the loop.
When the If command is:
The loop is:
At the beginning of the loop Executed only if the condition is true.
At the end of the loop
Executed at least once and repeated
only if the condition is true.
The If command could also use a Goto command to transfer program
control to a specified Lbl (label) command.
The Cycle command immediately transfers program control to the
next iteration of a loop (before the current iteration is complete).
This command works with For...EndFor, While...EndWhile, and
Loop...EndLoop.
Repeating a Loop
Immediately
Although the Lbl (label) and Goto commands are not strictly loop
commands, they can be used to create an infinite loop. For example:
Lbl and Goto
Loops
:Lbl START
: --------
: --------
:Goto START
:--------
As with Loop...EndLoop, the loop should contain commands that let
the program exit from the loop.
Chapter 17: Programming
299
Configuring the TI-89 / TI-92 Plus
Programs can contain commands that change the
configuration of the TI-89 / TI-92 Plus. Because mode changes
are particularly useful, the Program Editor’s Mode toolbar
menu makes it easy to enter the correct syntax for the
setMode command.
Configuration
Commands
Command
Description
getConfg
getFold
Returns a list of calculator characteristics.
Note: The parameter/mode
strings used in the
Returns the name of the current folder.
Returns the current setting for a specified mode.
Returns a list of default units.
getMode
getUnits
setFold
setMode( ), getMode( ),
setGraph( ), and
setTable( ) functions do not
translate into other
Sets the current folder.
languages when used in a
program. See Appendix D.
setGraph
Sets a specified graph format (Coordinates, Graph
Order, etc.).
setMode
setTable
Sets any mode except Current Folder.
Sets a specified table setup parameter
(tblStart, @tbl, etc.)
setUnits
switch
Sets default units for displayed results.
Sets the active window in a split screen, or returns
the number of the active window.
In the Program Editor:
Entering the
SetMode Command
1. Position the cursor where you want to insert the setMode
command.
Note: The Mode menu does
not let you set the Current
Folder mode. To set this
mode, use the setFold
command.
2. Press:
TI.89: 2ˆ
TI.92 Plus: ˆ
to display a list of modes.
3. Select a mode to display a menu of its valid settings.
4. Select a setting.
The correct syntax is inserted into
your program.
:setMode("Graph","FUNCTION")
300
Chapter 17: Programming
Getting Input from the User and Displaying Output
Although values can be built into a program (or stored to
variables in advance), a program can prompt the user to enter
information while the program is running. Likewise, a program
can display information such as the result of a calculation.
To enter most of the commonly
used input/output commands, use
the Program Editor’s … I/O toolbar
menu.
… I/O Toolbar Menu
To see a submenu that lists
additional commands, select
1:Dialog.
Input Commands
Command
Description
getKey
Returns the key code of the next key pressed. See
Appendix B for a listing of key codes.
Input
Prompts the user to enter an expression. The
expression is treated according to how it is entered.
For example:
¦
A numeric expression is treated as an
expression.
¦
An expression enclosed in "quotes" is treated as
a string.
Input can also display the Graph screen and let the
user update the variables xc and yc (rc and qc in
polar mode) by positioning the graph cursor.
Tip: String input cannot be
used in a calculation. To
convert a string to a numeric
expression, use the expr
command.
InputStr
Prompts the user to enter an expression. The
expression is always treated as a string; the user
does not need to enclose the expression in "quotes".
PopUp
Prompt
Displays a pop-up menu box and lets the user select
an item.
Prompts the user to enter a series of expressions. As
with Input, each expression is treated according to
how it is entered.
Request
Displays a dialog box that prompts the user to enter
an expression. Request always treats the entered
expression as a string.
Chapter 17: Programming
301
Output Commands
Command
Description
ClrZO
Clears the Program I/O screen.
Disp
Displays an expression or string on the Program I/O
screen. Disp can also display the current contents of
the Program I/O screen without displaying
additional information.
Note: In a program, simply
performing a calculation
does not display the result.
You must use an output
command.
DispG
Displays the current contents of the Graph screen.
Displays the current contents of the Home screen.
Displays the current contents of the Table screen.
DispHome
DispTbl
Output
Displays an expression or string starting at specified
coordinates on the Program I/O screen.
Format
Pause
Formats the way in which numeric information is
displayed.
Suspends program execution until the user presses
¸. Optionally, you can display an expression
during the pause. A pause lets users read your
output and decide when they are ready to continue.
Tip: After Disp and Output,
the program immediately
continues. You may want to
add a Pause command.
Text
Displays a dialog box that contains a specified
character string.
Graphical User
Interface
Commands
Command
Description
Dialog...
EndDlog
Defines a program block (consisting of Title,
Request, etc., commands) that displays a dialog box.
Toolbar...
EndTbar
Defines a program block (consisting of Title, Item,
etc., commands) that replaces the toolbar menus.
The redefined toolbar is in effect only while the
program is running and only until the user selects an
item. Then the original toolbar is redisplayed.
CustmOn...
CustmOff
Activates or removes a custom toolbar.
Tip: When you run a
program that sets up a
custom toolbar, that toolbar
is still available even after
the program has stopped.
Custom...
EndCustm
Defines a program block that displays a custom
toolbar when the user presses 2¾. That
toolbar remains in effect until the user presses
2¾ again or changes applications.
DropDown
Item
Displays a drop-down menu within a dialog box.
Displays a menu item for a redefined toolbar.
Creates an input box within a dialog box.
Note: Request and Text
are stand-alone commands
that can also be used
Request
Text
Displays a character string within a dialog box.
outside of a dialog box or
toolbar program block.
Title
Displays the title of a dialog box or a menu title
within a toolbar.
302
Chapter 17: Programming
Creating a Custom Menu
The TI-89 / TI-92 Plus custom menu feature lets you create your
own toolbar menu. A custom menu can contain any available
function, instruction, or set of characters. The TI-89 / TI-92 Plus
has a default custom menu that you can modify or redefine.
When you create a custom menu, you can let the user turn it on and
off manually, or you can let a program turn it on and off
automatically.
Turning the Custom
Menu On and Off
To:
Do this:
Note: When the custom
menu is turned on, it
replaces the normal toolbar
menu. Unless a different
custom menu has been
created, the default custom
menu is displayed.
Turn on the
custom menu
From the Home screen or any other application:
¦
Press 2 ¾.
From the Home screen or a program:
Execute the CustmOn command.
From any application:
¦
Turn off the
custom menu
¦
¦
Press 2 ¾ again.
— or —
Go to a different application.
Using the default custom menu on the Home
screen:
1. Select the Tools menu:
TI.89: 2 ‰
TI.92 Plus: ‰
Then select 3:CustmOff.
CustmOff
This pastes CustmOff in
the entry line.
2. Press ¸.
You can also use CustmOff in a program.
To create a custom menu, use the following general structure.
Defining a Custom
Menu
:Custom
: Title title of F1 menu
Note: When the user
:
:
:
Item item 1
Item item 2
ø ø ø
selects a menu item, the
text defined by that Item
command is pasted to the
current cursor location.
: Title title of F2 menu
ø ø ø
: Title title of F3 menu
ø ø ø
:EndCustm
:
:
Chapter 17: Programming
303
Note: The following may be
slightly different than the
default custom menu on
your calculator.
For example:
:Custom
:Title "Vars"
:Item "L1":Item "M1":Item "Prgm1":Item "Func1":Item "Data1"
:Item "Text1":Item "Pic1":Item "GDB1":Item "Str1"
:Title "f(x)"
:Item "f(x)":Item "g(x)":Item "f(x,y)":Item "g(x,y)"
:Item "f(x+h)":Item "Define f(x) ="
:Title "Solve"
:Item "Solve(":Item " and ":Item "{x,y}"
:Item "Solve( and ,{x,y})"
:Title "Units"
:Item "_m/_s^2":Item "_ft/_s^2":Item "_m":Item "_ft":Item "_l"
:Item "_gal":Item "_\o\C":Item "_\o\F":Item "_kph":Item "_mph"
:Title "Symbols"
:Item "#":Item "\beta\":Item "?":Item "~":Item "&"
Note: See how "_\o\C" and
"_\o\F" display as ¡C and ¡F
in the menu. Similarly, see
the international accented
characters.
:Title "Internat'l"
:Item "\e`\":Item "\e'\":Item "\e^\":Item "\a`\"
:Item "\u`\":Item "\u^\":Item "\o^\":Item "\c,\":Item "\u..\"
:Title "Tools"
:Item "ClrHome":Item "NewProb":Item "CustmOff"
:EndCustm
:CustmOn
Note: This inserts all the
commands on a single line.
You do not need to split
them into separate lines.
To modify the default custom menu, use 3:Restore custom default
(as described below) to get the commands for the default menu.
Copy those commands, use the Program Editor to create a new
program, and paste them into the blank program. Then modify the
commands as necessary.
You can create and use only one custom menu at a time. If you need
more, write a separate program for each custom menu. Then run the
program for the menu you need.
To restore the default:
Restoring the
Default Custom
Menu
1. From the Home screen’s normal menu (not the custom menu),
select Clean Up:
TI.89: 2 ˆ
TI.92 Plus: ˆ
2. Select 3:Restore custom default.
This pastes the commands used
to create the default menu into
the entry line.
3. Press ¸ to execute the commands and restore the default.
When you restore the default, any previous custom menu is erased. If
the previous menu was created with a program, you can run the
program again if you want to reuse the menu later.
304
Chapter 17: Programming
Creating a Table or Graph
To create a table or a graph based on one or more functions or
equations, use the commands listed in this section.
Table Commands
Command
Description
DispTbl
Displays the current contents of the Table screen.
setTable
Sets the Graph <–> Table or Independent table
parameters. (To set the other two table parameters,
you can store the applicable values to the tblStart
and @tbl system variables.)
Table
Builds and displays a table based on one or more
expressions or functions.
Graphing
Command
Description
Commands
ClrGraph
Erases any functions or expressions that were
graphed with the Graph command.
Define
DispG
FnOff
FnOn
Graph
Creates a user-defined function.
Displays the current contents of the Graph screen.
Deselects all (or only specified) Y= functions.
Selects all (or only specified) Y= functions.
Graphs one or more specified expressions, using the
current graphing mode.
Input
Displays the Graph screen and lets the user update
the variables xc and yc (rc and qc in polar mode) by
positioning the graph cursor.
NewPlot
PlotsOff
PlotsOn
setGraph
Creates a new stat plot definition.
Deselects all (or only specified) stat data plots.
Selects all (or only specified) stat data plots.
Changes settings for the various graph formats
(Coordinates, Graph Order, etc.).
Note: For more information
about using setMode, refer
to page 300.
setMode
Style
Sets the Graph mode, as well as other modes.
Sets the display style for a function.
Lets a program trace a graph.
Trace
ZoomBox
– to –
ZoomTrig
Perform all of the Zoom operations that are available
from the „ toolbar menu on the Y= Editor, Window
Editor, and Graph screen.
Chapter 17: Programming
305
Graph Picture and
Database
Commands
Command
Description
AndPic
Displays the Graph screen and superimposes a
stored graph picture by using AND logic.
CyclePic
NewPic
RclGDB
RclPic
Animates a series of stored graph pictures.
Note: For information about
graph pictures and
databases, also refer to
Chapter 12.
Creates a graph picture variable based on a matrix.
Restores all settings stored in a graph database.
Displays the Graph screen and superimposes a
stored graph picture by using OR logic.
RplcPic
StoGDB
StoPic
Clears the Graph screen and displays a stored graph
picture.
Stores the current graph settings to a graph
database variable.
Copies the Graph screen (or a specified rectangular
portion) to a graph picture variable.
XorPic
Displays the Graph screen and superimposes a
stored graph picture by using XOR logic.
306
Chapter 17: Programming
Drawing on the Graph Screen
To create a drawing object on the Graph screen, use the
commands listed in this section.
When drawing an object, you can use either of two coordinate
systems to specify a location on the screen.
Pixel vs. Point
Coordinates
¦
Pixel coordinates — Refer to the pixels that physically make up
the screen. These are independent of the viewing window
because the screen is always:
TI.89: 159 (0 to 158) pixels wide and 77 (0 to 76) pixels tall.
TI.92 Plus: 239 (0 to 238) pixels wide and 103 (0 to 102) pixels tall.
¦
Point coordinates — Refer to the coordinates in effect for the
current viewing window (as defined in the Window Editor).
0,0
TI-89: 158,0
TI-92 Plus: 238,0
-10,10
10,10
Tip: For information about
pixel coordinates in split
screens, refer to
TI-89: 158,76
TI-92 Plus: 238,102
TI-89: 0,76
TI-92 Plus: 0,102
Chapter 14.
-10,-10
10,-10
Pixel coordinates
(independent of viewing window)
Point coordinates
(for standard viewing window)
Note: Pixel commands start
with Pxl, such as PxlChg.
Many drawing commands have two forms: one for pixel coordinates
and one for point coordinates.
Erasing Drawn
Objects
Command
Description
ClrDraw
Erases all drawn objects from the Graph screen.
Drawing a Point or
Pixel
Command
Description
PtChg or
PxlChg
Toggles (inverts) a pixel at the specified coordinates.
PtChg, which uses point coordinates, affects the
pixel closest to the specified point. If the pixel is off,
it is turned on. If the pixel is on, it is turned off.
PtOff or
PxlOff
Turns off (erases) a pixel at the specified
coordinates. PtOff, which uses point coordinates,
affects the pixel closest to the specified point.
PtOn or
PxlOn
Turns on (displays) a pixel at the specified
coordinates. PtOn, which uses point coordinates,
affects the pixel closest to the specified point.
PtTest or
PxlTest
Returns true or false to indicate if the specified
coordinate is on or off, respectively.
PtText or
PxlText
Displays a character string at the specified
coordinates.
Chapter 17: Programming
307
Drawing Lines and
Circles
Command
Description
Circle or
PxlCrcl
Draws, erases, or inverts a circle with a specified
center and radius.
DrawSlp
Draws a line with a specified slope through a
specified point.
Line or
PxlLine
Draws, erases, or inverts a line between two sets of
coordinates.
LineHorz or
PxlHorz
Draws, erases, or inverts a horizontal line at a
specified row coordinate.
LineTan
Draws a tangent line for a specified expression at a
specified point. (This draws the tangent line only,
not the expression.)
LineVert or
PxlVert
Draws, erases, or inverts a vertical line at a
specified column coordinate.
Drawing
Command
Description
Expressions
DrawFunc
Draws a specified expression.
DrawInv
Draws the inverse of a specified expression.
DrawParm
Draws a parametric equation using specified
expressions as its x and y components.
DrawPol
DrwCtour
Shade
Draws a specified polar expression.
Draws contours in 3D graphing mode.
Draws two expressions and shades the areas where
expression1 < expression2.
308
Chapter 17: Programming
Accessing Another TI-89/TI-92 Plus, a CBL 2/CBL, or a CBR
If you link two TI-89 / TI-92 Plus calculators (described in
Chapter 22), programs on both units can transmit variables
between them. If you link a TI-89 / TI-92 Plus to a Calculator-
Based Laboratoryé (CBL 2é/CBL™) or a Calculator-Based
Ranger™ (CBRé), a program on the TI-89 / TI-92 Plus can
access the CBL 2/CBL or CBR.
Use the Program Editor’s … I/O
toolbar menu to enter the commands
in this section.
… I/O Toolbar Menu
1. Press … and select 8:Link.
2. Select a command.
When two TI-89 / TI-92 Plus calculators are linked, one acts as a
receiving unit and the other as a sending unit.
Accessing Another
TI.89 / TI.92 Plus
Command
Description
GetCalc
Executed on the receiving unit. Sets up the unit to
receive a variable via the I/O port.
Note: For a sample program
that synchronizes the
receiving and sending units
so that GetCalc and
SendCalc are executed in
the proper sequence, refer
to “Transmitting Variables
under Program Control” in
Chapter 22.
¦
After the receiving unit executes GetCalc, the
sending unit must execute SendCalc.
¦
After the sending unit executes SendCalc, the
sent variable is stored on the receiving unit (in
the variable name specified by GetCalc).
SendCalc
SendChat
Executed on the sending unit. Sends a variable to
the receiving unit via the I/O port.
¦
Before the sending unit executes SendCalc, the
receiving unit must execute GetCalc.
Executed on the sending unit as a general
alternative to SendCalc. Useful if the receiving unit
is a TI-92 (or for a generic "chat" program that
allows either a TI-92 or TI-92 Plus to be used).
For additional information, refer to the manual that comes with the
CBL 2/CBL or CBR unit.
Accessing a
CBL 2/CBL or CBR
Command
Description
Get
Gets a variable from an attached CBL 2/CBL or CBR
and stores it in the TI-89 / TI-92 Plus.
Send
Sends a list variable from the TI-89 / TI-92 Plus to the
CBL 2/CBL or CBR.
Chapter 17: Programming
309
Debugging Programs and Handling Errors
After you write a program, you can use several techniques to
find and correct errors. You can also build an error-handling
command into the program itself.
The first step in debugging your program is to run it. The
TI-89 / TI-92 Plus automatically checks each executed command for
syntax errors. If there is an error, a message indicates the nature of
the error.
Run-Time Errors
¦
To display the program in the
Program Editor, press ¸.
The cursor appears in the
approximate area of the error.
¦
To cancel program execution and return to the Home screen,
press N.
If your program allows the user to select from several options, be
sure to run the program and test each option.
Run-time error messages can locate syntax errors but not errors in
program logic. The following techniques may be useful.
Debugging
Techniques
¦
During testing, do not use local variables so that you can check
the variable values after the program stops. When the program is
debugged, declare the applicable variables as local.
¦
Within a program, temporarily insert Disp and Pause commands
to display the values of critical variables.
−
Disp and Pause cannot be used in a user-defined function. To
temporarily change the function into a program, change Func
and EndFunc to Prgm and EndPrgm. Use Disp and Pause to
debug the program. Then remove Disp and Pause and change
the program back into a function.
¦
¦
To confirm that a loop is executed the correct number of times,
display the counter variable or the values in the conditional test.
To confirm that a subroutine is executed, display messages such
as "Entering subroutine" and "Exiting subroutine" at the beginning and
end of the subroutine.
Error-Handling
Commands
Command
Description
Try...EndTry
Defines a program block that lets the program
execute a command and, if necessary, recover from
an error generated by that command.
ClrErr
Clears the error status and sets the error number in
system variable Errornum to zero.
PassErr
Passes an error to the next level of the Try...EndTry
block.
310
Chapter 17: Programming
Example: Using Alternative Approaches
The preview at the beginning of this chapter shows a program
that prompts the user to enter an integer, sums all integers
from 1 to the entered integer, and displays the result. This
section gives several approaches that you can use to achieve
the same goal.
This example is the program given in the preview at the beginning of
the chapter. Refer to the preview for detailed information.
Example 1
:prog1()
:Prgm
:Request "Enter an integer",n
Prompts for input
in a dialog box.
Converts string entered
with Request to an
expression.
:expr(n)! n
:0! temp
:For i,1,n,1
: temp+i! temp
:EndFor
Loop calculation.
Displays output on
Program I/O screen.
:Disp temp
:EndPrgm
This example uses InputStr for input, a While...EndWhile loop to
calculate the result, and Text to display the result.
Example 2
:prog2()
:Prgm
:InputStr "Enter an integer",n
Prompts for input on
Program I/O screen.
Converts string entered
with InputStr to an
expression.
:expr(n)! n
:0! temp:1! i
:While in
: temp+i! temp
: i+1! i
Tip: For , type ¥ µ (zero).
For &, press:
TI.89: ¥ p (times)
TI.92 Plus: 2 H
Loop calculation.
:EndWhile
Displays output
in a dialog box.
:Text "The answer is "&string(temp)
:EndPrgm
This example uses Prompt for input, Lbl and Goto to create a loop,
and Disp to display the result.
Example 3
:prog3()
:Prgm
Prompts for input on
Program I/O screen.
:Prompt n
:0! temp:1! i
:Lbl top
: temp+i! temp
: i+1! i
Note: Because Prompt
returns n as a number, you
do not need to use expr to
convert n.
Loop calculation.
: If in
:
Goto top
Displays output on
Program I/O screen.
:Disp temp
:EndPrgm
Chapter 17: Programming
311
This example uses Dialog...EndDlog to create dialog boxes for input
and output. It uses Loop...EndLoop to calculate the result.
Example 4
:prog4()
:Prgm
:Dialog
: Title "Enter an integer"
: Request "Integer",n
:EndDlog
Defines a dialog box
for input.
Converts string entered
with Request to an
expression.
:expr(n)! n
:0! temp:0! i
:Loop
: temp+i! temp
: i+1! i
: If i>n
Loop calculation.
:
Exit
:EndLoop
:Dialog
: Title "The answer is"
: Text string(temp)
:EndDlog
Defines a dialog
box for output.
:EndPrgm
This example uses the TI-89 / TI-92 Plus built-in functions to calculate
the result without using a loop.
Example 5
:prog5()
:Prgm
:Input "Enter an integer",n
Prompts for input on
Program I/O screen.
Note: Because Input
returns n as a number, you
do not need to use expr to
convert n.
Calculates sum.
:sum(seq(i,i,1,n))! temp
:Disp temp
:EndPrgm
Displays output on
Program I/O screen.
Function
Used in this example to:
seq
Generate the sequence of integers from 1 to n.
seq(expression, var, low, high [,step])
increment for var ;
if omitted, uses 1.
initial and final values of var
variable that will be incremented
expression used to generate the sequence
sum
Sum the integers in the list generated by seq.
312
Chapter 17: Programming
Assembly-Language Programs
You can run programs written for the TI-89 / TI-92 Plus in
assembly language. Typically, assembly-language programs
run much faster and provide greater control than the keystroke
programs that you write with the built-in Program Editor.
Assembly-language programs, as well as
keystroke programs, are available on
the Texas Instruments web site at:
Where to Get
Assembly-Language
Programs
education.ti.com
education.ti.com
The programs available from this site
provide additional functions or
features that are not built into the
TI-89 / TI-92 Plus. Check the Texas
via TI-GRAPH LINK cable
Instruments web site for up-to-date
information.
After downloading a program from the
TI-89
web to your computer, use a TI-GRAPH
LINKé computer-to-calculator cable to
send the program to your
TI-89 / TI-92 Plus. Refer to the manual
that comes with the TI-GRAPH LINK
cable.
If you have a TI-GRAPH LINK computer-to-calculator cable and
software for the TI-92, be aware that the TI-92 TI-GRAPH LINK
software is not compatible with the TI-89 / TI-92 Plus. The cable,
however, works with both units. For information about obtaining
TI™ Connect or TI-GRAPH LINK software or a TI-GRAPH LINK cable,
check the Texas Instruments web site at education.ti.com or contact
Texas Instruments as described in Appendix C of this guidebook.
Note about
TI.GRAPH LINK
After a TI-89 / TI-92 Plus assembly-language program is stored on your
unit, you can run the program from the Home screen just as you
would any other program.
Running an
Assembly-Language
Program
If the program requires one or more arguments,
type them within the ( ). Refer to the program’s
documentation to find out about required
arguments.
Tip: If the program is not in
the current folder, be sure to
specify the pathname.
You can call an assembly-language program from another program as
a subroutine, delete it, or use it the same as any other program.
Chapter 17: Programming
313
On the Home screen, you can use keyboard shortcuts to run up to
nine user-defined or assembly-language programs. However, the
programs must have the following names.
Shortcuts to Run a
Program
On Home screen, press: To run a program, if any, named:
Note: The programs must
be stored in the MAIN folder.
Also, you cannot use a
shortcut to run a program
that requires an argument.
¥ 1
©
kbdprgm1()
©
¥ 9
kbdprgm9()
If you have a program with a different name and you would like to
run it with a keyboard shortcut, copy or rename the existing program
to kbdprgm1(), etc.
You cannot use your TI-89 / TI-92 Plus to edit an assembly-language
program. The built-in Program Editor will not open assembly-
language programs.
You Cannot Edit an
Assembly-Language
Program
To list the assembly-language programs stored in memory:
1. Display the VAR-LINK screen (2 °).
2. Press „ View.
Displaying a List of
Assembly-Language
Programs
3. Select the applicable folder
(or All folders) and set
Var Type = Assembly.
Note: Assembly-language
programs have an ASM
data type.
4. Press ¸ to display the
list of assembly-language
programs.
The information required to teach a novice programmer how to write
an assembly-language program is beyond the scope of this book.
However, if you have a working knowledge of assembly language,
please check the Texas Instruments web site (education.ti.com)
for specific information about how to access TI-89 / TI-92 Plus features.
For Information
about Writing an
Assembly-Language
Program
Note: You must use a
The TI-89 / TI-92 Plus also includes an Exec command that executes a
string consisting of a series of Motorola 68000 op-codes. These codes
act as another form of an assembly-language program. Check the Texas
Instruments web site for available information.
computer to write assembly-
language programs. You
cannot create assembly-
language programs from the
calculator keyboard.
Warning: Exec gives you access to the full power of the
microprocessor. Please be aware that you can easily make a mistake
that locks up the calculator and causes you to lose your data. We
suggest you make a backup of the calculator contents before
attempting to use the Exec command.
314
Chapter 17: Programming
Text Editor
Preview of Text Operations.................................................................. 316
Starting a Text Editor Session.............................................................. 317
Entering and Editing Text..................................................................... 319
Entering Special Characters.................................................................. 324
Entering and Executing a Command Script ....................................... 328
Creating a Lab Report............................................................................ 330
18
This chapter shows you how to use the Text Editor to enter and
edit text. Entering text is simple; just begin typing. To edit text,
you can use the same techniques that you use to edit information
on the Home screen.
Each time you start a new text session, you must specify the
name of a text variable. After you begin a session, any text that
you type is stored automatically in the associated text variable.
You do not need to save a session manually before leaving the
Text Editor.
Chapter 18: Text Editor
315
Preview of Text Operations
Start a new Text Editor session. Then practice using the Text Editor by typing whatever
text you want. As you type, practice moving the text cursor and correcting any typos you
may enter.
Steps
³
›
Display
TI.89
Keystrokes
TI.92 Plus
Keystrokes
O 83
O 83
1. Start a new session on the Text
Editor.
2. Create a text variable called
TEST, which will automatically
store any text you enter in the
new session.
D
D
TEST
¸ ¸
TEST
¸ ¸
Use the MAIN folder, shown as the
default on the NEW dialog box.
After typing in an input box such as
Variable, you must press ¸ twice.
3. Type some sample text.
2 ™
type
anything
you
type
anything
you
• To type a single uppercase letter,
press ¤ and then the letter.
TI-89 only:
want
− To type a space, press j
want
(alpha function of the · key).
− To type a period, press j to
turn alpha-lock off, press ¶, and
then press 2 ™ to turn alpha-
lock on again.
Practice editing your text by using:
• The cursor pad to move the text cursor.
• 0 or ¥ 8 to delete the character
to the left or right of the cursor,
respectively.
4. Leave the Text Editor and
display the Home screen.
"
¥ "
Your text session was stored
automatically as you typed. Therefore,
you do not need to save the session
manually before exiting the Text Editor.
O 81
O 81
5. Return to the current session on
the Text Editor.
6. Notice that the displayed session
is exactly the same as you left it.
316
Chapter 18: Text Editor
Starting a Text Editor Session
Each time you start the Text Editor, you can start a new text
session, resume the current session (the session that was
displayed the last time you used the Text Editor), or open a
previous session.
1. Press O and then select
Starting a New
Session
8:Text Editor.
2. Select 3:New.
The NEW dialog box is
displayed.
3. Specify a folder and text
variable that you want to
use to store the new
session.
Item
Description
Type
Automatically set as Text and cannot be changed.
Folder
Shows the folder in which the text variable will be
stored. For information about folders, refer to
Chapter 5.
To use a different folder, press B to display a menu
of existing folders. Then select a folder.
Variable
Type a variable name.
If you specify a variable that already exists, an error
message will be displayed when you press ¸.
When you press N or ¸ to acknowledge the
error, the NEW dialog box is redisplayed.
4. Press ¸ (after typing in an input box such as Variable, you
must press ¸ twice) to display an empty Text Editor screen.
Note: Your session is saved
automatically as you type.
You do not need to save a
session manually before
leaving the Text Editor,
A colon marks the
beginning of a
paragraph.
starting a new session, or
opening a previous one.
The blinking cursor
shows where typed
text will appear.
You can now use the Text Editor as described in the remaining
sections of this chapter.
Chapter 18: Text Editor
317
You can leave the Text Editor and go to another application at any
time. To return to the session that was displayed when you left the
Text Editor, press O 8 and select 1:Current.
Resuming the
Current Session
To leave the current Text Editor
session and start a new one:
Starting a New
Session from the
Text Editor
1. Press ƒ and select 3:New.
2. Specify a folder and text
variable for the new session.
3. Press ¸ twice.
You can open a previous Text Editor session at any time.
Opening a Previous
Session
1. From within the Text Editor, press ƒ and select 1:Open.
— or —
From any application, press O 8 and select 2:Open.
Note: By default, Variable
shows the first existing text
variable in alphabetic order.
2. Select the applicable folder
and text variable.
3. Press ¸.
In some cases, you may want to copy a session so that you can edit
the copy while retaining the original.
Copying a Session
1. Display the session you want to copy.
2. Press ƒ and select 2:Save Copy As.
3. Specify the folder and text variable for the copied session.
4. Press ¸ twice.
Because all Text Editor sessions are saved automatically, you can
accumulate quite a few previous sessions, which take up memory
storage space.
Note about
Deleting a Session
To delete a session, use the VAR-LINK screen (2°) to
delete that session’s text variable. For information about VAR-LINK,
refer to Chapter 21.
318
Chapter 18: Text Editor
Entering and Editing Text
After beginning a Text Editor session, you can enter and edit text.
In general, use the same techniques that you have already used
to enter and edit information on the Home screen’s entry line.
When you create a new Text Editor session, you see an empty
screen. When you open a previous session or return to the current
session, you see the existing text for that session.
Typing Text
All text paragraphs
begin with a space
and a colon.
Note: Use the cursor pad to
scroll through a session or
position the text cursor.
The beginning
Tip: Press 2 C or 2 D
to scroll up or down one
screen at a time, and ¥ C
or ¥ D to go to the top or
bottom of the text session.
space is used in
command scripts
and lab reports.
Blinking text cursor
Tip: If you have a
You do not need to press ¸ at the end of each line. At the end of
a line, the next character you type wraps to the next line. Press
¸ only when you want to start a new paragraph.
TI-GRAPH LINK™ cable,
you can use a computer
keyboard to type lengthy
text and then send it to the
calculator. Refer to
As you reach the bottom of the screen, previous lines scroll off the
top of the screen.
page 322.
Typing Alphabetic
Characters
To:
On the TI.89, press:
j and then the letter key the letter key
(status line shows
On the TI.92 Plus, press:
Type a single
lowercase
alpha
)
character.
Note: On the TI-89, you do
not need j or alpha-lock
to type x, y, z, or t. But you
must use ¤ or uppercase
ALPHA-lock for X, Y, Z, or T.
Type a single
uppercase
alpha
¤ and then the letter key ¤ and then the letter key
(status line shows
)
+
(status line shows
)
+
character.
Type a space.
j (alpha function
spacebar
of the · key)
Turn on
2 ™
(no action needed)
lowercase
alpha-lock.
(status line shows
)
)
Note: On the TI-89, alpha-
lock is always turned off
when you change
Turn on
uppercase
ALPHA-lock.
¤ ™
(status line shows
2 ¢
applications, such as going
from the Text Editor to the
Home screen.
Turn off alpha- j (turns off upper-
lock. and lowercase lock)
2 ¢ (turns off
uppercase lock)
Chapter 18: Text Editor
319
On the TI-89, while either type of alpha-lock is on:
Typing Alphabetic
Characters
(continued)
¦
To type a period, comma, or other character that is the primary
function of a key, you must turn alpha-lock off.
¦
To type a second function character such as 2 [, you do not
need to turn alpha-lock off. After you type the character, alpha-
lock remains on.
Deleting Characters
To delete:
Press:
The character to the left of the cursor
0 or ƒ 7
The character to the right of the cursor
¥ 8 (same as ¥ 0)
Note: If there are no
All characters to the right of the cursor
through the end of the paragraph
M
characters to the right of the
cursor, M erases the
entire paragraph.
All characters in the paragraph (regardless MM
of the cursor’s position in that paragraph)
Highlighting Text
To:
Do this:
Highlight text
1. Move the cursor to the beginning or end of
the text.
2. Hold ¤ and press:
¦
A or B to highlight characters to the left
or right of the cursor, respectively.
Tip: To remove highlighting
without replacing or
deleting, move the cursor.
¦
D or C to highlight all characters up to
the cursor position on the next or
previous line, respectively.
Replacing or
Deleting Highlighted
Text
To:
Do this:
Replace
highlighted text
Type the new text.
Delete
Press 0.
highlighted text
320
Chapter 18: Text Editor
Cutting and copying both place highlighted text into the clipboard of
the TI-89 / TI-92 Plus. Cutting deletes the text from its current location
(used to move text) and copying leaves the text.
Cutting, Copying,
and Pasting Text
1. Highlight the text you want to move or copy.
2. Press ƒ.
Tip: You can press:
TI.89:
¥ 5, ¥ 6, ¥ 7
3. Select the applicable menu item.
TI.92 Plus:
¦
¦
To move the text, select 4:Cut.
— or —
To copy the text, select 5:Copy.
¥ X , ¥ C , ¥ V
to cut, copy, and paste
without having to use the ƒ
toolbar menu.
4. Move the text cursor to the location where you want to insert the
text.
5. Press ƒ and then select 6:Paste.
You can use this general procedure to cut, copy, and paste text:
¦
¦
Within the same text session.
From one text session to another. After cutting or copying text in
one session, open the other session and then paste the text.
¦
From a text session to a different application. For example, you
can paste the text into the Home screen’s entry line.
From the Text Editor:
Finding Text
1. Place the text cursor at any location preceding the text you want
to search for. All searches start at the current cursor location.
Tip: The FIND dialog box
retains the last search text
you entered. You can type
over it or edit it.
2. Press ‡.
3. Type the search text.
The search is not case sensitive.
For example: CASE, case, and
Case have the same effect.
4. Press ¸ twice.
If the search text is:
The cursor:
Found
Moves to beginning of the search text.
Not found
Does not move.
Chapter 18: Text Editor
321
By default, the TI-89 / TI-92 Plus is in insert mode. To toggle between
insert and overtype mode, press 2/.
Inserting or
Overtyping a
Character
If the TI.89 / TI.92 Plus is in:
The next character you type:
Will be inserted at the cursor.
Tip: Look at the shape of
the cursor to see if you’re in
insert or overtype mode.
Thin cursor between
characters
Will replace the highlighted
character.
Cursor highlights
a character
To erase all existing paragraphs and display an empty text screen,
press ƒ and then select 8:Clear Editor.
Clearing the Text
Editor
If you have an optional TI-GRAPH LINK™ computer-to-calculator
cable and software for the TI-89 / TI-92 Plus, you can use the
computer keyboard to type a text file and then send that file to the
TI-89 / TI-92 Plus. This is useful if you need to create a lengthy text
file.
Using a Computer
and TI-GRAPH LINK
to Enter Text
For information about obtaining a TI-GRAPH LINK cable and software
or upgrading your existing TI™ Connect or TI-GRAPH LINK software
for use with the TI-89 / TI-92 Plus, check the TI web site at:
education.ti.com
or contact Texas Instruments as described in Appendix C.
For complete instructions on how to create a text file on a computer
and send it to your calculator, refer to the manual that comes with
the TI-GRAPH LINK. The general steps are:
1. Use the TI-GRAPH LINK software to create a new text file.
a. In the software, select New from the File menu. Then select
either TI-89 Data File or TI-92 Plus Data File and click OK. An
untitled edit window is displayed.
Note: On the calculator, the
name of the text variable will
be the name you enter in
Step 1b, not the file name in
Step 1c.
b. In the Name box at the top of the edit window, type the name
you want to use for the text variable on the TI-89 / TI-92 Plus.
Then type the applicable text.
c. From the File menu, select Save As. In the dialog box, type a
File Name, select Text as the File Type, select a directory, and
click OK.
322
Chapter 18: Text Editor
2. Use the TI-GRAPH LINKé software to send the file from the
computer to the TI-89 / TI-92 Plus.
a. Use the TI-GRAPH LINK cable to connect the computer and
the calculator.
b. Be sure the TI-89 / TI-92 Plus is on the Home screen.
c. In the software, select Send from the Link menu. Select the
text file and click Add to add it to the Files Selected list. Then
click OK.
d. When notified that the sending process is complete, click OK.
3. On the TI-89 / TI-92 Plus, use the Text Editor to open the text
variable.
Chapter 18: Text Editor
323
Entering Special Characters
You can use the CHAR menu to select any special character
from a list. You can also type certain commonly used
characters from the keyboard. To see which characters are
available from the keyboard, you can display a map that
shows the characters and their corresponding keys.
1. Press 2¿.
Selecting
Characters from the
CHAR Menu
2. Select the applicable category.
A menu lists the characters in
that category.
3. Select a character. You may
need to scroll through the
menu.
ï indicates that
you can scroll.
For accented characters, select
International. Commonly used
international characters are also
available from the default custom
menu (2 ¾).
The keyboard map shows several shortcuts that let you enter certain
special characters from the keyboard. It also shows some shortcuts
for other calculator features.
Displaying the
Keyboard Map
The keyboard map does not display all available shortcuts. Refer to
the inside front and the inside back covers of this guidebook for a
complete list of shortcut keys.
On the TI.89:
On the TI.92 Plus:
Press ¥ ^ to display the
Press ¥ ” to display the
keyboard map.
keyboard map.
Press N to exit the map.
Press N to exit the map.
TI.92 Plus Keyboard map
TI.89 Keyboard map
To access the TI-89 shortcuts, To access the TI-92 Plus shortcuts,
first press the ¥ key.
first press the 2 key. Some
special characters are marked on
the keyboard, but most are not.
Calculator features accessed from the keyboard map are discussed
on the next page.
324
Chapter 18: Text Editor
TI.89 keyboard map feature
TI.92 Plus keyboard map feature
shortcuts:
shortcuts:
GREEK (¥ c) — Accesses the
Greek character set (described
later in this section).
GREEK (2 G) — Accesses the
Greek character set (described
later in this section).
SYSDATA (¥ b) — Copies the
CAPS (2 ¢)— Turns Caps
current graph coordinates to the Lock on and off.
system variable sysdata.
Accent marks — (é, ü, ô, à, ç, and ~)
FMT (¥ Í) — Displays the
FORMATS dialog box.
are added to the next letter you
press (described later in this
section).
KBDPRGM1 – 9 (¥1 through
¥9) — If you have user-defined
or assembly-language programs
named kbdprgm1() through
kbdprgm9(), these shortcuts run
the corresponding program.
OFF (¥ ®) — Similar to
2 ® except:
¦
You can use ¥ ® if an error
message is displayed.
¦
When you turn the TI-89 on
again, it will be exactly as
you left it.
HOMEDATA (¥ ·) — Copies
the current graph coordinates to
the Home screen’s history area.
Typing Special
Symbols from the
Keyboard
On the TI.89:
On the TI.92 Plus:
Press ¥ and then the key for the Press 2 and then the key for
symbol.
the symbol.
For example: ¥ p (times)
For example: 2 H displays &.
displays &.
Note: To help you find the
applicable keys, these maps
show only the special
symbols.
These special symbols are not
affected by whether Caps Lock is
on or off.
These special symbols are not
affected by whether Alpha-Lock
is on or off.
Chapter 18: Text Editor
325
Pressing an accent mark key does
not display an accented letter. The
accent mark will be added to the
next letter you press.
Typing Accent
Marks from the
TI.92 Plus Keyboard
1. Press 2 and then the key
Note: To help you find the
applicable keys, this map shows
only the accent mark keys.
for the accent mark.
2. Press the key for the letter you want to accent.
¦
¦
You can accent lowercase and uppercase letters.
An accent mark can be added to only those letters that are
valid for that mark.
Accent
Mark
Valid Letters
(lowercase or uppercase)
Examples
é, É
A, E, I, O, U, Y
A, E, I, O, U, y (but not Y)
A, E, I, O, U
A, E, I, O, U
C
´
¨
ˆ
ü, Ü
ô, Ô
à, À
ç, Ç
`
ç
A, O, N
ñ, Ñ
~
Press the key combination that accesses the Greek character set on
your calculator. Then select the applicable alpha character on the
keyboard to enter a Greek letter.
Typing Greek
Letters from the
Keyboard
On the TI.89:
On the TI.92 Plus:
Press ¥ c to access the Greek Press 2 G to access the Greek
character set.
character set.
Ω
Ω
Π
Note: Neither calculator
displays a map of Greek
letters. The maps shown
here are for reference only.
ξ
X
ψ
Y
ζ
Z
τ
T
Π
ω
ε
ρ
τ
ψ
π
W
T
U
P
Q
E
R
Y
I
O
∆
β
B
α
A
ε
E
δ
Σ
∆
Γ
C
H
D
I
α
σ
δ
φ
γ
λ
Γ
A
S
D
F
G
H
J
K
L
γ
φ
F
G
J
O
U
ζ
ξ
β
µ
Z
X
C
V
B
N
M
q
µ
M
λ
L
K
N
Σ
Π
ρ
R
σ
π
P
V
Q
S
Ω
ω
W
If you press a key combination that does not access a Greek letter,
you get the normal letter for that key.
326
Chapter 18: Text Editor
Several keys let you access lowercase and uppercase Greek letters.
For example:
On the TI.89:
On the TI.92 Plus:
1. Press ¥ c to access the
1. Press 2 G to access the
Greek character set.
Greek character set.
2. Press ¥ c j + letter to
access lowercase Greek
letters. Example:
2. Press 2 G + letter to access
lowercase Greek letters.
Example:
¥ c j [W] displays ω
2 G W displays ω
3. Press ¥ c ¤ + letter to
access uppercase Greek
letters. Example:
3. Press 2 G ¤ + letter to
access uppercase Greek
letters. Example:
¥ c ¤ [W] displays Ω
2 G ¤ W displays Ω
The exact keys that you press on the TI-89 depend on whether alpha-
lock is on or off. For example:
On the TI.89, if:
Then:
Alpha-lock is off.
¥ c X or ¥ c j X displays ξ.
j is not required
for X, Y, Z, or T.
¥ c j W displays ω.
¥ c ¤ W displays Ω.
¤ is used for
uppercase letters.
Important: If you press
j on the TI-89 to access
a Greek letter while alpha-
lock is on, it turns alpha-lock
off.
Lowercase alpha-lock
(2 ™) is on.
¥ c X displays ξ.
¥ c W displays ω.
¥ c ¤ W displays Ω.
Uppercase ALPHA-LOCK
(¤ ™) is on.
¥ c X displays ξ.
¥ c W displays Ω.
¥ c ¤ W displays Ω.
For a list of all special characters, refer to Appendix B.
For a List of All
Special Characters
Chapter 18: Text Editor
327
Entering and Executing a Command Script
By using a command script, you can use the Text Editor to
type a series of command lines that can be executed at any
time on the Home screen. This lets you create interactive
example scripts in which you predefine a series of commands
and then execute them individually.
In the Text Editor:
Inserting a
Command Mark
1. Place the cursor on the line for the command.
2. Press „ to display the
Note: This does not insert a
new line for the command, it
simply marks an existing
line as a command line.
Command toolbar menu.
3. Select 1:Command.
“C” is displayed at the beginning
of the text line (to the left of the
colon).
4. Type a command just
as you would on the
Home screen.
Tip: You can mark a line as
a command either before or
after typing the command on
that line.
The line can contain
only the command,
with no additional text.
You can type multiple commands on the same line if you type a
colon to separate the commands.
This deletes only the “C” mark; it does not delete the command text
itself.
Deleting a
Command Mark
1. Place the cursor anywhere on the marked line.
2. Press „ and select 4:Clear command.
To execute a command, you must first mark the line with a “C”. If
you execute a line that is not marked with “C”, it will be ignored.
Executing a
Command
1. Place the cursor anywhere on the command line.
2. Press †.
Tip: To examine the result
on the Home screen, use a
split screen or press:
TI.89: "
The command is copied to the entry line on the Home screen and
executed. The Home screen is displayed temporarily during
execution, and then the Text Editor is redisplayed.
TI.92 Plus: ¥ "
After execution, the cursor moves to the next line in the script so
that you can continue to execute a series of commands.
328
Chapter 18: Text Editor
With a split screen, you can view your command script and see the
result of an executed command at the same time.
Splitting the
Text Editor/
Home Screen
To:
Press:
Split the screen
… and select
1:Script view.
Return to a full
… and select
screen Text Editor 2:Clear split.
You can also use 3 to set up a split screen manually. However,
… sets up a Text Editor/Home screen split much easier than 3.
¦
The active application is indicated by a thick border. (By default,
the Text Editor is the active application.)
¦
To switch between the Text Editor and the Home screen, press
2a (second function of O).
From the Home screen, you can save all the entries in the history
area to a text variable. The entries are automatically saved in a script
format so that you can open the text variable in the Text Editor and
execute the entries as commands.
Creating a Script
from Your Home
Screen Entries
For information, refer to “Saving the Home Screen Entries as a Text
Editor Script” in Chapter 5.
1. Type your script. Press „
and select 1:Command to
mark the command lines.
Example
2. Press … and select
1:Script view.
3. Move the cursor to the first
command line. Then press
† to execute the command.
Note: Some commands
take longer to execute. Wait
until the Busy indicator
disappears before pressing
† again.
4. Continue using † to execute
each command, but stop just
before executing the
Graph command.
5. Execute the Graph
Note: In this example, the
Graph command displays
the Graph screen in place of
the Home screen.
command.
6. Press … and select
2:Clear split to return to a full
screen Text Editor.
Chapter 18: Text Editor
329
Creating a Lab Report
If you have a TI-GRAPH LINKé cable, an optional accessory
that lets the TI-89 / TI-92 Plus communicate with a personal
computer, you can create lab reports. Use the Text Editor to
write a report, which can include print objects. Then use the
TI-GRAPH LINK software to print the report on the printer
attached to the computer.
In the Text Editor, you can specify a variable name as a print object.
When you print the report by using TI-GRAPH LINK, the
TI-89 / TI-92 Plus substitutes the contents of the variable (an
expression, picture, list, etc.) in place of the variable name.
Print Objects
In the Text Editor:
Inserting a Print
Object Mark
1. Place the cursor on the line for the print object.
2. Press „ to display the
Command toolbar menu.
3. Select 3:PrintObj.
Note: This does not insert a
new line for the print object,
it simply marks an existing
line as a print object.
“P” is displayed at the beginning of the
text line (to the left of the colon).
Tip: You can mark a line as
a print object either before
or after typing a variable
name on that line.
4. Type the name of the variable that contains the print object.
The line can contain
only the variable
name, with no
additional text.
When you print a lab report, page breaks occur automatically at the
bottom of each printed page. However, you can manually force a
page break at any line.
Inserting a Page
Break Mark
1. Place the cursor on the line that you want to print on the top of
the next page. (The line can be blank or you can enter text on it.)
2. Press „ and select 2:Page break.
A “Î ” is displayed at the beginning of the line (to the left of the
colon).
This deletes only the “P” or “Î ” mark; it does not delete any text that
is on the line.
Deleting a Print
Object or Page
Break Mark
1. Place the cursor anywhere on the marked line.
2. Press „ and select 4:Clear command.
330
Chapter 18: Text Editor
Printing the Report
General Steps
For Detailed Information
1. Connect the
Refer to the manual that came
TI-89 / TI-92 Plus to your
computer via the TI-GRAPH
LINK cable.
with your TI-GRAPH LINK.
2. Use the TI-GRAPH LINK
software to get the lab
report from the calculator,
and then print the report.
Assume you have stored:
Example
¦
A function as y1(x)
(specify y1, not y1(x)).
¦
¦
A graph picture as pic1.
Applicable information in
variables der and sol.
When you print the lab report,
the contents of the print
objects are printed in place of
their variable names.
My assignment was to study the function:
.1*x^3ì.5*x+3
The three parts were:
1. Graph the function.
2. Find its derivative.
.3*x^2ì.5
Note: To store the
derivative to variable der,
enter: d(y1(x),x)! der
3. Look for critical points.
x=1.29099 or x=ì 1.29099
Note: To store the
derivative’s critical points to
variable sol, enter:
solve(der=0,x)! sol
In cases where a graph picture cannot fit on the current page, the
entire picture is shifted to the top of the next page.
Chapter 18: Text Editor
331
332
Chapter 18: Text Editor
Numeric Solver
Preview of the Numeric Solver ............................................................ 334
Displaying the Solver and Entering an Equation ............................... 335
Defining the Known Variables.............................................................. 337
Solving for the Unknown Variable....................................................... 339
Graphing the Solution............................................................................ 340
19
The Numeric Solver lets you enter an expression or equation,
define values for all but one unknown variable, and then solve for
the unknown variable.
Note: To solve for the
unknown variable from the
Home screen or a program,
use nSolve() as described
in Appendix A.
After entering an equation
and its known values,
place the cursor on the
unknown variable and
press „.
You can also graph the solution.
The x axis is the unknown
variable. The y axis is the
left–rt value, which gives
the solution’s accuracy.
The solution is precise
where the curve crosses
the x axis.
As in the example above, the Numeric Solver is often used to
solve closed-form equations. But it also gives you a quick way to
solve equations such as transcendental equations in which there
is no closed form.
For example, you could rearrange the following equation
manually to solve for any of the variables.
a = (m2 ì m1) / (m2 + m1) ù g
m1 = (g ì a) / (g + a) ù m2
With an equation such as the following, however, it may not be as
easy to solve for x manually.
y = x + ex
The Numeric Solver is
particularly useful for such
equations.
Chapter 19: Numeric Solver
333
Preview of the Numeric Solver
Consider the equation a=(m2ì m1)/(m2+m1)ù g, where the known values are m2=10 and
g=9.8. If you assume that a=1/3 g, find the value of m1.
³
›
TI-89
Keystrokes
TI-92 Plus
Keystrokes
Steps
Display
O 9
O 9
1. Display the Numeric Solver.
2. Enter the equation.
j A Á c
A Á c
j M 2 |
j M 1 d e c M 1 d e c
j M 2 «
M 2 |
When you press ¸ or D, the
screen lists the variables used in the
equation.
M 2 «
j M 1 d p
j G ¸
M 1 d p
G ¸
3. Enter values for each variable,
except the unknown variable
m1.
D 1 0 D D
9 . 8 C C C
j G e 3
D 1 0 D D
9 . 8 C C C
G e 3
Define m2 and g first. Then define a.
(You must define g before you can
define a in terms of g.) Accept the
default for bound. If a variable has
been defined previously, its value is
shown as a default.
4. Move the cursor to the unknown
D D
D D
variable m1.
Optionally, you can enter an initial
guess for m1. Even if you enter a
value for all variables, the Numeric
Solver solves for the variable marked
by the cursor.
g/3 is evaluated when you
move the cursor off the line.
5. Solve for the unknown variable.
„
„
To check the solution’s accuracy, the
left and right sides of the equation are
evaluated separately. The difference
is shown as leftì rt. If the solution is
precise, leftì rt=0.
é marks the calculated values.
6. Graph the solution using a
… 3
… 3
ZoomStd viewing window.
The graph is displayed in a split
screen. You can explore the graph by
tracing, zooming, etc.
7. Return to the Numeric Solver
and exit the split screen.
The variable marked by the
cursor (unknown variable
m1) is on the x axis, and
leftìrt is on the y axis.
2 a
… 2
2 a
… 2
You can press ¸ or D to
redisplay the list of variables.
334
Chapter 19: Numeric Solver
Displaying the Solver and Entering an Equation
After you display the Numeric Solver, start by entering the
equation that you want to solve.
To display the Numeric Solver, press
O 9.
Displaying the
Numeric Solver
The Numeric Solver screen shows the
last entered equation, if any.
On the eqn: line, type in your
equation.
Entering an
Equation
You can:
For example:
Tips: In your equation:
Type an equation
directly.
a=(m2ì m1)/(m2+m1)ù g
a+b=c+sin(d)
•
Do not use system
function names (such as
y1(x) or r1(q)) as simple
variables (y1 or r1).
Refer to a function or Suppose you defined y1(x) on either the:
equation defined
elsewhere.
¦
¦
Y= Editor: y1(x)=1.25xù cos(x)
– or –
Home screen: Define y1(x)=1.25xù cos(x)
•
Be careful with implied
multiplication. For
example, a(m2+m1) is
treated as a function
reference, not as
In the Numeric Solver, you then would enter:
aù (m2+m1).
y1(x)=0 or y1(t)=0, etc.
The argument does not have to
match the one used to define the
function or equation.
Note: When you define the
variables, you can either
define exp or solve for it.
Type an expression
without an = sign.
e+fì ln(g)
After you press ¸, the expression is set
equal to a system variable called exp and
entered as:
exp=e+fì ln(g)
Note: After you press ¸
the current equation is
stored automatically to the
system variable eqn.
Recall a previously
entered equation or
open a saved
Refer to the applicable heading later in this
section.
equation.
Chapter 19: Numeric Solver
335
Your most recently entered equations (up to 11 with the default
setting) are retained in memory. To recall one of these equations:
Recalling Previously
Entered Equations
1. From the Numeric Solver
screen, press ‡.
A dialog box displays the most
recently entered equation.
Tip: You can specify how
many equations are retained.
From the Numeric Solver,
press ƒ and select 9:Format
(or use TI-89: ¥ Í
2. Select an equation.
¦
To select the displayed
equation, press ¸.
TI-92 Plus: ¥ F). Then select
a number from 1 through 11.
¦
To select a different
equation, press B to display
a list. Then select the one
you want.
Only unique equations are
listed. If you re-enter the
same equation 5 times, it
appears only once.
3. Press ¸.
Because the number of equations that you can recall with ‡ Eqns is
limited, a particular equation may not be retained indefinitely.
Saving Equations
for Future Use
To store the current equation for future
use, save it to a variable.
1. From the Numeric Solver screen,
press ƒ and select 2:Save Copy As.
Note: An equation variable
has an EXPR data type, as
shown on the MEMORY and
VAR-LINK screens.
2. Specify a folder and a variable
name for the equation.
3. Press ¸ twice.
To open a previously saved equation
variable:
Opening a Saved
Equation
1. From the Numeric Solver screen,
press ƒ and select 1:Open.
2. Select the applicable folder and
equation variable.
3. Press ¸.
Variable eqn contains the current
equation; it always appears
alphabetically in the list.
336
Chapter 19: Numeric Solver
Defining the Known Variables
After you type an equation in the Numeric Solver, enter the
applicable values for all variables except the unknown
variable.
After typing your equation on
the eqn: line, press ¸ or D.
Defining the List of
Variables
The screen lists the variables in
the order they appear in the
equation. If a variable is already
defined, its value is shown. You
can edit these variable values.
Note: If an existing variable
is locked or archived, you
cannot edit its value.
The solution must be within
the specified bounds, which
you can edit.
Enter a number or expression for all variables except the one you
want to solve for.
¦
If you define a variable:
Notes and
Common Errors
−
−
In terms of another
variable in the equation,
that variable must be
defined first.
Since a is defined in terms
of g, you must define g
before a. When you move
the cursor to another line,
g/3 is evaluated.
In terms of another
variable that is not in the
equation, that variable
must already have a
value; it cannot be
undefined.
−
As an expression, it is evaluated when you move the cursor off
the line. The expression must evaluate to a real number.
Note: When you assign a
value to a variable in the
Numeric Solver, that
variable is defined globally.
It still exists after you leave
the solver.
¦
¦
If the equation contains a
variable already defined in
terms of other variables,
those other variables are
listed.
If variable a was defined
previously as b+c!a, then b
and c are listed instead of a.
If you refer to a previously
defined function, any
variables used as
arguments in the function
call are listed, not the
variables used to define
the function.
If f(a,b) was defined previously
as ‡(a^2+b^2) and your
equation contains f(x,y), then x
and y are listed, not a and b.
Chapter 19: Numeric Solver
337
Note: You cannot solve for
a system variable other than
exp. Also, if the equation
contains a system variable,
you cannot use … to graph.
¦
If the equation contains a
system variable (xmin, xmax,
etc.), that variable is not
listed. The solver uses the
system variable’s existing
value.
In the standard viewing window,
xmax=10.
¦
¦
Although you can use a
system variable in the
equation, an error occurs if
you use … to graph the
solution.
Note: This error occurs if
you use a reserved name
incorrectly or refer to an
undefined system function
as a simple variable without
parentheses.
If you see the error shown
to the right, delete the
entered variable value. Then
edit the equation to use a
different variable.
For example, y1(x) is undefined
and you use y1.
In the Numeric Solver, press C until the cursor is on the equation.
The screen automatically changes to show only the eqn: line. Make
your changes, and then press ¸ or D to return to the list of
variables.
Editing the Equation
To find a solution more quickly or to find a particular solution
(if multiple solutions exist), you can optionally:
Specifying an Initial
Guess and/or
Bounds (Optional)
¦
Enter an initial guess for
the unknown variable.
The guess must be within
the specified bounds.
Tip: To select an initial
guess graphically, refer to
pages 340 and 341.
¦
Enter lower and upper
bounds close to the
solution.
Initial guess must be
within the bounds.
For the bounds, you can also enter variables or expressions that
evaluate to appropriate values (bound={lower,upper}) or a valid list
variable that contains a two-element list (bound=list). The bounds
must be two floating point elements with the first one less than or
equal to the second one.
338
Chapter 19: Numeric Solver
Solving for the Unknown Variable
After you type an equation in the Numeric Solver and enter
values for the known variables, you are ready to solve for the
unknown variable.
With all known variables
defined:
Finding the Solution
1. Move the cursor to the
unknown variable.
Put the cursor on the variable
Note: To stop (break) a
calculation, press ´. The
unknown variable shows the
value being tested when the
break occurred.
2. Press „ Solve.
you want to solve for.
A é marks the solution and
leftì rt. The é disappears
when you edit a value,
move the cursor to the
equation, or leave the
solver.
Using the solution and your entered values, the left and right sides of
the equation are evaluated separately. leftì rt shows the difference,
which indicates the solution’s accuracy. The smaller the value, the
more accurate the solution. If the solution is precise, leftNrt=0.
If you:
Do this:
Want to solve for other
values
Edit the equation or variable values.
Want to find a different
solution for an equation
with multiple solutions
Enter an initial guess and/or a new set of
bounds close to the other solution.
Note: An iterative process is
used to solve an equation. If
the iterative process cannot
converge on a solution, this
error occurs.
See the message:
Press N. The unknown variable shows
the value being tested when the error
occurred.
¦
The leftì rt value may be small enough
for you to accept the result.
¦
If not, enter a different set of bounds.
Chapter 19: Numeric Solver
339
Graphing the Solution
You can graph an equation’s solutions any time after defining
the known variables, either before or after you solve for the
unknown variable. By graphing the solutions, you can see how
many solutions exist and use the cursor to select an accurate
initial guess and bounds.
In the Numeric Solver, leave the
cursor on the unknown variable.
Press … and select:
Displaying the
Graph
1:Graph View
– or –
Graph View uses the current
Window variable values.
3:ZoomStd
– or –
4:ZoomFit
For information about ZoomStd
and ZoomFit, refer to Chapter 6.
Tips: With split screens:
The graph is shown in a split
screen, where:
•
•
•
Use 2 a to switch
between sides.
¦
The unknown variable is
plotted on the x axis.
The active side has a
thick border.
The toolbar belongs to
the active side.
¦
leftì rt is plotted on the y axis.
Solutions for the equation exist
at leftNrt=0, where the graph
crosses the x axis.
For more information, refer
to Chapter 14.
The current graph format
settings are used.
You can explore the graph by using the free-moving cursor, tracing,
zooming, etc., as described in Chapter 6.
When you use the Numeric Solver to display a graph:
How the Graph
Affects Various
Settings
¦
The following modes are changed automatically to these settings:
Mode
Setting
Any functions selected
in the Y= Editor will not
be graphed.
Note: If you were previously
using different mode
settings, you will need to
reselect those settings
manually.
Graph
FUNCTION
LEFT-RIGHT
1
Split Screen
Number of Graphs
¦
¦
All stat plots are deselected.
After you leave the Numeric Solver, the Graph screen may
continue to display the equation’s solution, ignoring any selected
Y= functions. If so, display the Y= Editor and then return to the
Graph screen. Also, the graph is reset when you change the Graph
mode or use ClrGraph from the Home screen († 5) or a program.
340
Chapter 19: Numeric Solver
To use the graph cursor to select an initial guess:
Selecting a New
Initial Guess from
the Graph
1. Move the cursor (either free-moving or trace) to the point that
you want to use as the new guess.
2. Use 2a to make the
Numeric Solver screen
active.
3. Make sure the cursor is on
the unknown variable, and
press †.
Note: Cursor coordinate xc
is the unknown variable
value, and yc is the leftì rt
value.
4. Press „ to re-solve the
† sets the graph cursor’s xc value
equation.
as an initial guess and the yc value
as leftìrt. The graph’s xmin and
xmax values are set as the bounds.
From the split screen:
Returning to a Full
Screen
¦
To display the Numeric Solver full screen, use 2a to make
the solver screen active, press …, and then select 2:Clear Graph
View.
– or –
¦
To display the Home screen, press 2K twice.
When you solve an equation, its variables still exist after you leave
the Numeric Solver. If the equation contains single-character
variables, their values may inadvertently affect later symbolic
calculations. Before leaving the Numeric Solver, you may want to:
Clearing Variables
Before Leaving the
Numeric Solver
Tip: Any time you want to
clear single-character
variables listed in the solver,
use:
1. Press:
TI-89: 2ˆ
TI-92 Plus: ˆ
to clear all single-character variables in the current folder.
TI-89: 2 ˆ
TI-92 Plus: ˆ
2. Press ¸ to confirm the action.
The screen returns to the solver’s eqn: line.
Chapter 19: Numeric Solver
341
342
Chapter 19: Numeric Solver
Number Bases
Preview of Number Bases..................................................................... 344
Entering and Converting Number Bases............................................. 345
Performing Math Operations with Hex or Bin Numbers .................. 346
Comparing or Manipulating Bits .......................................................... 347
20
Wherever you enter an integer in a TI-89 / TI-92 Plus calculation,
you can enter it in decimal, binary, or hexadecimal form. You can
also set the Base mode to specify the form for displaying integer
results. Fractional and floating-point results are always displayed
in decimal form.
Note: The MATH/Base
menu lets you select from a
list of operations related to
number bases.
Dec
Base 10
Bin
Base 2
Hex
Base 16
Binary numbers use 0 and 1
in the base 2 format:
0
1
2
3
4
5
6
7
8
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
10000
0
1
2
3
4
5
6
7
8
100
20 ù 0 = +0
21 ù 0 = +0
22 ù 1 = +4
Hexadecimal numbers use
0 – 9 and A – F in the base 16
format:
9
9
10
11
12
13
14
15
16
A
B
C
D
E
F
10
A8F
160 ù F = +15
161 ù 8 = +128
162 ù A = +2560
You can use the TI-89 / TI-92 Plus to convert a number from one
base to another. For example, 100 binary = 4 decimal and A8F
hex = 2703 decimal.
Hexadecimal numbers are often used as a shorthand notation for
longer, hard-to-remember binary numbers. For example:
1010 1111 0011 0111
AF37 hexadecimal is usually easier to work
with than 1010111100110111 binary.
A
F
3
7
The TI-89 / TI-92 Plus also lets you compare or manipulate binary
numbers bit-by-bit.
Chapter 20: Number Bases
343
Preview of Number Bases
Calculate 10 binary (base 2) + F hexadecimal (base 16) + 10 decimal (base 10). Then,
use the 4 operator to convert an integer from one base to another. Finally, see how
changing the Base mode affects the displayed results.
³
›
TI.89
Keystrokes
TI.92 Plus
Keystrokes
Steps
Display
3 „
(use D to move (use D to move
to Base mode) to Base mode)
3 „
1. Display the MODE dialog box,
Page 2. For Base mode, select
DEC as the default number base.
B 1 ¸
B 1 ¸
Integer results are displayed
according to the Base mode.
Fractional and floating-point results
are always displayed in decimal form.
O j B 1 0 « O O B 1 0 « O
2. Calculate 0b10+0hF+10.
2 ™ H F
j « 1 0
¸
H F
« 1 0
¸
To enter a binary or hex number, you
must use the 0b or 0h prefix (zero and
the letter B or H). Otherwise, the entry
is treated as a decimal number.
Important: The 0b or 0h
prefix is a zero, not the letter
O, followed by B or H.
« 1 2
2 ™ B I N B I N
« 1 2
3. Add 1 to the result and convert it
to binary.
j ¸
¸
2 displays the 4 conversion operator.
« 1 2
2 ™ H E X H E X
« 1 2
4. Add 1 to the result and convert it
to hexadecimal.
j ¸
¸
« 1 ¸
« 1 ¸
5. Add 1 to the result and leave it in
the default decimal base.
3 „
(use D to move (use D to move
to Base mode) to Base mode)
B 2 ¸
3 „
6. Change the Base mode to HEX.
Results use the 0b
or 0h prefix to
identify the base.
When Base = HEX or BIN, the magnitude
of a result is restricted to certain size
limitations. Refer to page 346.
B 2 ¸
O j B 1 0 « O O B 1 0 « O
7. Calculate 0b10+0hF+10.
8. Change the Base mode to BIN.
9. Re-enter 0b10+0hF+10.
2 ™ H F
j « 1 0
¸
H F
« 1 0
¸
3 „
3 „
(use D to move (use D to move
to Base mode) to Base mode)
B 3 ¸
B 3 ¸
¸
¸
344
Chapter 20: Number Bases
Entering and Converting Number Bases
Regardless of the Base mode, you must always use the
appropriate prefix when entering a binary or hexadecimal
number.
To enter a binary number, use the form:
Entering a Binary or
Hexadecimal
Number
0bbinaryNumber
(for example: 0b11100110)
Binary number with up to 32 digits
Zero, not the letter O, and the letter b
Note: You can type the b or
h in the prefix, as well as
hex characters A – F, in
uppercase or lowercase.
To enter a hexadecimal number, use the form:
0hhexadecimalNumber (for example: 0h89F2C)
Hexadecimal number with up to 8 digits
Zero, not the letter O, and the letter h
If you enter a number without the 0b or 0h prefix, such as 11, it is
always treated as a decimal number. If you omit the 0h prefix on a
hexadecimal number containing A – F, all or part of the entry is
treated as a variable.
Use the 4 conversion operator.
Converting between
Number Bases
For 4, press 2 . Also, you
can select base conversions
from the MATH/Base menu.
integerExpression 4 Bin
integerExpression 4 Dec
integerExpression 4 Hex
For a binary or hex entry, you
must use the 0b or 0h prefix.
Note: If your entry is not an
integer, a Domain error is
displayed.
For example, to convert 256
from decimal to binary:
2564 Bin
To convert 101110 from binary
to hexadecimal:
Results use the 0b or 0h
prefix to identify the base.
0b1011104 Hex
If Base mode = BIN:
Instead of using 4, you can:
Alternate Method for
Conversions
1. Use 3 (page 346) to set
the Base mode to the base
that you want to convert to.
If Base mode = HEX:
2. From the Home screen, type
the number that you want to
convert (using the correct
prefix) and press ¸.
Chapter 20: Number Bases
345
Performing Math Operations with Hex or Bin Numbers
For any operation that uses an integer number, you can enter
a hexadecimal or binary number. Results are displayed
according to the Base mode. However, results are restricted to
certain size limits when Base = HEX or BIN.
1. Press 3„ to display
Setting the Base
Mode for Displayed
Results
Page 2 of the MODE screen.
2. Scroll to the Base mode,
press B, and select the
applicable setting.
3. Press ¸ to close the
MODE screen.
If Base mode = HEX:
Note: The Base mode
affects output only. You
must always use the 0h or
0b prefix to enter a hex or
binary number.
The Base mode controls the
displayed format of integer
results only.
Fractional and floating-point
results are always shown in
decimal form.
0h prefix in result
identifies the base.
If Base mode = HEX:
When Base=HEX or BIN, a
division result is displayed in
hexadecimal or binary form
only if the result is an integer.
Dividing When
Base = HEX or BIN
To ensure that division always
produces an integer, use intDiv()
instead of e.
Press ¥ ¸ to display the
result in APPROXIMATE form.
When Base=HEX or BIN, an integer result is stored internally as a
signed, 32-bit binary number, which uses the range (shown in
hexadecimal and decimal):
Size Limitations
When Base = HEX
or BIN
0hFFFFFFFF
0h1
1
ë1
0h80000000
ë2,147,483,648
0h0
0
0h7FFFFFFF
2,147,483,647
If a result’s magnitude is too large to be stored in a signed, 32-bit
binary form, a symmetric modulo operation brings the result into the
range. Any number greater than 0h7FFFFFFF is affected. For
example, 0h80000000 through 0hFFFFFFFF become negative
numbers.
346
Chapter 20: Number Bases
Comparing or Manipulating Bits
The following operators and functions let you compare or
manipulate bits in a binary number. You can enter an integer in
any number base. Your entries are converted to binary
automatically for the bitwise operation, and results are
displayed according to the Base mode.
Boolean Operations
Operator with syntax
Description
not integer
Returns the one’s complement, where
each bit is flipped.
· integer
Returns the two’s complement, which is
the one’s complement + 1.
Note: You can select these
operators from the
MATH/Base menu. For an
example using each
integer1 and integer2
In a bit-by-bit and comparison, the result
is 1 if both bits are 1; otherwise, the result
is 0. The returned value represents the bit
results.
operator, refer to
Appendix A in this book.
integer1 or integer2
In a bit-by-bit or comparison, the result is
1 if either bit is 1; the result is 0 only if
both bits are 0. The returned value
represents the bit results.
integer1 xor integer2
In a bit-by-bit xor comparison, the result
is 1 if either bit (but not both) is 1; the
result is 0 if both bits are 0 or both bits
are 1. The returned value represents the
bit results.
If Base mode = HEX:
Suppose you enter:
0h7AC36 and 0h3D5F
Internally, the hexadecimal
integers are converted to a
signed, 32-bit binary number.
If Base mode = BIN:
Then corresponding bits are
compared.
Note: If you enter an integer
that is too large to be stored
in a signed, 32-bit binary
form, a symmetric modulo
operation brings the value
into the range (page 346).
0h7AC36 = 0b00000000000001111010110000110110
and
and
0h3D5F
=
0b00000000000000000011110101011111
0b00000000000000000010110000010110 = 0h2C16
Leading zeros are not shown
in the result.
The result is displayed according to the Base mode.
Chapter 20: Number Bases
347
Rotating and
Shifting Bits
Function with syntax
Description
rotate(integer)
If #ofRotations is:
– or –
¦
¦
¦
omitted — bits rotate once to the
right (default is ë 1).
rotate(integer,#ofRotations)
negative — bits rotate the specified
number of times to the right.
Note: You can select these
functions from the
positive — bits rotate the specified
number of times to the left.
MATH/Base menu. For an
example using each
function, refer to Appendix A
in this book.
In a right rotation, the rightmost bit
rotates to the leftmost bit; vice versa for
a left rotation.
shift(integer)
– or –
shift(integer,#ofShifts)
If #ofShifts is:
¦
¦
¦
omitted — bits shift once to the right
(default is ë 1).
negative — bits shift the specified
number of times to the right.
positive — bits shift the specified
number of times to the left.
In a right shift, the rightmost bit is
dropped and 0 or 1 is inserted to match
the leftmost bit. In a left shift, the
leftmost bit is dropped and 0 is inserted
as the rightmost bit.
If Base mode = HEX:
Suppose you enter:
shift(0h7AC36)
Internally, the hexadecimal
integer is converted to a signed,
32-bit binary number.
If Base mode = BIN:
Then the shift is applied to the
binary number.
Each bit shifts to the right.
Note: If you enter an integer
that is too large to be stored
in a signed, 32-bit binary
form, a symmetric modulo
operation brings the value
into the range (page 346).
0h7AC36 = 0b00000000000001111010110000110110
Inserts 0 if leftmost bit is 0,
or 1 if leftmost bit is 1.
Dropped
0b00000000000000111101011000011011 = 0h3D61B
Leading zeros are not shown
in the result.
The result is displayed according to the Base mode.
348
Chapter 20: Number Bases
Memory and Variable Management
Preview of Memory and Variable Management ................................. 350
Checking and Resetting Memory ......................................................... 353
Displaying the VAR-LINK Screen......................................................... 355
Manipulating Variables and Folders with VAR-LINK ........................ 357
Pasting a Variable Name to an Application ........................................ 359
Archiving and Unarchiving a Variable................................................. 360
If a Garbage Collection Message Is Displayed................................... 362
Memory Error When Accessing an Archived Variable...................... 364
21
This chapter describes how to manage variables stored in the
TI-89 / TI-92 Plus’s memory.
Note: Remember that
variables can contain
expressions, lists, functions,
programs, graph figures,
etc.
The MEMORY screen
shows how the memory is
currently being used.
The VAR-LINK screen
displays a list of defined
variables and folders. For
information about folders,
refer to Chapter 5.
Note: You can also use
VAR-LINK to transfer
variables between two
linked TI-89s, a TI-92, or a
TI-92 Plus. Refer to
Chapter 22.
You can also store variables in the TI-89 / TI-92 Plus’s user data
archive, a protected area of memory separate from RAM (random
access memory).
You can
archive and
TI-89 /
TI-92 Plus
RAM
User Data
Archive
unarchive
a variable.
Archiving variables can be very useful (page 360). However, if
you do not need the benefits of the user data archive, you do not
need to use it.
Chapter 21: Memory and Variable Management
349
Preview of Memory and Variable Management
Assign values to a variety of variable data types. Use the VAR-LINK screen to view a list of
the defined variables. Then move a variable to the user data archive memory and explore
the ways in which you can and cannot access an archived variable. (Archived variables
are locked automatically.) Finally, unarchive the variable and delete the unused variables
so that they will not take up memory.
³
›
TI-89
Keystrokes
TI-92 Plus
Keystrokes
Steps
Display
1. From the Home screen, assign
variables with the following
variable types.
" M
5 § X 1
¸
¥ " M
5 § X 1
¸
X Z 2 « 4 § X Z 2 « 4 §
Expression: 5 ! x1
Function: xñ +4 ! f(x)
List: {5,10} ! l1
j F c X d
¸
F c X d
¸
2 [ 5 b 1 0
2 \ §
2 [ 5 b 1 0
2 \ §
Matrix: [30,25] ! m1
j L 1 ¸ L 1 ¸
2 g 3 0 b 2 5 2 g 3 0 b 2 5
2 h §
2 h §
j M 1 ¸ M 1 ¸
5 p
5 p
2. Suppose you start to perform an
operation using a function
variable but can’t remember its
name.
5ù
2 °
2 °
3. Display the VAR-LINK screen.
This example assumes that the
variables assigned above are the only
ones defined.
„ D D B 5
¸
„ D D B 5
¸
4. Change the screen’s view to
show only function variables.
Although this may not seem
particularly useful in an example with
four variables, consider how useful it
could be if there were many variables
of all different types.
350
Chapter 21: Memory and Variable Management
³
›
TI-89
Keystrokes
TI-92 Plus
Keystrokes
Steps
Display
D 2 ˆ
D ˆ
5. Highlight the f function variable,
and view its contents.
Notice that the function was assigned
using f(x) but is listed as f on the
screen.
N
N
6. Close the Contents window.
¸
¸
7. With the f variable still
highlighted, close VAR-LINK and
paste the variable name to the
entry line.
5ù f(
Notice that “ ( ” is
pasted.
2 d ¸
2 d ¸
8. Complete the operation.
5ù f(2)
Archiving a variable:
2 °
(use D to
highlight x1)
2 °
(use D to
highlight x1)
9. Redisplay VAR-LINK, and
highlight the variable you want
to archive.
The previous change in view is no
longer in effect. The screen lists all
defined variables.
ƒ 8
ƒ 8
10. Use the ƒ Manage toolbar menu
to archive the variable.
û indicates the
variable is archived.
"
6 p X 1 ¸
¥ "
6 p X 1 ¸
11. Return to the Home screen and
use the archived variable in a
calculation.
1 0 § X 1
¸
1 0 § X 1
¸
12. Attempt to store a different
value to the archived variable.
N
N
13. Cancel the error message.
Chapter 21: Memory and Variable Management
351
Steps
³
›
Display
TI-89
Keystrokes
TI-92 Plus
Keystrokes
2 °
(use D to
highlight x1)
ƒ 9
2 °
(use D to
highlight x1)
ƒ 9
14. Use VAR-LINK to unarchive the
variable.
"
¸
¥ "
¸
15. Return to the Home screen and
store a different value to the
unarchived variable.
Deleting variables:
2 °
‡ 1
2 °
‡ 1
16. Display VAR-LINK, and use the
‡ All toolbar menu to select all
variables.
A Ÿ mark indicates items that are
selected. Notice that this also
selected the MAIN folder.
Note: Instead of using ‡ (if you don’t
want to delete all your variables), you
can select individual variables.
Highlight each variable to delete and
press †.
For information about deleting individual
variables, refer to page 357.
ƒ 1
ƒ 1
17. Use ƒ to delete.
Note: You can press 0 (instead of
ƒ 1) to delete the marked variables.
¸
¸
¸
¸
18. Confirm the deletion.
19. Because ‡ 1 also selected the
MAIN folder, an error message
states that you cannot delete the
MAIN folder. Acknowledge the
message.
When VAR-LINK is redisplayed, the
deleted variables are not listed.
N
N
20. Close VAR-LINK and return to
the current application (Home
screen in this example).
When you use N (instead of ¸ )
to close VAR-LINK, the highlighted
name is not pasted to the entry line.
352
Chapter 21: Memory and Variable Management
Checking and Resetting Memory
The MEMORY screen shows the amount of memory (in bytes)
used by all variables in each data type, regardless of whether
the variables are stored in RAM or the user data archive. You
can also use this screen to reset the memory.
Press 2¯.
Displaying the
MEMORY Screen
Size of history pairs
saved in the Home
screen’s history area
Tip: To display the size of
individual variables and
determine if they are in the
user data archive, use the
VAR-LINK screen.
Size of Flash applications
Free space in RAM
Free space in Flash ROM
Includes programs written for the TI-89 / TI-92 Plus as well
as any assembly-language programs you have loaded
To close the screen, press ¸. To reset the memory, use the
following procedure.
From the MEMORY screen:
Resetting the
Memory
1. Press ƒ.
2. Select the applicable item.
Item
Description
Important: To delete
RAM
1:All RAM: Resetting RAM erases all data and
programs from RAM.
individual (instead of all)
variables, use VAR-LINK as
described on page 357.
2:Default: Resets all system variables and modes to
their original factory settings. This does not affect any
user-defined variables, functions, or folders.
Flash ROM 1:Archive: Resetting Archive erases all data and
programs from Flash ROM.
2:Flash Apps: Resetting Flash Apps erases all Flash
applications from Flash ROM.
3:Both: Resetting both erases all data, programs, and
Flash applications from Flash ROM.
All Memory Resetting will delete all data, programs, and Flash
applications from RAM and Flash ROM.
Tip: To cancel the reset,
press N instead of ¸.
3. When prompted for confirmation, press ¸.
The TI-89 / TI-92 Plus displays a message when the reset is
complete.
4. Press ¸ to acknowledge the message.
Chapter 21: Memory and Variable Management
353
The Flash ROM free displayed on
the Memory screen 2¯ is
shared by archive and Flash
applications. This Flash ROM is
divided into sectors of 64-KB
memory. Each individual sector
can contain either archive or Flash
applications, but not both.
Therefore, the actual maximum
available space for archive or Flash
applications can be less than the
total Flash ROM free shown on the
memory screen.
Flash ROM free on
the MEMORY
Screen
Note: For TI-92 Plus
Modules and some TI-89
users, their maximum
archive space is about
384-KB regardless of how
much free Flash ROM is
available.
Shows Flash ROM free
variable A
variable B
variable C
Sector A
64-KB
25-KB
64-KB
Available
for Archive
(89-KB)
Sector B
64-KB
Flash
ROM free
(114-KB)
Available
for Flash
applications
(89-KB)
25-KB
Sector C
64-KB
Flash application A
354
Chapter 21: Memory and Variable Management
Displaying the VAR-LINK Screen
The VAR-LINK screen lists the variables and folders that are
currently defined. After displaying the screen, you can
manipulate the variables and/or folders as described later in
this chapter.
Press 2°. By default, the VAR-LINK screen lists all user-
defined variables in all folders and with all data types.
Displaying the
VAR-LINK Screen
Shows installed
Flash applications
Folder names
(alphabetically
listed)
Note: For information about
using folders, refer to
Chapter 5.
Size in bytes
Data type
Variable names (alphabetically listed)
This...
Indicates this...
Lets you transmit variables and Flash applications
between units and update the product software in your
TI-89 / TI-92 Plus. Refer to Chapter 22.
… Link
Collapsed folder view.
4
Expanded folder view (to right of folder name).
You can scroll for more variables and/or folders.
If selected with †.
6
6
Ÿ
Œ
û
Locked
Archived
To scroll through the list:
¦
Press Dor C. (Use 2Dor 2Cto scroll one page at a time.)
— or —
Tip: Type a letter repeatedly
to cycle through the names
that start with that letter.
¦
Type a letter. If there are any variable names that start with that
letter, the cursor moves to highlight the first of those variable
names.
Variable Types as
Type
Description
Listed on VAR-LINK
ASM
DATA
EXPR
FUNC
GDB
LIST
Assembly-language program
Data
Expression (includes numeric values)
Function
Graph database
List
MAT
Matrix
PIC
PRGM
STR
Picture of a graph
Program
String
TEXT
Text Editor session
Chapter 21: Memory and Variable Management
355
If you have a lot of variables and/or folders, or Flash applications, it
may be difficult to locate a particular variable. By changing VAR-
LINK’s view, you can specify the information you want to see.
Listing Only a
Specified Folder
and/or Variable
Type, or Flash
application
From the VAR-LINK screen:
1. Press „ View.
Tip: To cancel a menu,
2. Highlight the setting you want to
change, and press B. This
displays a menu of valid
choices.
press N.
Tip: To list system variables
(window variables, etc.),
select 3:System.
View — Allows you to choose
variables, Flash applications, or
system variables to view.
Folder — Always lists 1:All and
2:main, but lists other folders
only if you have created them.
Var Type — Lists the valid
variable types.
ï indicates that you can scroll
for additional variable types.
3. Select the new setting.
4. When you are back on the VAR-LINK VIEW screen, press ¸.
The VAR-LINK screen is updated to show only the specified folder,
and/or variable type, or Flash application.
To close the VAR-LINK screen and return to the current application,
use ¸ or Nas described below.
Closing the
VAR-LINK Screen
Press:
To:
Tip: For more information
on using the ¸ paste
feature, refer to page 359.
¸
Paste the highlighted variable or folder name to the cursor
location in the current application.
N
Return to the current application without pasting the
highlighted name.
356
Chapter 21: Memory and Variable Management
Manipulating Variables and Folders with VAR-LINK
On the VAR-LINK screen, you can show the contents of a
variable. You can also select one or more listed items and
manipulate them by using the operations in this section.
You can show all variable types except ASM, DATA, or GDB. For
example, you must open a DATA variable in the Data/Matrix Editor.
Showing the
Contents of a
Variable
1. On VAR-LINK, move the cursor to highlight the variable.
Note: You cannot edit the
contents from this screen.
2. Press:
TI-89: 2ˆ
TI-92 Plus: ˆ
If you highlight a folder, the
screen shows the number of
variables in that folder.
3. To return to VAR-LINK, press
any key.
For other operations, select one or more variables and/or folders.
Selecting Items
from the List
To select:
Do this:
A single variable
or folder
Move the cursor to highlight the item.
Note: If you use † to Ÿ one
or more items and then
highlight a different item, the
following operations affect
only the Ÿ’ed items.
A group of variables
or folders
Highlight each item and press †. A Ÿ is
displayed to the left of each selected item.
(If you select a folder, all variables in that
folder are selected.) Use † to select or
deselect an item.
All folders and
all variables
Expand the folder B, press ‡ All and
select 1:Select All.
Tip: Press either A B to
toggle between expand or
collapse view when you
have a folder highlighted.
Selects the last set of
items transmitted to your
unit during the current
VAR-LINK session. Refer
to Chapter 22.
Selecting 4:Expand All
or 5:Collapse All will
expand or collapse
your folders or Flash
applications.
To delete a folder, you must delete all of the variables in that folder.
However, you cannot delete the MAIN folder even if it is empty.
Deleting Variables
or Folders
1. On VAR-LINK, select the
variables and/or folders.
Tip: When you use † to
select an expanded folder,
its variables are selected
automatically so that you
can delete the folder and its
variables at the same time.
2. Press ƒ Manage and select
1:Delete. (You can press
0instead of ƒ 1.)
3. To confirm the deletion,
press ¸.
Chapter 21: Memory and Variable Management
357
For information about using folders, refer to Chapter 5.
Creating a New
Folder
1. On VAR-LINK, press ƒ Manage and select 5:Create Folder.
2. Type a unique name, and
press ¸ twice.
You must have at least one folder other than MAIN. You cannot use
VAR-LINK to copy variables within the same folder.
Copying or Moving
Variables from One
Folder to Another
1. On VAR-LINK, select the variables.
2. Press ƒ Manage and select 2:Copy or 4:Move.
3. Select the destination folder.
4. Press ¸.
Tip: To copy a variable to a
different name in the same
folder, use § (such as
a1! a2) or the CopyVar
command from the Home
screen.
The copied or moved
variables retain their
original names.
Remember, if you use † to select a folder, the variables in that
folder are selected automatically. As necessary, use † to deselect
individual variables.
Renaming Variables
or Folders
1. On VAR-LINK, select the variables and/or folders.
2. Press ƒ Manage and select 3:Rename.
3. Type a unique name, and
press ¸ twice.
If you selected multiple items,
you are prompted to enter a
new name for each one.
When a variable is locked, you cannot delete, rename, or store to it.
However, you can copy, move, or display its contents. When a folder
is locked, you can manipulate the variables in the folder (assuming
the variables are not locked), but you cannot delete the folder. When
a Flash application is locked, you cannot delete it.
Locking or
Unlocking Variables
Folders, or Flash
Applications
1. On VAR-LINK, select the variables and/or folders, or Flash
application.
2. Press ƒ Manage and select 6:Lock or 7:UnLock.
Œ indicates a locked variable,
folder, or Flash application in
û indicates an archived variable,
which is locked automatically.
358
Chapter 21: Memory and Variable Management
Pasting a Variable Name to an Application
Suppose you are typing an expression on the Home screen
and can’t remember which variable to use. You can display the
VAR-LINK screen, select a variable from the list, and paste that
variable name directly onto the Home screen’s entry line.
From the following applications, you can paste a variable name to
the current cursor location.
Which Applications
Can You Use?
¦
Home screen, Y= Editor, Table Editor, or Data/Matrix Editor
— The cursor must be on the entry line.
¦
Text Editor, Window Editor, Numeric Solver, or Program Editor
— The cursor can be anywhere on the screen.
Starting from an application listed above:
Procedure
1. Position the cursor where
sin(|
you want to insert the
variable name.
2. Press 2°.
Note: You can also highlight
and paste folder names.
3. Highlight the applicable
variable.
4. Press ¸ to paste the
sin(a1|
variable name.
Note: This pastes the
5. Finish typing the
variable’s name, not its
contents. Use 2 £,
instead of 2 °, to
recall a variable’s contents.
sin(a1)|
expression.
If you paste a variable name that is not in the current folder, the
variable’s pathname is pasted.
sin(class\a2|
Assuming that CLASS is not the current folder, this is
pasted if you highlight the a2 variable in CLASS.
Chapter 21: Memory and Variable Management
359
Archiving and Unarchiving a Variable
To archive or unarchive one or more variables interactively,
use the VAR-LINK screen. You can also perform these
operations from the Home screen or a program.
The user data archive lets you:
Why Would You
Want to Archive a
Variable?
¦
Store data, programs, or any other variables to a safe location
where they cannot be edited or deleted inadvertently.
¦
Create additional free RAM by archiving variables. For
example:
Note: You cannot archive
variables with reserved
names or system variables.
−
You can archive variables that you need to access but do
not need to edit or change, or variables that you are not
using currently but need to retain for future use.
−
If you acquire additional programs for your
TI-89 / TI-92 Plus, particularly if they are large, you may
need to create additional free RAM before you can install
those programs.
Additional free RAM can improve performance times for certain
types of calculations.
Before archiving or unarchiving variables, particularly those with a
large byte size (such as large programs):
Checking for
Available Space
1. Use the VAR-LINK screen to find the size of the variable.
2. Use the MEMORY screen to see if there is enough free space.
Note: If there is not enough
space, unarchive or delete
variables as necessary.
For an:
Sizes must be such that:
Archive
Archive free size > variable size
Unarchive
RAM free size > variable size
Even if there appears to be enough free space, you may see a
Garbage Collection message (page 362) when you attempt to archive
a variable. Depending on the usability of empty blocks in the user
data archive, you may need to unarchive existing variables to create
more free space.
360
Chapter 21: Memory and Variable Management
To archive or unarchive:
From the VAR-LINK
Screen
1. Press 2°to display the VAR-LINK screen.
Tip: To select a single
variable, highlight it. To
select multiple variables,
highlight each variable and
press † Ÿ.
2. Select one or more variables, which can be in different folders.
(You can select an entire folder by selecting the folder name.)
3. Press ƒ and select either:
8:Archive Variable
– or –
9:Unarchive Variable
Note: If you get a Garbage
Collection message, refer to
page 362.
If you select 8:Archive Variable, the
variables are moved to the user
data archive.
archived
variables
Note: An archived variable
is locked automatically. You
can access the variable, but
you cannot edit or delete it.
Refer to page 364.
RAM
User Data Archive
You can access an archived
variable just as you would any
locked variable. For all purposes,
an archived variable is still in its
original folder; it is simply stored
in the user data archive instead of
RAM.
CLASS
a2
pic1
û
MAIN
f
l1
m1
û
prog1
s1
text1
Use the Archive and Unarchiv commands (Appendix A).
Archive variable1, variable2, …
From the Home
Screen or a Program
Unarchiv variable1, variable2, …
Chapter 21: Memory and Variable Management
361
If a Garbage Collection Message Is Displayed
If you use the user data archive extensively, you may see a
Garbage Collection message. This occurs if you try to archive
a variable when there is not enough free archive memory.
However, the TI-89 / TI-92 Plus will attempt to rearrange the
archived variables to make additional room.
When you see the message to the
right:
Responding to the
Garbage Collection
Message
¦
To continue archiving,
press ¸.
– or –
¦
To cancel, press N.
After garbage collection, depending on how much additional space is
freed, the variable may or may not be archived. If not, you can
unarchive some variables and try again.
The message:
Why not Perform
Garbage Collection
Automatically,
¦
Lets you know why an archive will take longer than usual. It also
alerts you that the archive may fail if there is not enough memory.
without a Message?
¦
Can alert you when a program is caught in a loop that repetitively
fills the user data archive. Cancel the archive and investigate the
reason.
The user data archive is divided into sectors. When you first begin
archiving, variables are stored consecutively in sector 1. This
continues to the end of the sector. If there is not enough space left in
the sector, the next variable is stored at the beginning of the next
sector. Typically, this leaves an empty block at the end of the
previous sector.
Why Is Garbage
Collection
Necessary?
Note: An archived variable
is stored in a continuous
block within a single sector;
it cannot cross a sector
boundary.
Each variable that you archive is
stored in the first empty block large
enough to hold it.
Sector 1
variable A
variable B
Empty
block
Sector 2
variable D
variable C
Depending on its size,
variable D is stored in
one of these locations.
Sector 3
Note: Garbage collection
occurs when the variable
you are archiving is larger
than any empty block.
This process continues to the end of
the last sector. Depending on the size of individual variables, the
empty blocks may account for a significant amount of space.
362
Chapter 21: Memory and Variable Management
Sector 1
When you unarchive a variable, it is
copied to RAM but is not actually
deleted from the user data archive
memory.
How Unarchiving a
Variable Affects the
Process
variable A
After you unarchive
variables B and C, they
continue to take up space.
Sector 2
Sector 3
variable D
Unarchived variables are “marked for
deletion,” meaning they will be
deleted during the next garbage
collection.
Even if the MEMORY screen shows
enough free space to archive a
variable, you may still get a
If the MEMORY
Screen Shows
Enough Free Space
Garbage Collection message.
When you unarchive a variable, the
Archive free amount increases
immediately, but the space is not
actually available until after the
next garbage collection.
Shows free space that
will be available after all
“marked for deletion”
variables are deleted.
If the RAM free amount shows enough available space for your
variable, however, there probably will be enough space to archive it
after garbage collection (depending on the usability of any empty
blocks).
Sector 1
The garbage collection process:
The Garbage
variable A
Collection Process
¦
Deletes unarchived variables from
the user data archive.
variable D
¦
Rearranges the remaining
variables into consecutive blocks.
Sector 2
Chapter 21: Memory and Variable Management
363
Memory Error When Accessing an Archived Variable
An archived variable is treated the same as a locked variable.
You can access the variable, but you cannot edit or delete it.
In some cases, however, you may get a Memory Error when
you try to access an archived variable.
The Memory Error message is displayed if there is not enough free
RAM to access the archived variable. This may cause you to ask, “If
the variable is in the user data archive, why does it matter how much
RAM is available?” The answer is that the following operations can
be performed only if a variable is in RAM.
What Causes the
Memory Error?
Note: As described below, a
temporary copy lets you
open or execute an archived
variable. However, you
cannot save any changes to
the variable.
¦
¦
¦
¦
Opening a text variable in the Text Editor.
Opening a data variable, list, or matrix in the Data/Matrix Editor.
Opening a program or function in the Program Editor.
Running a program or referring to a function.
So that you don’t have to unarchive variables unnecessarily, the
TI-89 / TI-92 Plus performs a “behind-the scenes” copy. For example, if
you run a program that is in the user data archive, the
TI-89 / TI-92 Plus:
Note: Except for programs
and functions, referring to
an archived variable does
not copy it. If variable ab is
archived, it is not copied if
you perform 6ù ab.
1. Copies the program to RAM.
2. Runs the program.
3. Deletes the copy from RAM when the program is finished.
The error message is displayed if there is not enough free RAM for
the temporary copy.
To free up enough RAM to access the variable:
Correcting the Error
1. Use the VAR-LINK screen (2°) to determine the size of
the archived variable that you want to access.
2. Use the MEMORY screen (2¯) to check the RAM free size.
Note: Typically, the RAM
free size must be larger than
the archived variable.
3. Free up the needed amount of memory by:
¦
¦
Deleting unnecessary variables from RAM.
Archiving large variables or programs (moving them from
RAM to the user data archive).
364
Chapter 21: Memory and Variable Management
Linking and Upgrading
Linking Two Units.................................................................................. 366
Transmitting Variables, Flash Applications, and Folders................. 367
Transmitting Variables under Program Control................................. 371
Upgrading Product Software (Base Code) ......................................... 373
Collecting and Transmitting ID Lists................................................... 378
Compatibility between a TI.89, TI.92 Plus, and TI.92 ...................... 380
22
This chapter describes how to use the VAR-LINK screen to:
¦
Transmit variables, Flash applications, and folders between
two units
¦
¦
Upgrade the product software (base code)
Collect ID Lists
It also includes information on transmitting variables under
program control, and calculator compatibility.
Variables include programs, functions, graph figures, etc.
The VAR-LINK screen displays a
list of defined variables, Flash
applications, and folders. For
information about using folders,
refer to Chapter 5.
Chapter 22: Linking and Upgrading
365
Linking Two Units
The TI-89 and the TI-92 Plus each come with a cable that lets
you link two units. Once connected, you can transmit
information between two units.
Using firm pressure, insert one end of the cable into the I/O port of
each unit. Either unit can send or receive, depending on how you set
them up from the VAR-LINK screen.
Connecting before
Sending or
Receiving
This shows how to link two TI-89 units together:
TI-89
TI-89
Sending
unit
Receiving
unit
Note: You can link a TI-89
or TI-92 Plus to another
TI-89, a TI-92 Plus, or a
TI-92, but not to a graphing
calculator such as a TI-81,
TI-82, TI-83, TI-83 Plus,
TI-85, or TI-86.
I/O Port
I/O Port
Cable
This shows how to link two TI-92 Plus units together:
I/O Port
I/O Port
TI-92 Plus
TI-92 Plus
You can also use the unit-to-unit cable that came with your
calculator to link a TI-89 and a TI-92 Plus together.
I/O Port
TI-92 Plus
I/O Port
366
Chapter 22: Linking and Upgrading
Transmitting Variables, Flash Applications, and Folders
Transmitting variables is a convenient way to share any
variable listed on the VAR-LINK screen — functions, programs,
etc. You can also transmit Flash applications and folders.
Most Flash applications will transfer only from a TI-89 to a TI-89 or
from a TI-92 Plus to a TI-92 Plus. You cannot send Flash applications
to a TI-92 unless it contains a Plus module and Advanced
Mathematics 2.x product software (base code). For more calculator
compatibility information, refer to page 380.
Setting Up the Units
1. Link two units as described on page 366.
2. On the sending unit, press 2 ° to display the VAR-LINK
screen.
3. On the sending unit, select the variables, folders, or Flash
applications you want to send. Collapsed folders become
expanded when selected.
¦
To select a single variable or Flash application, move the
cursor to highlight it.
¦
To select a single folder, highlight it and press † to place a
checkmark (Ÿ) beside it. This selects the folder and its
contents.
Note: Use † to select
multiple variables, Flash
applications, or folders. Use
† again to deselect any
that you do not want to
transmit.
¦
¦
To select multiple variables, Flash applications, or folders
highlight each one and press † to place a checkmark (Ÿ)
beside it.
To select all variables, Flash applications, or folders use
‡ All 1:Select All.
4. On the receiving unit, press 2 ° to display the VAR-
LINK screen. (The sending unit remains on the VAR-LINK screen.)
5. On both the receiving and the sending unit, press … Link to
display the menu options.
6. On the receiving unit, select 2:Receive.
The message VAR-LINK: WAITING TO RECEIVE and the BUSY
indicator are displayed in the status line of the receiving unit.
7. On the sending unit, select either:
¦
¦
1:Send to TI-89/92 Plus
— or —
3:Send to TI-92
This starts the transmission.
During transmission, a progress bar is displayed in the status line of
the receiving unit. When transmission is complete, the VAR-LINK
screen is updated on the receiving unit.
Chapter 22: Linking and Upgrading
367
Unlocked and unarchived variables having the same name on both
the sending and receiving units will be overwritten from the sending
unit.
Rules for
Transmitting
Variables, Flash
Applications, or
Folders
Locked and archived variables having the same name on both the
sending and receiving units must be unlocked or unarchived on the
receiving unit before they can be overwritten from the sending unit.
You can lock, but you cannot archive a Flash application or a folder.
If you select:
What happens:
Unlocked variable
The variable is transmitted to the current
folder and it remains unlocked on the
receiving unit.
Locked variable
The variable is transmitted to the current
folder and it remains locked on the receiving
unit.
Note: You cannot send an
archived variable to a TI-92.
You must unarchive it first.
Archived variable
The variable is transmitted to the current
folder and it remains archived on the
receiving unit.
Unlocked Flash
application
If the receiving unit has the correct
certification, the Flash application is
transmitted. It remains unlocked on the
receiving unit.
Locked Flash
application
If the receiving unit has the correct
certification, the Flash application is
transmitted. It remains locked on the
receiving unit.
Unlocked Folder
Locked Folder
The folder and its selected contents are
transmitted. The folder remains unlocked on
the receiving unit.
Note: You must expand a
folder before transmitting it
or its contents.
The folder and its selected contents are
transmitted. The folder becomes unlocked on
the receiving unit.
From either the sending or receiving unit:
1. Press ´.
Canceling a
Transmission
An error message is displayed.
2. Press Nor ¸.
368
Chapter 22: Linking and Upgrading
Common Error and
Notification
Messages
Shown on: Message and Description:
Sending
unit
This is displayed after several seconds if:
Note: The sending unit may
not always display this
message. Instead, it may
remain BUSY until you
cancel the transmission.
¦
A cable is not attached to the sending unit’s I/O port.
— or —
¦
A receiving unit is not attached to the other end of the
cable.
— or —
¦
The receiving unit is not set up to receive.
Press Nor ¸ to cancel the transmission.
Sending
unit
The receiving unit does not have the correct certification
for the product software (base code) or Flash application
being sent.
Receiving
unit
New Name is active
only if you change
Overwrite to NO.
The receiving unit has a variable with the same name as
the specified variable being sent.
¦
To overwrite the existing variable, press ¸. (By
default, Overwrite = YES.)
¦
To store the variable to a different name, set Overwrite
= NO. In the New Name input box, type a variable
name that does not exist in the receiving unit. Then
press ¸ twice.
¦
¦
To skip this variable and continue with the next one,
set Overwrite = SKIP and press ¸.
To cancel the transmission, press N.
Receiving
unit
The receiving unit does not have enough memory for what is
being sent. Press Nor ¸ to cancel the transmission.
Chapter 22: Linking and Upgrading
369
1. Press 2 ° to display the VAR-LINK screen.
Deleting Variables,
Flash Applications,
or Folders
2. Select the variables, folders, or Flash applications to delete.
¦
To select a single variable or Flash application, move the
cursor to highlight it.
Note: You cannot delete the
Main folder.
¦
To select a single folder, highlight it and press † to place a
checkmark (Ÿ) beside it. This selects the folder and its
contents.
Note: Use † to select
multiple variables, Flash
applications, or folders. Use
† again to deselect any
that you do not want to
delete.
¦
¦
To select multiple variables, Flash applications, or folders
highlight each one and press † to place a checkmark (Ÿ)
beside it.
To select all variables, Flash applications, or folders use
‡ All 1:Select All.
3. Press ƒ and choose 1:Delete.
— or —
Press 0. A confirmation message appears.
4. Press ¸ to confirm the deletion.
For up-to-date information about
available Flash applications, check
the Texas Instruments web site at:
Where to Get Flash
Applications
education.ti.com
Flash
Certificate
application
education.ti.com
or contact Texas Instruments as
described in Appendix C.
You can download a Flash
application and/or certificate from
the Texas Instruments web site to
a computer, and use a TI-GRAPH
LINK computer-to-calculator cable
to install the application or
certificate on your
via TI-GRAPH LINK cable
TI-89
TI-89 / TI-92 Plus.
For installation instructions, refer
to the Flash Applications
instructions in the front of this
guidebook, or to your
TI™ Connect online help or
TI-GRAPH LINK guidebook.
370
Chapter 22: Linking and Upgrading
Transmitting Variables under Program Control
You can use a program containing GetCalc and SendCalc or
SendChat to transmit a variable from one calculator to
another.
SendCalc sends a variable to the link port, where a linked calculator
can receive the variable value. The linked calculator must be on the
Home screen or must execute GetCalc from a program. If you send to
a TI-92, however, an error occurs if the TI-92 executes GetCalc from a
program. In this case, you must use SendChat instead.
Overview of
Commands
SendChat, a general alternative to SendCalc, is useful if the receiving
calculator is a TI-92 (or for a generic chat program that allows a
TI-89, TI-92, or TI-92 Plus to be the receiving calculator). SendChat
sends a variable only if that variable is compatible with the TI-92,
which is typically true in chat programs. However, SendChat will not
send an archived variable, a TI-89 or TI-92 Plus graph data base, etc.
The following program uses GetCalc and SendChat. The program
sets up two loops that let the linked calculators take turns sending
and receiving/displaying a variable named msg. InputStr lets each
user enter a message in the msg variable.
The “Chat” Program
:Chat()
:Prgm
:ClrIO
:Disp "On first unit to send,"," enter 1;","On first to receive,"
:InputStr " enter 0",msg
:If msg="0" Then
: While true
Sets up this unit to
receive and display
the variable msg.
:
:
:
:
GetCalc msg
Disp msg
InputStr msg
SendChat msg
Loop executed by the unit that
receives the first message.
Then lets this user
enter a message in
msg and send it.
: EndWhile
:Else
: While true
Lets this user enter
a message in msg
and send it.
:
:
:
:
InputStr msg
SendChat msg
GetCalc msg
Disp msg
Loop executed by the unit that
sends the first message.
Then sets up this
unit to receive and
display msg.
: EndWhile
:EndIf
:EndPrgm
To synchronize GetCalc and SendChat, the loops are arranged so that
the receiving unit executes GetCalc while the sending unit is waiting
for the user to enter a message.
Chapter 22: Linking and Upgrading
371
This procedure assumes that:
Running the
Program
¦
The two calculators are linked with the connecting cable as
described on page 366.
¦
The Chat program is loaded on both calculators. (A program
loaded on a TI-92 must use SendCalc instead of SendChat.)
Note: For information about
using the Program Editor,
refer to Chapter 17.
−
−
Use each calculator’ s Program Editor to enter the program.
— or —
Enter the program on one calculator and then use VAR-LINK to
transmit the program variable to the other calculator as
described on page 367.
To run the program on both calculators:
1. On the Home screen of each calculator, enter:
chat()
2. When each calculator displays its initial prompt, respond as
shown below.
On the:
Type:
Calculator that will send
the first message.
1 and press ¸.
Calculator that will receive
the first message.
0 and press ¸.
3. Take turns typing a message and pressing ¸ to send the
variable msg to the other calculator.
Because the Chat program sets up an infinite loop on both
calculators, press ´(on both calculators) to break the program. If
you press N to acknowledge the error message, the program stops
on the Program I/O screen. Press ‡ or N to return to the Home
screen.
Stopping the
Program
372
Chapter 22: Linking and Upgrading
Upgrading Product Software (Base Code)
You can upgrade the product software (base code) on your
TI-89 / TI-92 Plus. You can also transfer product software (base
code) from one TI-89 or TI-92 Plus to another, provided that the
receiving unit has the correct certification that allows it to run
that software.
The term product software includes these two types of base code
upgrades:
Product Software
(Base Code)
Upgrades
¦
¦
Maintenance upgrades (which are released free of charge).
Feature upgrades (some of which are for purchase). Before
downloading a purchased feature upgrade from the Texas
Instruments web site, you must provide your calculator’s
electronic ID number. This information is used to create a
customized electronic certificate that specifies which product
software your unit is licensed to run.
Installing either a maintenance upgrade or a feature upgrade resets
all calculator memory to the original factory settings. This means
that all user-defined variables, programs, lists, and Flash applications
will be deleted. See the important information concerning batteries
(below) and “Backing Up Your Unit Before a Product Software (Base
Code) Installation” on page 374 before performing a base code
(maintenance or feature) upgrade.
New batteries should be installed before beginning a base code
(maintenance or feature upgrade) download.
Important Product
Software (Base
Code) Download
Information
When in base code download mode, the Automatic Power Downé
(APDé) feature does not function. If you leave your calculator in
download mode for an extended time before you actually start the
downloading process, your batteries may become depleted. You will
then need to replace the depleted batteries with new batteries before
downloading.
You can also transfer base code from calculator-to-calculator using a
unit-to-unit cable. If you accidentally interrupt the transfer before it
is complete, you will need to reinstall the base code via a computer.
Again, remember to install new batteries before downloading.
Please contact Texas Instruments as described in Appendix C if you
experience a problem.
Chapter 22: Linking and Upgrading
373
When you install a product software (base code) upgrade, the
installation process:
Backing Up Your
Unit Before a
Product Software
(Base Code)
¦
Deletes all user-defined variables (in both RAM and the user data
archive), functions, programs, and folders.
Installation
¦
¦
Could delete all Flash applications.
Resets all system variables and modes to their original factory
settings. This is equivalent to using the MEMORY screen to reset
all memory.
Important: Before
installation, install new
batteries.
To retain any existing variables or Flash applications, do the
following before installing the upgrade:
¦
Transmit the variables or Flash applications to another calculator
as described on page 367.
— or —
Note: The computer-to-
calculator cable is not the
same as the cable that
came with your calculator.
¦
Use a TI-GRAPH LINKé computer-to-calculator cable and
TI™ Connect or TI-GRAPH LINK software (available at no charge
from the Texas Instruments web site) to send the variables and/or
Flash applications to a computer.
If you have a TI-GRAPH LINK computer-to-calculator cable and
software for the TI-92, be aware that the TI-92 TI-GRAPH LINK
software is not compatible with either the TI-89 or the TI-92 Plus. The
cable, however, works with all units. For information about
obtaining a TI-GRAPH LINK computer-to-calculator cable for the
TI-89 / TI-92 Plus, check the Texas Instruments web site at:
education.ti.com
or contact Texas Instruments as described in Appendix C.
For up-to-date information about
available product software (base
code) upgrades and installation
instructions, check the Texas
Instruments web site at:
Where to Get
Product Software
(Base Code)
education.ti.com
Product
software
Certificate
(base code)
education.ti.com
or contact Texas Instruments as
described in Appendix C.
via TI-GRAPH LINK cable
You can download product
software and/or a certificate from
the Texas Instruments web site to a
computer, and use a TI-GRAPH LINK
computer-to-calculator cable to
install it on your TI-89 / TI-92 Plus.
TI-89
For complete information, refer to
the instructions on the web.
374
Chapter 22: Linking and Upgrading
If the sending TI-89 or TI-92 Plus has its original product software
(base code) or a free maintenance upgrade, the receiving TI-89 or
TI-92 Plus does not need a new certificate. Its current certificate is
valid, and the maintenance upgrade can be transferred.
Transferring
Product Software
(Base Code)
If the sending TI-89 or TI-92 Plus has a purchased feature upgrade, the
upgrade must be purchased for the receiving unit. A certificate can
then be downloaded and installed on the receiving unit. After the
certificate is installed, the feature upgrade can be transmitted.
You can see which version of product software is in your
TI-89 / TI-92 Plus. From the Home screen, press ƒ and select A:About.
Product software (base code) will transfer only from a TI-89 to a
TI-89 or from a TI-92 Plus to a TI-92 Plus. You cannot send Advanced
Mathematics 2.x product software (base code) to a TI-92 unless it
contains a Plus module. For more calculator compatibility
information, refer to page 380.
To transfer product software (base code) from unit to unit:
1. Link two units as described on page 366.
Important: For each
receiving unit, remember to
back up information as
necessary and install new
batteries.
2. On the receiving and the sending unit, press 2 ° to
display the VAR-LINK screen.
3. On the receiving and the sending unit, press … Link to display
the menu options.
Important: Be sure both the
sending and receiving units
are in the VAR-LINK screen.
4. On the receiving unit, select 5:Receive Product SW.
A warning message displays. Press N to halt the process, or
press ¸ to proceed. Pressing ¸, displays VAR-LINK:
WAITING TO RECEIVE and BUSY in the status line of the
receiving unit.
5. On the sending unit, select 4:Send Product SW.
A warning message displays. Press N to halt the process, or
press ¸ to start the transmission.
Chapter 22: Linking and Upgrading
375
During the transfer, the receiving unit shows how the transfer is
progressing. When the transfer is complete:
Transferring
Product Software
(continued)
¦
¦
The sending unit returns to the VAR-LINK screen.
The receiving unit returns to the Home screen. You may need to
use ¥ | (lighten) or ¥ « (darken) to adjust the contrast.
After the transfer starts, the receiving unit’s existing base code is
effectively deleted. If you interrupt the transfer before it is complete,
the receiving unit will not operate properly. You will then need to
reinstall the base code (maintenance or feature) upgrade via a
computer.
Do Not Attempt to
Cancel a Product
Software (Base
Code) Transfer
To perform a maintenance upgrade on multiple units, you can
transfer an upgrade from one unit to another instead of installing it
on each unit via a computer. Maintenance upgrades are released free
of charge and you do not need to obtain a certificate before you
download or install them.
If You’re Upgrading
Product Software
(Base Code) on
Multiple Units
Note: Group certificates are
also available. See
page 378.
Before installing a purchased feature upgrade, each TI-89 or
TI-92 Plus must have its own unique certificate. During download and
installation, you can choose both the certificate and feature upgrade
or only the certificate. The illustration below shows the most
efficient way to prepare multiple units for a purchased feature
upgrade.
Tip: Generally, transmitting
a base code upgrade from
unit-to-unit is much quicker
than installing it via a
computer.
From the computer,
download and install the
certificate and feature
upgrade for one unit.
From the computer, download and
install only the unique certificate
for each of the other units.
TI-89
TI-89
TI-89
Starting with the first unit, transfer the feature upgrade
from one unit to another as described below.
Preparing multiple TI-92 Plus units for a purchased feature upgrade
works the same as illustrated above.
376
Chapter 22: Linking and Upgrading
Most error messages are displayed on the sending unit. Depending
on when the error occurs during the transfer process, you may see
an error message on the receiving unit.
Error Messages
Error Message
Description
The sending and receiving units are
not connected properly, or the
receiving unit is not set up to
receive.
The certificate on the receiving unit
is not valid for the product software
(base code) on the sending unit.
You must obtain and install a valid
certificate.
An error occurred during the
transfer. The current product
software in the receiving unit is
corrupted. You must reinstall the
product software from a computer.
Replace the batteries on the unit
displaying this message.
Chapter 22: Linking and Upgrading
377
Collecting and Transmitting ID Lists
The VAR-LINK screen … 6:Send ID List menu option allows
collection of electronic ID numbers from individual
TI-89 / TI-92 Plus calculators.
The ID list feature provides a convenient way to collect calculator
IDs for group purchase of commercial applications. After the IDs are
collected, transmit them to Texas Instruments so a group certificate
can be issued.
ID Lists and Group
Certificates
A group certificate allows distribution of purchased software to
multiple TI-89 / TI-92 Plus units. The software can be loaded, deleted
from, and reloaded to the calculators as often as needed for as long
as the software remains listed in the group certificate. You may add
new ID numbers and/or new commercial applications to a group
certificate.
You can use one calculator to collect all of the IDs, or use several
collection units and then consolidate their ID lists onto one
calculator.
Collecting ID Lists
To send an ID number from one calculator to another, first connect
two units by using the calculator-to-calculator cable that came with
the TI-89 / TI-92 Plus. Refer to the illustrations on page 366.
Step: On the:
Do this:
1.
2.
Collecting unit Display the Home screen. Press:
(Receiving unit) TI.89: "
TI.92 Plus: ¥ "
Note: You cannot view the
ID list on the sending or
collecting units.
Sending unit
a. Press 2°to display the VAR-LINK
screen.
b. Press … Link
and select
6:Send ID List.
Note: Each time an ID list is
successfully sent from one
calculator to another, the ID
list is automatically deleted
from the sending unit.
The sending unit adds a copy of its unique ID
number to the collection unit’s ID list. The
sending unit always retains its own ID
number, which cannot be deleted from the
calculator.
Note: If an ID is collected
from a calculator twice, the
duplicate ID is automatically
deleted from the list.
3.
Additional units Repeat steps 1 and 2 until all the IDs are
collected onto one calculator.
Depending on available memory in the
collection calculator, it is possible to collect
over 4,000 IDs.
378
Chapter 22: Linking and Upgrading
After all the IDs are collected onto one calculator, use the TI-GRAPH
LINKé software and a computer-to-calculator cable (available
separately) to store the ID list on a computer. The ID list can then be
sent as an e-mail attachment, or it can be printed and faxed or mailed
to Texas Instruments.
Transmitting the ID
List to a Computer
For complete instructions on how to transmit an ID list from a
TI-89 / TI-92 Plus to a computer, refer to the TI-GRAPH LINK
guidebook. The general steps are:
1. Connect the cable to the computer and to the calculator that
contains the ID list.
2. Start the TI-GRAPH LINK software on the computer.
3. Display the Home screen on the calculator. Press:
TI.89: "
TI.92 Plus: ¥ "
4. In the TI-GRAPH LINK software, select Get ID List from the Link
menu.
5. Select a directory on the computer in which to store the ID list
and record this location for future reference.
6. Click OK to store the ID list on the computer’s hard drive.
The ID list remains on the collection calculator until you either clear
it or send it to another TI-89 / TI-92 Plus.
The ID list remains on the collection calculator after it is uploaded to
the computer. You can then use the collection calculator to upload
the list to other computers.
Clearing the ID List
To clear the ID list from the collection unit:
1. Press 2 ° to display the VAR-LINK screen.
2. Press ƒ Manage and select A:Clear ID List.
Chapter 22: Linking and Upgrading
379
Compatibility between a TI-89, TI-92 Plus, and TI-92
In general, TI-89 and TI-92 Plus data and programs are
compatible, with some differences. However, both calculators
have incompatibilities with the TI-92. Where possible, data
transfer with a TI-92 is allowed.
All data is compatible between a TI-89 and TI-92 Plus, but some
programs written for one may not run the same on the other because
of differences in the calculators’ screen sizes and keyboards.
Main Types of
Incompatibilities
Compared to a TI-92, the TI-89 and TI-92 Plus:
¦
Have functions, instructions, and system variables that do not
exist on the TI-92.
¦
Can use the same variable to define and then evaluate a user-
defined function or program. For example, you can define a
function in terms of x and then evaluate that function using an
expression containing x. This causes a Circular definition error on
the TI-92. Refer to Chapter 17: Programming for more
information.
¦
Manage local variables differently than the TI-92. Refer to
Chapter 17: Programming for more information.
When you create a function or program in the Program Editor, it
exists in text form until you run it. Then it is converted automatically
to a tokenized form.
Text versus
Tokenized
¦
Data in text form can always be shared between a TI-89,
TI-92 Plus, and TI-92. However, the function or program may not
give the same results when run on a different calculator.
Note: If you use the
¦
Data in tokenized form contains information that describes
included functionality. The TI-89 and TI-92 Plus use the same
tokenized forms, but the TI-92 is different.
Program Editor to edit a
function or program that is in
tokenized form, it returns to
text form until the next time
you run it.
−
If you attempt to send a tokenized function, program, or other
data type from a TI-89 or TI-92 Plus to a TI-92, the TI-89 or
TI-92 Plus automatically checks to be sure the functionality is
acceptable for the TI-92. If not, the data is not sent. This is for
your protection because the tokenized data could cause the
TI-92 to lock up if the data is sent with invalid functionality.
−
Even if the tokenized data is sent, this does not guarantee that
the data will give the same results on the other calculator.
380
Chapter 22: Linking and Upgrading
All user-defined variables, including functions and programs, can be
sent from a TI-92 to a TI-89 or TI-92 Plus. However, they may behave
differently. Examples are:
TI-92 to TI-89
or TI-92 Plus
¦
Conflicts between TI-89 / TI-92 Plus system variable, function, and
instruction names and TI-92 user-defined names.
¦
Programs or functions that use symbolic local variables. On a
TI-89 and TI-92 Plus, a local variable must be initialized with a
value before it can be referenced (meaning that a local variable
cannot be used symbolically), or you must use a global variable
instead. This includes programs that evaluate strings as local
variables that are symbolic, such as expr().
Any functionality that exists on a TI-89 or TI-92 Plus and NOT on a
TI-92 will NOT run as expected on a TI-92. In some cases (text form),
the data will transfer but may give an error when run on the TI-92. In
other cases (tokenized form), the data may not be sent to the TI-92.
TI-89 or TI-92 Plus
to TI-92
If the data contains only functionality available on a TI-92, it can
probably be sent to and run on a TI-92 with the same results.
Exceptions include:
¦
Graph databases (GDBs) will not be sent because the TI-89 and
TI-92 Plus use a GDB structure that has more information than the
TI-92 GDB.
¦
A function or program defined in terms of a variable such as x
and then evaluated using some expression containing that same
variable will run on a TI-89 and TI-92 Plus, but will cause a Circular
definition error on a TI-92.
¦
Some existing TI-92 functions and instructions have enhanced
functionality on a TI-89 and TI-92 Plus (such as NewData,
setMode(), and matrix functions that use the optional tolerance
argument). These functions and instructions may not be sent at
all or may cause an error on a TI-92.
¦
¦
Archived variables will not be sent to a TI-92. Unarchive the
variables first.
Data variables that contain headers will not be sent. Those
without headers will be sent only if the contents are TI-92
compatible.
¦
¦
Product software (base code) upgrades.
Flash applications.
You can upgrade a TI-92 to a TI-92 Plus by installing a TI-92 Plus
Module. See the Texas Instruments web site education.ti.com
for more information.
Chapter 22: Linking and Upgrading
381
382
Chapter 22: Linking and Upgrading
Activities
Analyzing the Pole-Corner Problem .................................................... 384
Deriving the Quadratic Formula .......................................................... 386
Exploring a Matrix ................................................................................. 388
Exploring cos(x) = sin(x)...................................................................... 389
Finding Minimum Surface Area of a Parallelepiped.......................... 390
Running a Tutorial Script Using the Text Editor ............................... 392
Decomposing a Rational Function....................................................... 394
Studying Statistics: Filtering Data by Categories .............................. 396
CBL 2/CBL Program for the TI-89 / TI-92 Plus................................... 399
Studying the Flight of a Hit Baseball ................................................... 400
Visualizing Complex Zeros of a Cubic Polynomial............................. 402
Solving a Standard Annuity Problem................................................... 404
Computing the Time-Value-of-Money.................................................. 405
Finding Rational, Real, and Complex Factors.................................... 406
Simulation of Sampling without Replacement................................... 407
23
This chapter contains activities that show how the
TI-89 / TI-92 Plus can be used to solve, analyze, and visualize actual
mathematical problems.
Chapter 23: Activities
383
Analyzing the Pole-Corner Problem
A ten-foot-wide hallway meets a five-foot-wide hallway in the
corner of a building. Find the maximum length pole that can be
moved around the corner without tilting the pole.
The maximum length of a pole c is the shortest line segment touching
the interior corner and opposite sides of the two hallways as shown
in the diagram below.
Maximum Length of
Pole in Hallway
Hint: Use proportional sides and the Pythagorean theorem to find
the length c with respect to w. Then find the zeros of the first
derivative of c(w). The minimum value of c(w) is the maximum length
of the pole.
10
a = w+5
b = 10a
w
w
a
c
5
b
Tip: When you want to
define a function, use
multiple character names as
you build the definition.
1. Define the expression for side
a in terms of w and store it in
a(w).
2. Define the expression for side
b in terms of w and store it in
b(w).
3. Define the expression for side c
in terms of w and store it in
c(w)
Enter: Define c(w)=
‡(a(w)^2+b(w)^2)
Note: The maximum length
of the pole is the minimum
value of c(w).
4. Use the zeros() function to
compute the zeros of the first
derivative of c(w) to find the
minimum value of c(w).
384
Chapter 23: Activities
5. Compute the exact maximum
length of the pole.
Enter: c(2 ± )
Hint: Use the auto-paste
feature to copy the result
from step 4 to the entry line
inside the parentheses of
c( ) and press ¥ ¸.
6. Compute the approximate
maximum length of the pole.
Result: Approximately 20.8097
feet.
Chapter 23: Activities
385
Deriving the Quadratic Formula
This activity shows you how to derive the quadratic formula:
ë b „ bñ -4ac
x =
2a
Detailed information about using the functions in this example
can be found in Chapter 3: Symbolic Manipulation.
Perform the following steps to derive the quadratic formula by
completing the square of the generalized quadratic equation.
Performing
Computations to
Derive the Quadratic
Formula
1. Clear all one-character
variables in the current folder.
TI-89: 2ˆ
TI-92 Plus: ˆ
Choose 1:Clear a-z and press
¸ to confirm.
2. On the Home screen, enter the
generalized quadratic equation:
axñ +bx+c=0.
Note: This example uses
the result of the last answer
to perform computations on
the TI-89 / TI-92 Plus. This
feature reduces keystroking
and chances for error.
3. Subtract c from both sides of
the equation.
TI-89: 2 ± | j C
TI-92 Plus: 2 ± | C
4. Divide both sides of the
equation by the leading
coefficient a.
Tip: Continue to use the last
answer (2 ± ) as in step
3 in steps 4 through 9.
5. Use the expand() function to
expand the result of the last
answer.
6. Complete the square by adding
((b/a)/2)2 to both sides of the
equation.
386
Chapter 23: Activities
7. Factor the result using the
factor() function.
8. Multiply both sides of the
equation by 4añ.
9. Take the square root of both
sides of the equation with the
constraint that a>0 and b>0 and
x>0.
10. Solve for x by subtracting b
from both sides and then
dividing by 2a.
Note: This is only one of the
two general quadratic
solutions due to the
constraint in step 9.
Chapter 23: Activities
387
Exploring a Matrix
This activity shows you how to perform several matrix
operations.
Perform these steps to generate a random matrix, augment and find
the identity matrix, and then solve to find an invalid value of the
inverse.
Exploring a 3x3
Matrix
1. On the Home screen, use
RandSeed to set the random
number generator seed to the
factory default, and then use
randMat() to create a random
3x3 matrix and store it in a.
2. Replace the [2,3] element of the
matrix with the variable x, and
then use the augment()
function, to augment the 3x3
identity to a and store the
result in b.
Tip: Use the cursor in the
history area to scroll the
result.
3. Use rref() to “row reduce”
matrix b:
The result will have the
identity matrix in the first
three columns and a^ë 1 in the
last three columns.
Tip: Use the cursor in the
history area to scroll the
result.
4. Solve for the value of x that
will cause the inverse of the
matrix to be invalid.
Enter: solve(getDenom(
2 ± [1,4] )=0,x)
Result: x=ë 70/17
388
Chapter 23: Activities
Exploring cos(x) = sin(x)
This activity uses two methods to find where cos(x) = sin(x) for
the values of x between 0 and 3p.
Perform the following steps to observe where the graphs of the
functions y1(x)=cos(x) and y2(x)=sin(x) intersect.
Method 1:
Graph Plot
1. In the Y= Editor, set
y1(x)=cos(x) and 2(x)=sin(x).
2. In the Window Editor, set
xmin=0 and xmax=3p.
3. Press „ and select A:ZoomFit.
Hint: Press ‡ and select
5:Intersection. Respond to
the screen prompts to select
the two curves, and the
lower and upper bounds for
intersection A.
4. Find the intersection point of
the two functions.
5. Note the x and y coordinates.
(Repeat steps 4 and 5 to find
the other intersections.)
Perform the following steps to solve the equation sin(x)=cos(x) with
respect to x.
Method 2:
Symbolic
Manipulation
1. On the Home screen, enter
solve(sin(x)= cos(x),x).
The solution for x is where
@n1 is any integer.
Hint: Move the cursor into
the history area to highlight
the last answer. Press
¸ to copy the result of
the general solution.
2. Using the ceiling() and floor()
functions, find the ceiling and
floor values for the
intersection points as shown.
Hint: To get the “with”
operator:
3. Enter the general solution for x
and apply the constraint for
@n1 as shown.
TI-89: Í
TI-92 Plus: 2 È
Compare the result with
Method 1.
Chapter 23: Activities
389
Finding Minimum Surface Area of a Parallelepiped
This activity shows you how to find the minimum surface area
of a parallelepiped having a constant volume V. Detailed
information about the steps used in this example can be found
in Chapter 3: Symbolic Manipulation and Chapter 10:
3D Graphing.
Perform the following steps to define a function for the surface area
of a parallelepiped, draw a 3D graph, and use the Trace tool to find a
point close to the minimum surface area.
Exploring a 3D
Graph of the
Surface Area of a
Parallelepiped
1. On the Home screen, define
the function sa(x,y,v) for the
surface area of a
parallelepiped.
Enter: define sa(x,y,v)=2ù xù y+
2v/x+2v/y
2. Select the 3D Graph mode.
Then enter the function for
z1(x,y) as shown in this
example with volume v=300.
3. Set the Window variables to:
eye=
x=
y=
[60,90,0]
[0,15,15]
[0,15,15]
[260,300]
z=
ncontour= [5]
4. Graph the function and use
Trace to go to the point close
to the minimum value of the
surface area function.
390
Chapter 23: Activities
Perform the following steps to solve the problem analytically on the
Home screen.
Finding the
Minimum Surface
Area Analytically
1. Solve for x and y in terms of v.
Enter:
solve(d(sa(x,y,v),x)=0 and
d(sa(x,y,v),y)=0,{x,y})
Hint: Press ¸ to obtain
the exact result in symbolic
form. Press ¥ ¸ to
obtain the approximate
result in decimal form.
2. Find the minimum surface area
when the value of v equals 300.
Enter: 300! v
Enter: sa(v^(1/3), v^(1/3),v)
Chapter 23: Activities
391
Running a Tutorial Script Using the Text Editor
This activity shows you how to use the Text Editor to run a
tutorial script. Detailed information about text operations can
be found in Chapter 18: Text Editor.
Perform the following steps to write a script using the Text Editor,
test each line, and observe the results in the history area on the
Home screen.
Running a Tutorial
Script
1. Open the Text Editor, and
create a new variable named
demo1.
Note: The command symbol
“C” is accessed from the
„ 1:Command toolbar
menu.
2. Type the following lines into the Text Editor.
: Compute the maximum value of f on the closed interval [a,b]
: assume that f is differentiable on [a,b]
C : define f(x)=x^3ì 2x^2+xì 7
C : 1! a:3.22! b
C : d(f(x),x)! df(x)
C : zeros(df(x),x)
C : f(ans(1))
C : f({a,b})
: The largest number from the previous two commands is the maximum
value of the function. The smallest number is the minimum value.
3. Press … and select 1:Script view to show the Text Editor and the
Home screen on a split-screen. Move the cursor to the first line in
the Text Editor.
392
Chapter 23: Activities
Note: Press … and select
2:Clear split to go back to a
full-sized Text Editor screen.
4. Press † repeatedly to execute each line in the script one at a
time.
Tip: Press 2 K twice to
display the Home screen.
5. To see the results of the script on a full-sized screen, go to the
Home screen.
Chapter 23: Activities
393
Decomposing a Rational Function
This activity examines what happens when a rational function
is decomposed into a quotient and remainder. Detailed
information about the steps used in this example can be found
in Chapter 6: Basic Function Graphing and Chapter 3:
Symbolic Manipulation.
To examine the decomposition of the rational function
f(x)=(xò ì 10xñ ì x+50)/(xì 2) on a graph:
Decomposing a
Rational Function
Note: Actual entries are
displayed in reverse type in
the example screens.
1. On the Home screen, enter the
rational function as shown
below and store it in a function
f(x).
Enter: (x^3ì 10x^2ì x+50)/
(xì 2)! f(x)
2. Use the proper fraction
function (propFrac) to split the
function into a quotient and
remainder.
Hint: Move the cursor into
the history area to highlight
the last answer. Press
¸ to copy it to the entry
line.
3. Copy the last answer to the
entry line.
—or—
Enter: 16/(xì 2)+x^2ì 8ù xì 17
4. Edit the last answer in the
entry line. Store the remainder
to y1(x) and the quotient to
y2(x) as shown.
Enter: 16/(xì 2)! y1(x):
x^2ì 8ù xì 17! y2(x)
5. In the Y= Editor, select the
thick graphing style for y2(x).
394
Chapter 23: Activities
6. Add the original function f(x) to
y3(x) and select the square
graphing style.
7. In the Window Editor, set the
window variables to:
x= [ë 10,15,10]
y= [ë 100,100,10]
Note: Be sure the Graph
mode is set to Function.
8. Draw the graph.
Observe that the global behavior of the f(x) function is basically
represented by the quadratic quotient y2(x). The rational expression
is basically a quadratic function as x gets very large in both the
positive and negative directions.
The lower graph is y3(x)=f(x) graphed separately using the line style.
Chapter 23: Activities
395
Studying Statistics: Filtering Data by Categories
This activity provides a statistical study of the weights of high
school students using categories to filter the data. Detailed
information about using the commands in this example can be
found in Chapter 15: Data/Matrix Editor, and Chapter 16:
Statistics and Data Plots.
Each student is placed into one of eight categories depending on the
student’s sex and academic year (freshman, sophomore, junior, or
senior). The data (weight in pounds) and respective categories are
entered in the Data/Matrix Editor.
Filtering Data by
Categories
Table 1: Category vs. Description
Category (C2) Academic Year and Sex
1
2
3
4
5
6
7
8
Freshman boys
Freshman girls
Sophomore boys
Sophomore girls
Junior boys
Junior girls
Senior boys
Senior girls
Table 2: C1 (weight of each student in pounds) vs. C2 (category)
C1
C2
C1
C2
C1
C2
C1
C2
110
125
105
120
140
85
80
90
80
95
1
1
1
1
1
2
2
2
2
2
115
135
110
130
150
90
95
85
100
95
3
3
3
3
3
4
4
4
4
4
130
145
140
145
165
100
105
115
110
120
5
5
5
5
5
6
6
6
6
6
145
160
165
170
190
110
115
125
120
125
7
7
7
7
7
8
8
8
8
8
396
Chapter 23: Activities
Perform the following steps to compare the weight of high school
students to their year in school.
1. Start the Data/Matrix Editor,
and create a new Data variable
named students.
2. Enter the data and categories
from Table 2 into columns c1
and c2, respectively.
Note: Set up several box
plots to compare different
subsets of the entire data
set.
3. Open the „ Plot Setup toolbar
menu.
4. Define the plot and filter
parameters for Plot 1 as shown
in this screen.
5. Copy Plot 1 to Plot 2.
6. Repeat step 5 and copy Plot 1
to Plot 3, Plot 4, and Plot 5.
Chapter 23: Activities
397
7. Press ƒ, and modify the
Include Categories item for Plot
2 through Plot 5 to the
following:
Plot 2: {1,2}
(freshman boys, girls)
Plot 3: {7,8}
(senior boys, girls)
Plot 4: {1,3,5,7}
(all boys)
Plot 5: {2,4,6,8}
(all girls)
Note: Only Plot 1 through
Plot 5 should be selected.
8. In the Y= Editor, deselect any
functions that may be selected
from a previous activity.
9. Display the plots by pressing
„ and selecting 9:Zoomdata.
10. Use the Trace tool to compare
the median student weights for
different subsets.
all students
all freshmen
all seniors
all boys
median, all students
all girls
398
Chapter 23: Activities
CBL 2/CBL Program for the TI-89 / TI-92 Plus
This activity provides a program that can be used when the TI-89 / TI-92 Plus is connected
to a Calculator-Based Laboratoryé (CBL 2é/CBL™) unit. This program works with the
“Newton’s Law of Cooling” experiment, and is similar to the “Coffee To Go” experiment in
the CBL System Experiment Workbook. You can use your computer keyboard to type
lengthy text and then use TI-GRAPH LINK to send it to the TI-89 / TI-92 Plus.
More TI-89 / TI-92 Plus CBL 2/CBL programs are available from the TI web site at:
education.ti.com/cbl
Program Instruction
Description
:cooltemp()
Program name
:Prgm
:Local i
Declare local variable; exists only at run time.
Set up the TI-89 / TI-92 Plus for function graphing.
Turn off any previous plots.
:setMode("Graph","FUNCTION")
:PlotsOff
:FnOff
Turn off any previous functions.
Clear any items previously drawn on graph screens.
Clear any previous graphs.
:ClrDraw
:ClrGraph
Clear the TI-89 / TI-92 Plus Program IO (input/output) screen.
Set up the Window variables.
:ClrIO
:-10!xmin:99!xmax:10!xscl
:-20!ymin:100!ymax:10!yscl
:{0}!data
Create and/or clear a list named data.
Create and/or clear a list named time.
:{0}!time
Send a command to clear the CBL 2/CBL unit.
Set up Chan. 2 of the CBL 2/CBL to AutoID to record temp.
Prompt the user to press ¸.
:Send{1,0}
:Send{1,2,1}
:Disp "Press ENTER to start"
:Disp "graphingTemperature."
:Pause
Wait until the user is ready to start.
Label the y axis of the graph.
Label the x axis of the graph.
Send the Trigger command to the CBL 2/CBL; collect data in
real-time.
Repeat next two instructions for 99 temperature readings.
Get a temperature from the CBL 2/CBL and store it in a list.
Plot the temperature data on a graph.
:PtText "TEMP(C)",2,99
:PtText "T(S)",80,-5
:Send{3,1,-1,0}
:
:For i,1,99
:Get data[i]
:PtOn i,data[i]
:EndFor
:seq(i,i,1,99,1)!time
:NewPlot 1,1,time,data,,,,4
:DispG
Create a list to represent time or data sample number.
Plot time and data using NewPlot and the Trace tool.
Display the graph.
:PtText "TEMP(C)",2,99
:PtText "T(S)",80,-5
:EndPrgm
Re-label the axes.
Stop the program.
You can also use the Calculator-Based Ranger™ (CBR™) to explore the mathematical and
scientific relationships between distance, velocity, acceleration, and time using data collected
from activities you perform.
Chapter 23: Activities
399
Studying the Flight of a Hit Baseball
This activity uses the split screen settings to show a
parametric graph and a table at the same time to study the
flight of a hit baseball.
Perform the following steps to study the flight of a hit baseball that
has an initial velocity of 95 feet per second and an initial angle of 32
degrees.
Setting Up a
Parametric Graph
and Table
1. Set the modes for Page 1 as
shown in this screen.
2. Set the modes for Page 2 as
shown in this screen.
Hint: Press 2 “to obtain
the degree symbol.
3. In the Y= Editor on the left
side, enter the equation for the
distance of the ball at time t for
xt1(t).
xt1(t)=95ùtùcos(32¡)
4. In the Y= Editor, enter the
equation for the height of the
ball at time t for yt1(t).
yt1(t)=M16ùt^2+95ùtù
sin(32¡)
400
Chapter 23: Activities
5. Set the Window variables to:
t values=
x values=
y values=
[0,4,.1]
[0,300,50]
[0,100,10]
Hint: Press 2 a.
Hint: Press ¥ &.
Hint: Press ¥ '.
6. Switch to the right side and
display the graph.
7. Display the TABLE SETUP
dialog box, and change tblStart
to 0 and @tbl to 0.1.
8. Display the table in the left
side and press Dto highlight
t=2.
Note: As you move the
trace cursor from tc=0.0 to
tc=3.1, you will see the
9. Switch to the right side. Press
…, and trace the graph to
show the values of xc and yc
when tc=2.
position of the ball at time tc.
Assuming the same initial velocity of 95 feet per second, find the
angle that the ball should be hit to achieve the greatest distance.
Optional Exercise
Chapter 23: Activities
401
Visualizing Complex Zeros of a Cubic Polynomial
This activity describes graphing the complex zeros of a cubic
polynomial. Detailed information about the steps used in this
example can be found in Chapter 3: Symbolic Manipulation
and Chapter 10: 3D Graphing.
Perform the following steps to expand the cubic polynomial
(xì 1)(xì i)(x+i), find the absolute value of the function, graph the
modulus surface, and use the Trace tool to explore the modulus
surface.
Visualizing Complex
Roots
1. On the Home screen, use the
expand() function to expand
the cubic expression
(xì 1)(xì i) (x+i) and see the first
polynomial.
Hint: Move the cursor into
the history area to highlight
the last answer and press
¸, to copy it to the entry
line.
2. Copy and paste the last answer
to the entry line and store it in
the function f(x).
Note: The absolute value of
a function forces any roots
to visually just touch rather
than cross the x axis.
Likewise, the absolute value
of a function of two variables
will force any roots to
3. Use the abs() function to find
the absolute value of f(x+yi).
(This calculation may take
about 2 minutes.)
4. Copy and paste the last answer
to the entry line and store it in
the function z1(x,y).
visually just touch the xy
plane.
Note: The graph of z1(x,y)
will be the modulus surface.
5. Set the unit to 3D graph mode,
turn on the axes for graph
format, and set the Window
variables to:
eye=
x=
y=
z=
[20,70,0]
[ë 2,2,20]
[ë 2,2,20]
[ë 1,2]
ncontour=
[5]
402
Chapter 23: Activities
Note: Calculating and
drawing the graph takes
about three minutes.
6. In the Y=Editor, press:
TI-89: ¥ Í
TI-92 Plus: ¥ F
and set the Graph Format
variables to:
Axes= ON
Labels= ON
Style= HIDDEN SURFACE
7. Graph the modulus surface.
The 3D graph is used to
visually display a picture of the
roots where the surface
touches the xy plane.
8. Use the Trace tool to explore
the function values at x=1 and
y=0.
9. Use the Trace tool to explore
the function values at x=0 and
y=1.
10. Use the Trace tool to explore
the function values at x=0 and
y=ë 1.
Note that zc is zero for each of the function values in steps 7–9. Thus,
the complex zeros 1,ë i, i of the polynomial xò ì xñ +xì 1 can be
visualized with the three points where the graph of the modulus
surface touches the xy plane.
Summary
Chapter 23: Activities
403
Solving a Standard Annuity Problem
This activity can be used to find the interest rate, starting
principal, number of compounding periods, and future value of
an annuity.
Perform the following steps to find the interest rate (i) of an annuity
where the starting principal (p) is 1,000, number of compounding
periods (n) is 6, and the future value (s) is 2,000.
Finding the Interest
Rate of an Annuity
1. On the Home screen, enter the
equation to solve for p.
2. Enter the equation to solve
for n.
Tip: To enter the “with” (|)
operator:
TI-89: Í
3. Enter the equation to solve for
i using the “with” operator.
TI-92 Plus: 2 È
solve(s=pù (1+i)^n,i) | s=2000 and
p=1000 and n=6
Tip: Press ¥ ¸ to
Result: The interest rate is
12.246%.
obtain a floating-point result.
Find the future value of an annuity using the values from the
previous example where the interest rate is 14%.
Finding the Future
Value of an Annuity
Enter the equation to solve for s.
solve(s=pù (1+i)^n,s)| i=.14 and
p=1000 and n=6
Result: The future value at 14%
interest is 2,194.97.
404
Chapter 23: Activities
Computing the Time-Value-of-Money
This activity creates a function that can be used to find the
cost of financing an item. Detailed information about the steps
used in this example can be found in Chapter 17: Programming.
In the Program Editor, define the following Time-Value-of-Money
(tvm) function where temp1 = number of payments, temp2 = annual
interest rate, temp3 = present value, temp4 = monthly payment,
temp5 = future value, and temp6 = begin- or end-of-payment period
(1 = begining of month, 0 = end of month).
Time-Value-of-
Money Function
:tvm(temp1,temp2,temp3,temp4,temp5,temp6)
:Func
:Local tempi,tempfunc,tempstr1
:ë temp3+(1+temp2/1200ù temp6)ù temp4ù ((1ì (1+temp2/1200)^
Tip: You can use your
computer keyboard to type
lengthy text and then use
TI-GRAPH LINK to send it
to the TI-89 / TI-92 Plus.
(ë temp1))/(temp2/1200))ì temp5ù (1+temp2/1200)^(ë temp1)
! tempfunc
:For tempi,1,5,1
:"temp"&exact(string(tempi))! tempstr1
:If when(#tempstr1=0,false,false,true) Then
:If tempi=2
:Return approx(nsolve(tempfunc=0,#tempstr1) | #tempstr1>0 and
#tempstr1<100)
:Return approx(nsolve(tempfunc=0,#tempstr1))
:EndIf
:EndFor
:Return "parameter error"
:EndFunc
Find the monthly payment on 10,000 if you make 48 payments at 10%
interest per year.
Finding the Monthly
Payment
On the Home screen, enter the tvm
values to find pmt.
Result: The monthly payment is
251.53.
Find the number of payments it will take to pay off the loan if you
could make a 300 payment each month.
Finding the Number
of Payments
On the Home screen, enter the tvm
values to find n.
Result: The number of payments
is 38.8308.
Chapter 23: Activities
405
Finding Rational, Real, and Complex Factors
This activity shows how to find rational, real, or complex
factors of expressions. Detailed information about the steps
used in this example can be found in Chapter 3: Symbolic
Manipulation.
Enter the expressions shown below on the Home screen.
Finding Factors
1. factor(x^3ì 5x) ¸ displays a
rational result.
2. factor(x^3+5x) ¸ displays a
rational result.
3. factor(x^3ì 5x,x) ¸ displays
a real result.
4. cfactor(x^3+5x,x) ¸ displays
a complex result.
406
Chapter 23: Activities
Simulation of Sampling without Replacement
This activity simulates drawing different colored balls from an urn
without replacing them. Detailed information about the steps used
in this example can be found in Chapter 17: Programming.
In the Program Editor, define drawball() as a function that can be
called with two parameters. The first parameter is a list where each
element is the number of balls of a certain color. The second
parameter is the number of balls to select. This function returns a list
where each element is the number of balls of each color that were
selected.
Sampling-without-
Replacement
Function
:drawball(urnlist,drawnum)
:Func
:If pick urncum[j] Then
:drawlist[j]+1! drawlist[j]
:templist[j]ì 1! templist[j]
:Exit
:EndIf
:EndFor
:EndFor
:Return drawlist
:EndFunc
:Local templist,drawlist,colordim,
numballs,i,pick,urncum,j
:If drawnum>sum(urnlist)
:Return “too few balls”
:dim(urnlist)! colordim
:urnlist! templist
:newlist(colordim)! drawlist
:For i,1,drawnum,1
:sum(templist)! numballs
:rand(numballs)! pick
:For j,1,colordim,1
:cumSum(templist)! urncum
(continued in next column)
Suppose an urn contains n1 balls of a color, n2 balls of a second
color, n3 balls of a third color, etc. Simulate drawing balls without
replacing them.
Sampling without
Replacement
1. Enter a random seed using the
RandSeed command.
2. Assuming the urn contains 10
red balls and 25 white balls,
simulate picking 5 balls at
random from the urn without
replacement. Enter
drawball({10,25},5).
Result: 2 red balls and 3 white
balls.
Chapter 23: Activities
407
408
Chapter 23: Activities
Functions and Instructions
Quick-Find Locator ................................................................................ 410
Alphabetical Listing of Operations ...................................................... 414
A
This appendix describes the syntax and the action of each TI-89 / TI-92 Plus function and
instruction.
Name of the function or instruction.
Key or menu for entering the name.
You can also type the name.
Example
Circle
CATALOG
In a ZoomSqr viewing window:
Circle x, y, r [, drawMode]
Draws a circle with its center at window
coordinates (x, y) and with a radius of r.
ZoomSqr:Circle 1,2,3
¸
x, y, and r must be real values.
If drawMode = 1, draws the circle (default).
If drawMode = 0, turns off the circle.
If drawMode = -1, inverts pixels along the
circle.
Note: Regraphing erases all drawn items.
Explanation of the function or
instruction.
Arguments are shown in italics.
Arguments in [ ] brackets are
optional. Do not type the brackets.
Syntax line shows the order and the type of
arguments that you supply. Be sure to separate
multiple arguments with a comma (,).
Appendix A: Functions and Instructions
409
Quick-Find Locator
This section lists the TI-89 / TI-92 Plus functions and
| ("with")
538
425
447
474
503
519
cFactor()
cZeros
getDenom()
propFrac()
tCollect()
comDenom() 421
Algebra
cSolve()
factor()
nSolve()
solve()
expand()
getNum()
randPoly()
tExpand()
zeros()
Calculus
Graphics
‰() (integrate) 532
G() (sum)
d()
fMin()
nInt()
arcLen()
deSolve()
limit()
416
434
460
536
avgRC()
fMax()
nDeriv()
seq()
' (prime)
taylor()
AndPic
ClrDraw
DrawFunc
DrawPol
FnOff
Line
LineVert
PtOff
PtText
PxlHorz
PxlOn
PxlVert
RplcPic
StoPic
415
420
439
440
449
461
462
483
483
484
484
485
493
507
519
522
523
524
525
BldData
ClrGraph
DrawInv
DrawSlp
FnOn
LineHorz
NewPic
PtOn
PxlChg
PxlLine
pxlTest()
RclGDB
Shade
418
488
498
508
521
523
524
524
525
Circle
420
485
489
507
515
522
523
524
525
CyclePic
DrawParm
DrwCtour
Graph
LineTan
PtChg
ptTest()
PxlCrcl
PxlOff
PxlText
RclPic
StoGDB
Trace
ZoomData
ZoomIn
ZoomPrev
ZoomStd
Style
XorPic
ZoomBox
ZoomFit
ZoomOut
ZoomSqr
ZoomTrig
ZoomDec
ZoomInt
ZoomRcl
ZoomSto
Lists
+ (add)
à (divide)
augment()
dim()
left()
mat4list()
min()
product()
shift()
sum()
526
527
417
437
460
467
469
482
499
508
ì (subtract)
ë (negate)
crossP()
dotP()
list4mat()
max()
newList()
right()
SortA
526
528
425
439
463
467
471
491
506
ù (multiply)
^ (power)
cumSum()
exp4list()
@list()
mid()
polyEval()
rotate()
527
534
428
444
463
468
480
491
506
SortD
410
Appendix A: Functions and Instructions
Math
+ (add)
à (divide)
526
527
531
535
ì (subtract)
ë (negate)
(angle)
4 (convert)
4Bin
4Dec
4Polar
abs()
approx()
cos
coshê()
exact()
gcd()
intDiv()
lcm()
max()
ù (multiply)
% (percent)
^ (power)
¡, ', "
10^()
4Cylind
4DMS
438
489
414
418
424
441
448
457
459
463
469
474
535
489
492
501
502
511
514
!
¡
(factorial)
(degree)
480
414
416
423
424
443
451
458
460
467
470
476
487
491
500
502
511
514
_ (underscore) 536
0b, 0h
4DD
4Hex
4Sphere
angle()
conj()
cosh()
e^()
fpart()
int()
isPrime()
log()
mod()
P4Rx()
R4Pq()
remain()
shift()
sinê()
tan()
539
432
456
506
415
422
424
441
451
458
459
465
469
476
487
490
499
501
510
511
538
4Rect
and
ceiling()
cosê()
E
floor()
imag()
iPart()
ln()
min()
nPr()
nCr()
r
P4Ry()
R4Pr()
rotate()
sign()
sinh()
tanê()
tmpCnv()
(radian)
real()
round()
sin()
sinhê()
tanh()
@tmpCnv()
tanhê()
xê
Matrices
+ (add)
à (divide)
.. (dot subt.)
526
527
531
ì (subtract)
ë (negate)
. (dot mult.)
^ (power)
colNorm()
det()
dotP()
Fill
LU
mean()
mRow()
norm()
randMat()
rowDim()
rref()
526
528
531
534
421
436
439
448
466
467
469
473
488
492
493
508
516
ù (multiply)
.+ (dot add)
. / (dot divide) 531
augment()
crossP()
diag()
527
530
.^ (dot power) 531
417
425
436
442
456
467
467
470
482
490
493
500
508
517
colDim()
cumSum()
dim()
eigVl()
list4mat()
max()
min()
newMat()
QR
rowAdd()
rowSwap()
stdDev()
T
421
428
437
442
463
467
469
471
485
492
493
506
509
538
eigVc()
identity()
mat4list()
median()
mRowAdd()
product()
ref()
rowNorm()
simult()
sum()
subMat()
unitV()
variance()
xê
Appendix A: Functions and Instructions
411
Programming
=
≤
529
530
≠
529
451
453
454
456
459
464
469
473
477
481
490
491
494
496
507
510
513
516
518
<
≥
>
# (indirection) 534
and
ClrErr
ClrIO
! (store)
ans()
414
420
421
428
429
434
438
440
443
443
443
443
444
451
452
453
455
458
460
466
472
476
479
482
491
494
495
497
509
513
515
517
Archive
ClrHome
CopyVar
Custom
DelFold
Disp
DispTbl
ElseIf
EndFor
EndLoop
EndTry
Exec
format()
GetCalc
getKey()
getUnits()
Input
Lbl
Lock
NewFold
or
PassErr
Prgm
Request
Send
setFold()
setTable()
Style
452
453
454
457
459
464
471
475
479
481
490
494
495
497
508
513
515
516
518
ClrGraph
ClrTable
CustmOn
Define
Dialog
DispHome
Else
EndDlog
EndIf
EndTBar
entry()
For
CustmOff
Cycle
DelVar
DispG
DropDown
EndCustm
EndFunc
EndPrgm
EndWhile
Exit
Func
Get
getConfg()
getMode()
Goto
InputStr
left()
getFold()
getType()
If
Item
Local
MoveVar
not
part()
PopUp
Rename
right()
SendChat
setMode()
Stop
Loop
NewProb
Output
Pause
Prompt
Return
SendCalc
setGraph()
setUnits()
switch()
Then
Table
Title
Unarchiv
While
Text
Toolbar
Unlock
xor
Try
when()
Statistics
! (factorial)
cumSum()
LnReg
median()
NewData
OneVar
PowerReg
rand()
ShowStat
SortD
531
428
464
467
471
475
481
488
500
506
517
BldData
ExpReg
Logistic
MedMed
NewPlot
PlotsOff
QuadReg
randNorm()
SinReg
418
446
465
468
472
480
486
488
503
506
CubicReg
LinReg
mean()
nCr()
428
462
467
470
474
480
487
488
506
516
nPr()
PlotsOn
QuartReg
RandSeed
SortA
stdDev()
TwoVar
variance()
412
Appendix A: Functions and Instructions
Alphabetical Listing of Operations
Operations whose names are not alphabetic (such as +, !, and >) are listed at the end of
this appendix, starting on page 526. Unless otherwise specified, all examples in this
section were performed in the default reset mode, and all variables are assumed to be
undefined. Additionally, due to formatting restraints, approximate results are truncated at
three decimal places (3.14159265359 is shown as 3.141...).
abs()
MATH/Number menu
abs(expression1) expression
abs(list1) list
abs(matrix1)
p
p
⇒
abs({p/2,ë p/3}) ¸
{
}
⇒
2 3
⇒
matrix
abs(2ì3i) ¸
13
Returns the absolute value of the argument.
abs(z) ¸
|z|
If the argument is a complex number, returns
the number’s modulus.
x2 y2
+
abs(x+yi) ¸
Note: All undefined variables are treated as
real variables.
and
MATH/Test and MATH/Base menus
Boolean expression1 and expression2
⇒
x‚3 and x‚4¸
x‚4
Boolean expression
{x‚3,x0} and {x‚4,xë2}¸
Boolean list1 and list2
Boolean matrix1 and matrix2
⇒
Boolean list
Boolean
{x‚ 4 x ë2}
⇒
matrix
Returns true or false or a simplified form of
the original entry.
integer1 and integer2
⇒
integer
In Hex base mode:
Compares two real integers bit-by-bit using
an and operation. Internally, both integers are
converted to signed, 32-bit binary numbers.
When corresponding bits are compared, the
result is 1 if both bits are 1; otherwise, the
result is 0. The returned value represents the
bit results, and is displayed according to the
Base mode.
0h7AC36 and 0h3D5F ¸ 0h2C16
Important: Zero, not the letter O.
In Bin base mode:
0b100101 and 0b100 ¸
0b100
4
In Dec base mode:
You can enter the integers in any number
base. For a binary or hexadecimal entry, you
must use the 0b or 0h prefix, respectively.
Without a prefix, integers are treated as
decimal (base 10).
37 and 0b100 ¸
Note: A binary entry can have up to 32
digits (not counting the 0b prefix). A
hexadecimal entry can have up to 8 digits.
If you enter a decimal integer that is too large
for a signed, 32-bit binary form, a symmetric
modulo operation is used to bring the value
into the appropriate range.
414
Appendix A: Functions and Instructions
AndPic
CATALOG
AndPic picVar[, row, column]
Displays the Graph screen and logically
In function graphing mode and Y= Editor:
y1(x) = cos(x) C
“ANDS” the picture stored in picVar and the
current graph screen at pixel coordinates
(row, column).
TI-89: 2ˆ Style = 3:Square
TI-92 Plus: ˆ Style = 3:Square
„ Zoom = 7:ZoomTrig
ƒ = 2:Save Copy As...
picVar must be a picture type.
Type = Picture, Variable = PIC1
Default coordinates are (0,0), which is the
upper left corner of the screen.
y2(x) = sin(x)
TI-89: 2ˆ Style = 3:Square
TI-92 Plus: ˆ Style = 3:Square
y1 = no checkmark (F4 to
deselect)
„ Zoom = 7:ZoomTrig
TI-89:
"
TI-92 Plus: ¥"
AndPic PIC1¸
Done
angle()
MATH/Complex menu
angle(expression1)
⇒
expression
In Degree angle mode:
angle(0+2i)¸
90
Returns the angle of expression1, interpreting
expression1 as a complex number.
In Radian angle mode:
Note: All undefined variables are treated as
p
4
real variables.
angle(1+i)¸
angle(z)¸
angle(x+iy)¸
angle(list1)
angle(matrix1)
⇒
list
⇒
In Radian angle mode:
matrix
angle({1+2i,3+0i,0ì4i}) ¸
Returns a list or matrix of angles of the
elements in list1 or matrix1, interpreting each
element as a complex number that
represents a two-dimensional rectangular
coordinate point.
Appendix A: Functions and Instructions
415
ans()
2 ± key
ans()
ans(integer)
⇒
value
⇒
To use ans() to generate the Fibonacci
sequence on the Home screen, press:
value
1¸
1¸
1
1
2
3
5
Returns a previous answer from the
Home screen history area.
2 ± « 2 ± A 0 2¸
¸
¸
integer, if included, specifies which previous
answer to recall. Valid range for integer is
from 1 to 99 and cannot be an expression.
Default is 1, the most recent answer.
approx() MATH/Algebra menu
approx(p)¸
3.141...
approx(expression)
⇒
value
Returns the evaluation of expression as a
decimal value, when possible, regardless of
the current Exact/Approx mode.
This is equivalent to entering expression and
pressing ¥ ¸ on the Home screen.
approx({sin(p),cos(p)})¸
{0. ë1.}
approx(list1)
approx(matrix1)
⇒
list
⇒
matrix
Returns a list or matrix where each element
has been evaluated to a decimal value, when
possible.
approx([‡(2),‡(3)])¸
[1.414... 1.732...]
Archive
CATALOG
10!arctest ¸
Archive arctest ¸
5ùarctest ¸
10
Done
50
Archive var1 [, var2] [, var3] …
Moves the specified variables from RAM to
the user data archive memory.
15!arctest ¸
You can access an archived variable the same
as you would a variable in RAM. However,
you cannot delete, rename, or store to an
archived variable because it is locked
automatically.
To unarchive variables, use Unarchiv.
N
Unarchiv arctest ¸
15!arctest ¸
Done
15
arcLen() MATH/Calculus menu
arcLen(cos(x),x,0,p)¸ 3.820...
arcLen(expression1,var,start,end)
⇒
expression
Returns the arc length of expression1 from
start to end with respect to variable var.
arcLen(f(x),x,a,b)¸
b
d
dx
Regardless of the graphing mode, arc length
is calculated as an integral assuming a
function mode definition.
⌠
( (f(x)))ñ+1 dx
⌡
a
arcLen({sin(x),cos(x)},x,0,p)
arcLen(list1,var,start,end)
⇒
list
{3.820... 3.820...}
Returns a list of the arc lengths of each
element of list1 from start to end with
respect to var.
416
Appendix A: Functions and Instructions
augment() MATH/Matrix menu
augment({1,ë3,2},{5,4})¸
{1 ë3 2 5 4}
augment(list1, list2)
⇒
list
Returns a new list that is list2 appended to
the end of list1.
1 2
augment(matrix1, matrix2)
augment(matrix1; matrix2)
⇒
⇒
matrix
matrix
[1,2;3,4]!M1¸
[ ]
3 4
5
[5;6]!M2¸
[ ]
6
Returns a new matrix that is matrix2
appended to matrix1. When the “,” character
is used, the matrices must have equal row
dimensions, and matrix2 is appended to
matrix1 as new columns. When the “;”
character is used, the matrices must have
equal column dimensions, and matrix2 is
appended to matrix1 as new rows. Does not
alter matrix1 or matrix2.
1 2 5
augment(M1,M2)¸
[
]
3 4 6
5 6
[ ]
[5,6]!M2¸
1 2
3 4
5 6
augment(M1;M2)¸
avgRC()
CATALOG
avgRC(f(x),x,h)¸
avgRC(expression1, var [, h])
⇒
expression
f(x+h) - f(x)
Returns the forward-difference quotient
(average rate of change).
h
avgRC(sin(x),x,h)|x=2¸
expression1 can be a user-defined function
name (see Func).
sin(h+2) - sin(2)
h
h is the step value. If h is omitted, it defaults
to 0.001.
avgRC(x^2ìx+2,x)¸
2.ø(x- .4995)
Note that the similar function nDeriv() uses
the central-difference quotient.
avgRC(x^2ìx+2,x,.1)¸
2.ø(x- .45)
avgRC(x^2ìx+2,x,3)¸ 2ø(x+1)
4Bin
MATH/Base menu
2564Bin ¸
0b100000000
0b11111
integer1 4Bin
⇒
integer
Converts integer1 to a binary number. Binary
or hexadecimal numbers always have a 0b or
0h prefix, respectively.
0h1F4Bin ¸
Zero, not the letter O, followed by b or h.
0b binaryNumber
0h hexadecimalNumber
A binary number can have up to
32 digits. A hexadecimal number
can have up to 8.
Without a prefix, integer1 is treated as
decimal (base 10). The result is displayed in
binary, regardless of the Base mode.
If you enter a decimal integer that is too large
for a signed, 32-bit binary form, a symmetric
modulo operation is used to bring the value
into the appropriate range.
Appendix A: Functions and Instructions
417
BldData
CATALOG
BldData [dataVar]
Creates data variable dataVar based on the
In function graphing mode and Radian
angle mode:
8ùsin(x)!y1(x) ¸
2ùsin(x)!y2(x) ¸
ZoomStd ¸
Done
Done
information used to plot the current graph.
BldData is valid in all graphing modes.
If dataVar is omitted, the data is stored in the
system variable sysData.
Note: The first time you start the Data/Matrix
Editor after using BldData, dataVar or sysData
(depending on the argument you used with
BldData) is set as the current data variable.
The incremental values used for any
independent variables (x in the example to
the right) are calculated according to the
Window variable values.
TI-89:
"
TI-92 Plus: ¥ "
BldData ¸
O 6 ¸
Done
For information about the increments used to
evaluate a graph, refer to the chapter that
describes that graphing mode.
3D graphing mode has two independent
variables. In the sample data to the right,
notice that x remains constant as y
Note: The following sample data is from a
3D graph.
increments through its range of values.
Then, x increments to its next value and y
again increments through its range. This
pattern continues until x has incremented
through its range.
ceiling()
MATH/Number menu
ceiling(0.456)¸
1.
ceiling(expression1)
⇒
integer
Returns the nearest integer that is ‚ the
argument.
The argument can be a real or a complex
number.
Note: See also floor().
ceiling({ë3.1,1,2.5})¸
ceiling(list1)
ceiling(matrix1)
⇒
list
⇒
matrix
{ë3. 1 3.}
Returns a list or matrix of the ceiling of each
element.
ceiling([0,ë3.2i;1.3,4])¸
ë3.øi
0
2.
[
]
4
418
Appendix A: Functions and Instructions
cFactor() MATH/Algebra/Complex menu
cFactor(expression1[, var])
cFactor(list1[,var]) list
cFactor(matrix1[,var])
⇒
expression
cFactor(a^3ùx^2+aùx^2+a^3+a)
¸
aø(a+ëi)ø(a+ i)ø(x+ëi)ø(x+i)
⇒
⇒
matrix
cFactor(x^2+4/9)¸
cFactor(expression1) returns expression1
factored with respect to all of its variables
over a common denominator.
(3øx+ë2øi)ø(3øx+2ø i)
9
expression1 is factored as much as possible
toward linear rational factors even if this
introduces new non-real numbers. This
alternative is appropriate if you want
factorization with respect to more than one
variable.
cFactor(x^2+3)¸
xñ +3
cFactor(x^2+a)¸
xñ +a
cFactor(expression1,var) returns expression1
factored with respect to variable var.
cFactor(a^3ùx^2+aùx^2+a^3+a,x)
¸
aø(añ +1)ø(x+ë i)ø(x+i)
expression1 is factored as much as possible
toward factors that are linear in var, with
perhaps non-real constants, even if it
introduces irrational constants or
subexpressions that are irrational in other
variables.
cFactor(x^2+3,x)¸
(x+‡3ø i)ø(x+ë‡3ø i)
cFactor(x^2+a,x)¸
(x+‡aøëi)ø(x+‡aø i)
The factors and their terms are sorted with
var as the main variable. Similar powers of
var are collected in each factor. Include var if
factorization is needed with respect to only
that variable and you are willing to accept
irrational expressions in any other variables
to increase factorization with respect to var.
There might be some incidental factoring
with respect to other variables.
cFactor(x^5+4x^4+5x^3ì6xì3)
¸
For the AUTO setting of the Exact/Approx
mode, including var also permits
approximation with floating-point
x5 +4øx4 +5øx3 ì6øxì3
coefficients where irrational coefficients
cannot be explicitly expressed concisely in
terms of the built-in functions. Even when
there is only one variable, including var might
yield more complete factorization.
cFactor(ans(1),x)¸
(xì.965)ø(x+.612)ø(x+2.13)ø
(x+1.11ì 1.07øi)ø
(x+1.11+1.07øi)
Note: See also factor().
char()
MATH/String menu
char(38)¸
"&"
"A"
char(integer)
⇒
character
Returns a character string containing the
character numbered integer from the
TI-89 / TI-92 Plus character set. See
Appendix B for a complete listing of
character codes.
char(65)¸
The valid range for integer is 0–255.
Appendix A: Functions and Instructions
419
Circle
CATALOG
Circle x, y, r [, drawMode]
In a ZoomSqr viewing window:
ZoomSqr:Circle 1,2,3¸
Draws a circle with its center at window
coordinates (x, y) and with a radius of r.
x, y, and r must be real values.
If drawMode = 1, draws the circle (default).
If drawMode = 0, turns off the circle.
If drawMode = -1, inverts pixels along the
circle.
Note: Regraphing erases all drawn items. See
also PxlCrcl.
ClrDraw
CATALOG
ClrDraw
Clears the Graph screen and resets the Smart
Graph feature so that the next time the Graph
screen is displayed, the graph will be
redrawn.
While viewing the Graph screen, you can
clear all drawn items (such as lines and
points) by pressing † (ReGraph) or pressing:
TI-89: 2 ˆ
TI-92 Plus: ˆ
and selecting 1:ClrDraw.
ClrErr
CATALOG
Program listing:
ClrErr
Clears the error status. It sets errornum to
zero and clears the internal error context
variables.
:clearerr()
:Prgm
:PlotsOff:FnOff:ZoomStd
:For i,0,238
:@xù i+xmin! xcord
The Else clause of the Try...EndTry in the
program should use ClrErr or PassErr. If the
error is to be processed or ignored, use
ClrErr. If what to do with the error is not
known, use PassErr to send it to the next
error handler. If there are no more pending
Try...EndTry error handlers, the error dialog
box will be displayed as normal.
: Try
: PtOn xcord,ln(xcord)
: Else
: If errornum=800 or
errornum=260 Then
:
ClrErr ¦ clear the error
: Else
PassErr ¦ pass on any other
:
Note: See also PassErr and Try.
error
: EndIf
: EndTry
:EndFor
:EndPrgm
ClrGraph CATALOG
ClrGraph
Clears any functions or expressions that
were graphed with the Graph command or
were created with the Table command. (See
Graph or Table.)
Any previously selected Y= functions will be
graphed the next time that the graph is
displayed.
420
Appendix A: Functions and Instructions
ClrHome CATALOG
ClrHome
Clears all items stored in the entry() and ans()
Home screen history area. Does not clear the
current entry line.
While viewing the Home screen, you can
clear the history area by pressing ƒ and
selecting 8:Clear Home.
For functions such as solve() that return
arbitrary constants or integers (@1, @2, etc.),
ClrHome resets the suffix to 1.
ClrIO
CATALOG
ClrIO
Clears the Program I/O screen.
ClrTable CATALOG
ClrTable
Clears all table values. Applies only to the
ASK setting on the Table Setup dialog box.
While viewing the Table screen in Ask mode,
you can clear the values by pressing ƒ and
selecting 8:Clear Table.
colDim() MATH/Matrix/Dimensions menu
colDim([0,1,2;3,4,5])¸
3
colDim(matrix)
⇒
expression
Returns the number of columns contained in
matrix.
Note: See also rowDim().
colNorm() MATH/Matrix/Norms menu
[1,ë 2,3;4,5,ë 6]! mat¸
colNorm(matrix)
⇒
expression
1 ë 2 3
4 5 ë 6
Returns the maximum of the sums of the
absolute values of the elements in the
columns in matrix.
[
]
colNorm(mat)¸
9
Note: Undefined matrix elements are not
allowed. See also rowNorm().
comDenom() MATH/Algebra menu
comDenom(expression1[,var])
comDenom(list1[,var]) list
comDenom(matrix1[,var])
⇒
expression
comDenom((y^2+y)/(x+1)^2+y^2+y)
¸
⇒
⇒
matrix
comDenom(expression1) returns a reduced ratio
of a fully expanded numerator over a fully
expanded denominator.
Appendix A: Functions and Instructions
421
comDenom(expression1,var) returns a reduced
comDenom((y^2+y)/(x+1)
ratio of numerator and denominator expanded ^2+y^2+y,x) ¸
with respect to var. The terms and their factors
are sorted with var as the main variable.
Similar powers of var are collected. There
might be some incidental factoring of the
collected coefficients. Compared to omitting
var, this often saves time, memory, and screen
space, while making the expression more
comprehensible. It also makes subsequent
operations on the result faster and less likely to
exhaust memory.
comDenom((y^2+y)/(x+1)
^2+y^2+y,y) ¸
If var does not occur in expression1,
comDenom(expression1,var) returns a reduced
ratio of an unexpanded numerator over an
unexpanded denominator. Such results usually
save even more time, memory, and screen
space. Such partially factored results also
make subsequent operations on the result
much faster and much less likely to exhaust
memory.
comDenom(exprn,abc)!comden
(exprn) ¸
Done
comden((y^2+y)/(x+1)^2+y^2+y)
¸
Even when there is no denominator, the
comden function is often a fast way to achieve
partial factorization if factor() is too slow or if it
exhausts memory.
comden(1234x^2ù (y^3ì y)+2468x
ù (y^2ì 1))¸
1234ø xø (xø y+2)ø (yñ ì 1)
Hint: Enter this comden() function definition
and routinely try it as an alternative to
comDenom() and factor().
conj()
MATH/Complex menu
conj(1+2i)¸
1ì 2ø i
conj(expression1)
conj(list1) list
conj(matrix1)
⇒
expression
⇒
⇒
matrix
conj([2,1ì 3i;ë i,ë 7])¸
Returns the complex conjugate of the
argument.
2 1+3ø i
ë 7
i
Note: All undefined variables are treated as
real variables.
conj(z)
z
conj(x+iy)
x+ë iø y
CopyVar CATALOG
x+y! a¸
10! x¸
CopyVar a,b¸
a! c¸
DelVar x¸
b¸
x+y
10
CopyVar var1, var2
Copies the contents of variable var1 to var2.
If var2 does not exist, CopyVar creates it.
Done
y+10
Done
x+y
y+10
Note: CopyVar is similar to the store
instruction (! ) when you are copying an
expression, list, matrix, or character string
except that no simplification takes place
when using CopyVar. You must use CopyVar
with non-algebraic variable types such as Pic
and GDB variables.
c¸
422
Appendix A: Functions and Instructions
cos()
TI-89: 2 X key
cos(expression1) expression
cos(list1) list
TI-92 Plus: X key
⇒
In Degree angle mode:
⇒
‡2
2
cos((p/4)ô )¸
cos(expression1) returns the cosine of the
argument as an expression.
‡2
2
cos(45)¸
cos(list1) returns a list of the cosines of all
elements in list1.
cos({0,60,90})¸ {1 1/2 0}
Note: The argument is interpreted as either a
degree or radian angle, according to the
current angle mode setting. You can use
ó or ô to override the angle mode
temporarily.
In Radian angle mode:
‡2
2
cos(p/4)¸
‡2
2
cos(45¡)¸
cos(squareMatrix1)
⇒
squareMatrix
In Radian angle mode:
cos([1,5,3;4,2,1;6,ë 2,1]) ¸
Returns the matrix cosine of squareMatrix1.
This is not the same as calculating the cosine
of each element.
.212… .205…
.160… .259…
.121…
.037…
When a scalar function f(A) operates on
squareMatrix1 (A), the result is calculated by
the algorithm:
.248… ë.090… .218…
1. Compute the eigenvalues (li) and
eigenvectors (Vi) of A.
squareMatrix1 must be diagonalizable.
Also, it cannot have symbolic variables
that have not been assigned a value.
2. Form the matrices:
l1
0
0
0
… 0
l2 … 0
0
0
B =
and X = [V1,V2, … ,Vn]
… 0
… ln
0
3. Then A = X B Xê and f(A) = X f(B) Xê. For
example, cos(A) = X cos(B) Xê where:
cos(λ1)
0
K
K
K
K
0
0
0
0
cos(λ2)
0
0
cos (B) =
0
0
cos(λn)
All computations are performed using
floating-point arithmetic.
Appendix A: Functions and Instructions
423
cosê()
TI-89: ¥ R key
TI-92 Plus: 2 R key
In Degree angle mode:
cosê (expression1)
cosê (list1) list
⇒
expression
⇒
cosê (1) ¸
0
cosê (expression1) returns the angle whose
cosine is expression1 as an expression.
In Radian angle mode:
cosê ({0,.2,.5})¸
cosê (list1) returns a list of the inverse
cosines of each element of list1.
p
{
1.369... 1.047...}
2
Note: The result is returned as either a
degree or radian angle, according to the
current angle mode setting.
cosê(squareMatrix1)
⇒
squareMatrix
In Radian angle mode and Rectangular
complex format mode:
Returns the matrix inverse cosine of
squareMatrix1. This is not the same as
calculating the inverse cosine of each
element. For information about the
calculation method, refer to cos().
cosê([1,5,3;4,2,1;6,ë 2,1])
¸
1.734…+.064…øi
ë.725…+1.515…øi .623…+.778…øi
ë 2.083…+2.632…øi 1.790…ì 1.271…øi …
ë 1.490…+2.105…øi …
…
squareMatrix1 must be diagonalizable. The
result always contains floating-point
numbers.
cosh()
MATH/Hyperbolic menu
cosh(1.2)¸
1.810...
cosh(expression1)
⇒
expression
cosh(list1) list
⇒
cosh({0,1.2})¸ {1 1.810...}
cosh (expression1) returns the hyperbolic
cosine of the argument as an expression.
cosh (list1) returns a list of the hyperbolic
cosines of each element of list1.
cosh(squareMatrix1)
⇒
squareMatrix
In Radian angle mode:
cosh([1,5,3;4,2,1;6,ë 2,1])
¸
Returns the matrix hyperbolic cosine of
squareMatrix1. This is not the same as
calculating the hyperbolic cosine of each
element. For information about the
calculation method, refer to cos().
421.255 253.909 216.905
327.635 255.301 202.958
226.297 216.623 167.628
squareMatrix1 must be diagonalizable. The
result always contains floating-point
numbers.
coshê()
MATH/Hyperbolic menu
coshê (1)¸
0
coshê (expression1)
⇒
expression
coshê (list1) list
⇒
coshê ({1,2.1,3})¸
coshê (expression1) returns the inverse
hyperbolic cosine of the argument as an
expression.
{0 1.372... coshê (3)}
coshê (list1) returns a list of the inverse
hyperbolic cosines of each element of list1.
424
Appendix A: Functions and Instructions
coshê(squareMatrix1)
⇒
squareMatrix
In Radian angle mode and Rectangular
complex format mode:
Returns the matrix inverse hyperbolic cosine
of squareMatrix1. This is not the same as
calculating the inverse hyperbolic cosine of
each element. For information about the
calculation method, refer to cos().
coshê([1,5,3;4,2,1;6,ë 2,1])
¸
2.525…+1.734…øi ë.009…ì 1.490…øi …
.486…ì.725…øi
1.662…+.623…øi
…
squareMatrix1 must be diagonalizable. The
result always contains floating-point
numbers.
ë.322…ì 2.083…øi 1.267…+1.790…øi …
crossP() MATH/Matrix/Vector ops menu
crossP(list1, list2)
⇒
list
crossP({a1,b1},{a2,b2})¸
{0 0 a1ø b2ì a2ø b1}
Returns the cross product of list1 and list2 as
a list.
crossP({0.1,2.2,ë 5},{1,ë.5,0})
¸
list1 and list2 must have equal dimension, and
the dimension must be either 2 or 3.
{ë 2.5 ë 5. ë 2.25}
crossP([1,2,3],[4,5,6])¸
crossP(vector1, vector2)
⇒
vector
[ë 3 6 ë 3]
Returns a row or column vector (depending
on the arguments) that is the cross product
of vector1 and vector2.
crossP([1,2],[3,4])¸
[0 0 ë 2]
Both vector1 and vector2 must be row vectors,
or both must be column vectors. Both
vectors must have equal dimension, and the
dimension must be either 2 or 3.
cSolve()
MATH/Algebra/Complex menu
cSolve(x^3=ë 1,x)¸
cSolve(equation, var)
⇒
Boolean expression
solve(x^3=ë 1,x)¸
Returns candidate complex solutions of an
equation for var. The goal is to produce
candidates for all real and non-real solutions.
Even if equation is real, cSolve() allows non-
real results in real mode.
Although the TI-89 / TI-92 Plus processes all
undefined variables as if they were real,
cSolve() can solve polynomial equations for
complex solutions.
cSolve(x^(1/3)=ë 1,x)¸ false
cSolve() temporarily sets the domain to
complex during the solution even if the
current domain is real. In the complex
domain, fractional powers having odd
denominators use the principal rather than
the real branch. Consequently, solutions from
solve() to equations involving such fractional
powers are not necessarily a subset of those
from cSolve().
solve(x^(1/3)=ë 1,x)¸ x=ë 1
Appendix A: Functions and Instructions
425
cSolve() starts with exact symbolic methods.
Except in EXACT mode, cSolve() also uses
iterative approximate complex polynomial
factoring, if necessary.
Display Digits mode in Fix 2:
exact(cSolve(x^5+4x^4+5x
^3ì6xì3=0,x))¸
cSolve(ans(1),x)¸
Note: See also cZeros(), solve(), and zeros().
Note: If equation is non-polynomial with
functions such as abs(), angle(), conj(), real(),
or imag(), you should place an underscore _
(TI-89: ¥ TI-92 Plus: 2 ) at the end
of var. By default, a variable is treated as a
real value.
If you use var_ , the variable is treated as
complex.
z is treated as real:
cSolve(conj(z)=1+i,z) ¸
You should also use var_ for any other
variables in equation that might have unreal
values. Otherwise, you may receive
unexpected results.
z=1+i
z_ is treated as complex:
cSolve(conj(z_)=1+i,z_) ¸
z_=1− i
cSolve(equation1 and equation2 [and … ],
{varOrGuess1, varOrGuess2 [, … ]})
⇒
Boolean expression
Returns candidate complex solutions to the
simultaneous algebraic equations, where
each varOrGuess specifies a variable that you
want to solve for.
Optionally, you can specify an initial guess
for a variable. Each varOrGuess must have the
form:
variable
– or –
variable = real or non-real number
For example, x is valid and so is x=3+i.
If all of the equations are polynomials and if
you do NOT specify any initial guesses,
Note: The following examples use an
underscore _ (TI-89: ¥
cSolve() uses the lexical Gröbner/Buchberger TI-92 Plus: 2 ) so that the variables
elimination method to attempt to determine
will be treated as complex.
all complex solutions.
cSolve(u_ù v_ì u_=v_ and
v_^2=ë u_,{u_,v_}) ¸
Complex solutions can include both real and
non-real solutions, as in the example to the
right.
u_=1/2 + 3øi and v_=1/2 ì 3øi
2
2
or u_=1/2 ì 3øi and v_=1/2 + 3øi
2
2
or u_=0 and v_=0
426
Appendix A: Functions and Instructions
cSolve(u_ù v_ì u_=c_ù v_ and
v_^2=ë u_,{u_,v_}) ¸
Simultaneous polynomial equations can have
extra variables that have no values, but
represent given numeric values that could be
substituted later.
1ì4øc_+1)2
1ì4øc_+1
ë(
u_=
or
andv_=
4
2
1ì4øc_ì1)2
4
1ì4øc_ì1)
2
ë(
ë(
u_=
andv_=
or u_=0 and v_=0
cSolve(u_ù v_ì u_=v_ and
v_^2=ë u_,{u_,v_,w_}) ¸
You can also include solution variables that
do not appear in the equations. These
solutions show how families of solutions
might contain arbitrary constants of the form
@k, where k is an integer suffix from 1
through 255. The suffix resets to 1 when you
use ClrHome or ƒ 8:Clear Home.
u_=1/2 + 3øi and v_=1/2 ì 3øi
2
2
and w_=@1
or
u_=1/2 ì 3øi and v_=1/2 + 3øi
2
2
For polynomial systems, computation time or
memory exhaustion may depend strongly on
the order in which you list solution variables.
If your initial choice exhausts memory or
your patience, try rearranging the variables in
the equations and/or varOrGuess list.
and w_=@1
or u_=0 and v_=0 and w_=@1
cSolve(u_+v_=e^(w_) and u_ì v_=
If you do not include any guesses and if any
equation is non-polynomial in any variable
but all equations are linear in all solution
variables, cSolve() uses Gaussian elimination
to attempt to determine all solutions.
i, {u_,v_}) ¸
ew_ì i
ew_
2
u_=
+1/2øi and v_=
2
cSolve(e^(z_)=w_ and w_=z_^2,
{w_,z_}) ¸
If a system is neither polynomial in all of its
variables nor linear in its solution variables,
cSolve() determines at most one solution
using an approximate iterative method. To do
so, the number of solution variables must
equal the number of equations, and all other
variables in the equations must simplify to
numbers.
w_=.494… and z_=ë.703…
cSolve(e^(z_)=w_ and w_=z_^2,
{w_,z_=1+i}) ¸
A non-real guess is often necessary to
determine a non-real solution. For
convergence, a guess might have to be rather
close to a solution.
w_=.149… + 4.891…øi and
z_=1.588… + 1.540…øi
Appendix A: Functions and Instructions
427
CubicReg MATH/Statistics/Regressions menu
CubicReg list1, list2[, [list3] [, list4, list5]]
In function graphing mode.
{0,1,2,3}! L1¸
{0,2,3,4}! L2¸
CubicReg L1,L2¸
ShowStat¸
{0 1 2 3}
{0 2 3 4}
Done
Calculates the cubic polynomial regression
and updates all the statistics variables.
All the lists must have equal dimensions
except for list5.
list1 represents xlist.
list2 represents ylist.
list3 represents frequency.
list4 represents category codes.
list5 represents category include list.
Note: list1 through list4 must be a variable
name or c1–c99 (columns in the last data
variable shown in the Data/Matrix Editor).
list5 does not have to be a variable name and
cannot be c1–c99.
¸
regeq(x)"y1(x)¸
NewPlot 1,1,L1,L2¸
Done
Done
¥ %
cumSum() MATH/List menu
cumSum({1,2,3,4})¸
cumSum(list1)
⇒
list
{1 3 6 10}
Returns a list of the cumulative sums of the
elements in list1, starting at element 1.
1 2
3 4
5 6
1 2
4 6
9 12
cumSum(matrix1)
⇒
matrix
[1,2;3,4;5,6]! m1¸
Returns a matrix of the cumulative sums of
the elements in matrix1. Each element is the
cumulative sum of the column from top to
bottom.
cumSum(m1)¸
CustmOff CATALOG
CustmOff
See Custom program listing example.
Removes a custom toolbar.
CustmOn and CustmOff enable a program to
control a custom toolbar. Manually, you can
press 2 ¾ to toggle a custom toolbar
on and off. Also, a custom toolbar is removed
automatically when you change applications.
CustmOn CATALOG
CustmOn
See Custom program listing example.
Activates a custom toolbar that has already
been set up in a Custom...EndCustm block.
CustmOn and CustmOff enable a program to
control a custom toolbar. Manually, you can
press 2 ¾ to toggle a custom toolbar
on and off.
428
Appendix A: Functions and Instructions
Custom
2 ¾ key
Custom
block
EndCustm
Sets up a toolbar that is activated when you
Program listing:
:Test()
:Prgm
:Custom
:Title "Lists"
:Item "List1"
:Item "Scores"
:Item "L3"
:Title "Fractions"
:Item "f(x)"
:Item "h(x)"
:Title "Graph"
:EndCustm
press 2 ¾. It is very similar to the
ToolBar instruction except that Title and Item
statements cannot have labels.
block can be either a single statement or a
series of statements separated with the “:”
character.
Note: 2 ¾ acts as a toggle. The first
instance invokes the menu, and the second
instance removes the menu. The menu is
removed also when you change applications.
:EndPrgm
Cycle
CATALOG
Program listing:
Cycle
Transfers program control immediately to the :¦ Sum the integers from 1 to
next iteration of the current loop (For, While,
or Loop).
100 skipping 50.
:0! temp
:For i,1,100,1
:If i=50
Cycle is not allowed outside the three looping
structures (For, While, or Loop).
:Cycle
:temp+i! temp
:EndFor
:Disp temp
Contents of temp after execution:
5000
CyclePic CATALOG
CyclePic picNameString, n [, [wait] , [cycles],
[direction]]
1. Save three pics named pic1, pic2, and
pic3.
Displays all the PIC variables specified and at 2. Enter: CyclePic "pic",3,.5,4,ë1
the specified interval. The user has optional
control over the time between pictures, the
number of times to cycle through the
pictures, and the direction to go, circular or
3. The three pictures (3) will be
displayed automatically—one-half
second (.5) between pictures, for
four cycles (4), and forward and
forward and backwards.
backwards (ë1).
direction is 1 for circular or ë 1 for forward
and backwards. Default = 1.
4Cylind
MATH/Matrix/Vector ops menu
[2,2,3] 4Cylind¸
[2ø ‡2
vector 4Cylind
p
4
Displays the row or column vector in
cylindrical form [r∠q, z].
3]
vector must have exactly three elements. It
can be either a row or a column.
Appendix A: Functions and Instructions
429
cZeros() MATH/Algebra/Complex menu
cZeros(expression, var)
⇒
list
Display Digits mode in Fix 3:
Returns a list of candidate real and non-real
values of var that make expression=0. cZeros()
does this by computing
exp8list(cSolve(expression=0,var),var).
Otherwise, cZeros() is similar to zeros().
cZeros(x^5+4x^4+5x^3ì 6xì 3,x)
¸
{ë 2.125 ë.612 .965
ë 1.114ì 1.073ø i
ë 1.114+1.073ø i}
Note: See also cSolve(), solve(), and zeros().
Note: If expression is non-polynomial with
functions such as abs(), angle(), conj(), real(),
or imag(), you should place an underscore _
(TI-89: ¥ TI-92 Plus: 2 ) at the end
of var. By default, a variable is treated as a
real value. If you use var_ , the variable is
treated as complex.
z is treated as real:
cZeros(conj(z)ì 1ì i,z) ¸
{1+i}
z_ is treated as complex:
cZeros(conj(z_)ì 1ì i,z_) ¸
{1ì i}
You should also use var_ for any other
variables in expression that might have unreal
values. Otherwise, you may receive
unexpected results.
cZeros({expression1, expression2 [, … ] },
{varOrGuess1,varOrGuess2 [, … ] })
⇒
matrix
Returns candidate positions where the
expressions are zero simultaneously. Each
varOrGuess specifies an unknown whose
value you seek.
Optionally, you can specify an initial guess
for a variable. Each varOrGuess must have the
form:
variable
– or –
variable = real or non-real number
For example, x is valid and so is x=3+i.
If all of the expressions are polynomials and
you do NOT specify any initial guesses,
Note: The following examples use an
underscore _ (TI-89: ¥
cZeros() uses the lexical Gröbner/Buchberger TI-92 Plus: 2 ) so that the variables
elimination method to attempt to determine
will be treated as complex.
all complex zeros.
cZeros({u_ù v_ì u_ì v_,v_^2+u_},
Complex zeros can include both real and
non-real zeros, as in the example to the right.
{u_,v_}) ¸
Each row of the resulting matrix represents
an alternate zero, with the components
ordered the same as the varOrGuess list. To
extract a row, index the matrix by [row].
1/2 ì 3øi 1/2 + 3øi
2
2
1/2 + 3øi 1/2 ì 3øi
2
2
0
0
Extract row 2:
ans(1)[2] ¸
1/2 + 3øi 1/2 ì 3øi
[
]
2
2
430
Appendix A: Functions and Instructions
cZeros({u_ùv_ìu_ì(c_ùv_),
v_^2+u_},{u_,v_}) ¸
Simultaneous polynomials can have extra
variables that have no values, but represent
given numeric values that could be
substituted later.
1ì 4øc_+1)2
1ì 4øc_+1
ë (
4
2
1ì 4øc_ì 1)2
1ì 4øc_ì 1)
ë (
ë (
4
2
0
0
cZeros({u_ù v_ì u_ì v_,v_^2+u_},
{u_,v_,w_}) ¸
You can also include unknown variables that
do not appear in the expressions. These
zeros show how families of zeros might
contain arbitrary constants of the form @k,
where k is an integer suffix from 1 through
255. The suffix resets to 1 when you use
ClrHome or ƒ 8:Clear Home.
1/2 ì 3øi 1/2 + 3øi @1
2
2
1/2 + 3øi 1/2 ì 3øi @1
2
2
0
0
@1
For polynomial systems, computation time or
memory exhaustion may depend strongly on
the order in which you list unknowns. If your
initial choice exhausts memory or your
patience, try rearranging the variables in the
expressions and/or varOrGuess list.
cZeros({u_+v_ì e^(w_),u_ì v_ì i},
If you do not include any guesses and if any
expression is non-polynomial in any variable
but all expressions are linear in all
unknowns, cZeros() uses Gaussian
elimination to attempt to determine all zeros.
{u_,v_}) ¸
ew_ì i
ew_
+1/2øi
2
2
cZeros({e^(z_)ì w_,w_ì z_^2},
{w_,z_}) ¸
If a system is neither polynomial in all of its
variables nor linear in its unknowns, cZeros()
determines at most one zero using an
approximate iterative method. To do so, the
number of unknowns must equal the number
of expressions, and all other variables in the
expressions must simplify to numbers.
.494… ë.703…
[
]
cZeros({e^(z_)ì w_,w_ì z_^2},
A non-real guess is often necessary to
determine a non-real zero. For convergence,
a guess might have to be rather close to a
zero.
{w_,z_=1+i}) ¸
.149…+4.89…øi 1.588…+1.540…øi
[
]
Appendix A: Functions and Instructions
431
d()
2= key or MATH/Calculus menu
d(expression1, var [,order]) expression
d(list1,var [,order]) list
d(matrix1,var [,order])
d(3x^3ì x+7,x)¸
d(3x^3ì x+7,x,2)¸
d(f(x)ù g(x),x)¸
9xñ ì 1
⇒
⇒
⇒
matrix
18ø x
Returns the first derivative of expression1
with respect to variable var. expression1 can
be a list or a matrix.
d
dx
d
dx
(f(x))ø g(x)+
(g(x))ø f(x)
order, if included, must be an integer. If the
order is less than zero, the result will be an
anti-derivative.
d(sin(f(x)),x)¸
d
dx
d() does not follow the normal evaluation
mechanism of fully simplifying its arguments
and then applying the function definition to
these fully simplified arguments. Instead, d()
performs the following steps:
cos(f(x)) (f(x))
d(x^3,x)|x=5¸
75
d(d(x^2ù y^3,x),y)¸
6ø yñ ø x
1. Simplify the second argument only to the
extent that it does not lead to a non-
variable.
xò
d(x^2,x,ë 1)¸
3
2. Simplify the first argument only to the
extent that it does recall any stored value
for the variable determined by step 1.
d({x^2,x^3,x^4},x)¸
{2ø x 3ø xñ 4ø xò }
3. Determine the symbolic derivative of the
result of step 2 with respect to the
variable from step 1.
4. If the variable from step 1 has a stored
value or a value specified by a “with” (|)
operator, substitute that value into the
result from step 3.
4DD
MATH/Angle menu
number 4DD
⇒
value
In Degree angle mode:
list1 4DD
⇒
list
1.5ó 4DD¸
1.5ó
matrix1 4DD
⇒
matrix
45ó 22'14.3"4DD¸
45.370...ó
Returns the decimal equivalent of the
argument. The argument is a number, list, or
matrix that is interpreted by the Mode
setting in radians or degrees.
{45ó 22'14.3",60ó 0'0"}4DD¸
{45.370... 60}¡
Note: 4DD can also accept input in radians.
In Radian angle mode:
1.54DD¸
85.9ó
4Dec
MATH/Base menu
0b100114Dec ¸
19
31
integer1 4Dec
⇒
integer
Converts integer1 to a decimal (base 10)
number. A binary or hexadecimal entry must
always have a 0b or 0h prefix, respectively.
0h1F4Dec ¸
432
Appendix A: Functions and Instructions
Zero, not the letter O, followed by b or h.
0b binaryNumber
0h hexadecimalNumber
A binary number can have up to
32 digits. A hexadecimal number
can have up to 8.
Without a prefix, integer1 is treated as
decimal. The result is displayed in decimal,
regardless of the Base mode.
Define
CATALOG
Define g(x,y)=2xì 3y¸
g(1,2)¸
Done
ë 4
Define funcName(arg1Name, arg2Name, ...) =
expression
1! a:2! b:g(a,b)¸
ë 4
Creates funcName as a user-defined function.
You then can use funcName(), just as you use
built-in functions. The function evaluates
expression using the supplied arguments and
returns the result.
Define h(x)=when(x<2,2x-3,
ë 2x+3)¸
Done
h(ë 3)¸
ë 9
funcName cannot be the name of a system
variable or built-in function.
h(4)¸
ë 5
The argument names are placeholders; you
should not use those same names as
arguments when you use the function.
Define eigenvl(a)=
cZeros(det(identity(dim(a)
[1])-xù a),x)¸
eigenvl([ë 1,2;4,3])¸
Done
Note: This form of Define is equivalent to
executing the expression:
expression!funcName(arg1Name,arg2Name).
This command also can be used to define
simple variables; for example, Define a=3.
2ø 3 - 1 ë (2ø 3 + 1)
{
}
11
11
Define g(x,y)=Func:If x>y Then
:Return x:Else:Return y:EndIf
Define funcName(arg1Name, arg2Name, ...) = Func
block
EndFunc
:EndFunc¸
Done
g(3,ë 7)¸
3
Is identical to the previous form of Define,
except that in this form, the user-defined
function funcName() can execute a block of
multiple statements.
block can be either a single statement or a
series of statements separated with the “:”
character. block also can include expressions
and instructions (such as If, Then, Else, and
For). This allows the function funcName() to
use the Return instruction to return a specific
result.
Note: It is usually easier to author and edit
this form of Function in the program editor
rather than on the entry line.
Appendix A: Functions and Instructions
433
Define progName(arg1Name, arg2Name, ...) = Prgm
block
EndPrgm
Define listinpt()=prgm:Local
n,i,str1,num:InputStr "Enter
name of list",str1:Input "No.
of elements",n:For
i,1,n,1:Input "element
"&string(i),num:
Creates progName as a program or
subprogram, but cannot return a result using
Return. Can execute a block of multiple
statements.
num! #str1[i]:EndFor:EndPrgm
¸
Done
block can be either a single statement or a
series of statements separated with the “:”
character. block also can include expressions
and instructions (such as If, Then, Else, and
For) without restrictions.
listinpt()¸Enter name of list
Note: It is usually easier to author and edit a
program block in the Program Editor rather
than on the entry line.
DelFold
CATALOG
NewFold games¸
Done
Done
DelFold folderName1[, folderName2] [, folderName3] ...
(creates the folder games)
Deletes user-defined folders with the names
folderName1, folderName2, etc. An error
message is displayed if the folders contain
any variables.
DelFold games¸
(deletes the folder games)
Note: You cannot delete the main folder.
DelVar
CATALOG
2! a¸
2
16
Done
DelVar var1[, var2] [, var3] ...
(a+2)^2¸
DelVar a¸
(a+2)^2¸
Deletes the specified variables from memory.
(a+2)ñ
deSolve() MATH/Calculus menu
deSolve(1stOr2ndOrderOde, independentVar,
Note: To type a prime symbol ('), press
dependentVar)
⇒
a general solution
2 È.
deSolve(y''+2y'+y=x^2,x,y)¸
Returns an equation that explicitly or
implicitly specifies a general solution to the
1st- or 2nd-order ordinary differential
equation (ODE). In the ODE:
ë x
y=(@1øx+@2)øe +xñ ì 4øx+6
right(ans(1))! temp ¸
ë x
(@1øx+@2)øe +xñ ì 4øx+6
•
Use a prime symbol ( ', press 2 È) to
denote the 1st derivative of the dependent
variable with respect to the independent
variable.
d(temp,x,2)+2ùd(temp,x)+tempìx^2
¸
0
DelVar temp ¸
Done
•
Use two prime symbols to denote the
corresponding second derivative.
The ' symbol is used for derivatives within
deSolve() only. In other cases, use d().
The general solution of a 1st-order equation
contains an arbitrary constant of the form
@k, where k is an integer suffix from 1
through 255. The suffix resets to 1 when you
use ClrHome or ƒ 8: Clear Home. The
solution of a 2nd-order equation contains two
such constants.
434
Appendix A: Functions and Instructions
Apply solve() to an implicit solution if you
want to try to convert it to one or more
equivalent explicit solutions.
deSolve(y'=(cos(y))^2ù x,x,y)
¸
xñ
tan(y)=
+@3
2
solve(ans(1),y) ¸
When comparing your results with textbook
or manual solutions, be aware that different
methods introduce arbitrary constants at
different points in the calculation, which may
produce different general solutions.
xñ +2ø@3
y=tanê
+@n1øp
( )
2
Note: To type an @ symbol, press:
TI-89: ¥ §
TI-92 Plus: 2 R
ans(1)|@3=cì 1 and @n1=0 ¸
xñ +2ø(cì 1)
y=tanê
( )
2
deSolve(1stOrderOde and initialCondition,
sin(y)=(yù e^(x)+cos(y))y'! ode
¸
independentVar, dependentVar)
⇒
a particular solution
sin(y)=(exøy+cos(y))øy'
deSolve(ode and
Returns a particular solution that satisfies
1stOrderOde and initialCondition. This is
usually easier than determining a general
solution, substituting initial values, solving
for the arbitrary constant, and then
substituting that value into the general
solution.
y(0)=0,x,y)! soln ¸
ë(2øsin(y)+yñ)
ëx
=ë(exì1)øe øsin(y)
2
soln|x=0 and y=0 ¸
true
d(right(eq)ì left(eq),x)/
(d(left(eq)ì right(eq),y))
! impdif(eq,x,y) ¸
initialCondition is an equation of the form:
dependentVar (initialIndependentValue) =
initialDependentValue
Done
The initialIndependentValue and
initialDependentValue can be variables such as
x0 and y0 that have no stored values. Implicit
differentiation can help verify implicit
solutions.
ode|y'=impdif(soln,x,y) ¸
true
Done
DelVar ode,soln ¸
deSolve(y''=y^(ë 1/2) and
deSolve(2ndOrderOde and initialCondition1 and
initialCondition2, independentVar,
y(0)=0 and y'(0)=0,t,y) ¸
dependentVar) ⇒ a particular solution
2øy3/4
=t
Returns a particular solution that satisfies
2ndOrderOde and has a specified value of the
dependent variable and its first derivative at
one point.
3
solve(ans(1),y) ¸
2
2/3ø(3øt)4/3
y=
and t‚0
4
For initialCondition1, use the form:
dependentVar (initialIndependentValue) =
initialDependentValue
For initialCondition2, use the form:
dependentVar' (initialIndependentValue) =
initial1stDerivativeValue
Appendix A: Functions and Instructions
435
deSolve(w''ì 2w'/x+(9+2/x^2)w=
xù e^(x) and w(p/6)=0 and
w(p/3)=0,x,w) ¸
deSolve(2ndOrderOde and boundaryCondition1 and
boundaryCondition2, independentVar,
dependentVar)
⇒
a particular solution
Returns a particular solution that satisfies
2ndOrderOde and has specified values at two
different points.
p
e3øxøcos(3øx)
w=
10
p
e6øxøsin(3øx)
x⋅ex
10
ì
+
10
det()
MATH/Matrix menu
det([a,b;c,d])¸
aø dì bø c
det(squareMatrix[, tol])
⇒
expression
Returns the determinant of squareMatrix.
det([1,2;3,4])¸
ë 2
Optionally, any matrix element is treated as
zero if its absolute value is less than tol. This
tolerance is used only if the matrix has
floating-point entries and does not contain
any symbolic variables that have not been
assigned a value. Otherwise, tol is ignored.
det(identity(3)ì xù [1,ë 2,3;
ë 2,4,1;ë 6,ë 2,7])¸
ë (98ø xò ì 55ø xñ +12ø xì 1)
1.E20 1
•
If you use ¥ ¸ or set the mode to
Exact/Approx=APPROXIMATE, computations
are done using floating-point arithmetic.
[1E20,1;0,1]!mat1
det(mat1) ¸
det(mat1,.1) ¸
[
]
0
0
1
1.E20
•
If tol is omitted or not used, the default
tolerance is calculated as:
5Eë 14 ù max(dim(squareMatrix))
ù rowNorm(squareMatrix)
diag()
MATH/Matrix menu
diag(list) matrix
diag(rowMatrix)
diag(columnMatrix)
2 0 0
0 4 0
0 0 6
⇒
diag({2,4,6})¸
⇒
matrix
matrix
⇒
Returns a matrix with the values in the
argument list or matrix in its main diagonal.
4 6 8
1 2 3
5 7 9
diag(squareMatrix)
⇒
rowMatrix
[4,6,8;1,2,3;5,7,9]¸
Returns a row matrix containing the
elements from the main diagonal of
squareMatrix.
diag(ans(1))¸
[4 2 9]
squareMatrix must be square.
436
Appendix A: Functions and Instructions
Dialog
CATALOG
Dialog
block
EndDlog
Program listing:
:Dlogtest()
:Prgm
:Dialog
Generates a dialog box when the program is
executed.
:Title
"This is a dialog box"
:Request "Your name",Str1
:Dropdown "Month you were born",
seq(string(i),i,1,12),Var1
:EndDlog
block can be either a single statement or a
series of statements separated with the “:”
character. Valid block options in the
… I/O, 1:Dialog menu item in the Program
Editor are 1:Text, 2:Request, 4:DropDown, and
7:Title.
:EndPrgm
The variables in a dialog box can be given
values that will be displayed as the default
(or initial) value. If ¸ is pressed, the
variables are updated from the dialog box
and variable ok is set to 1. If N is pressed,
its variables are not updated, and system
variable ok is set to zero.
dim()
MATH/Matrix/Dimensions menu
dim({0,1,2})¸
3
dim(list)
Returns the dimension of list.
dim(matrix) list
⇒
integer
dim([1,ë 1,2;ë 2,3,5])¸ {2 3}
⇒
Returns the dimensions of matrix as a two-
element list {rows, columns}.
dim("Hello")¸
5
dim(string)
⇒
integer
Returns the number of characters contained
in character string string.
dim("Hello"&" there")¸
11
Disp
CATALOG
Disp "Hello"¸
Hello
Disp [exprOrString1] [, exprOrString2] ...
Displays the current contents of the Program
I/O screen. If one or more exprOrString is
specified, each expression or character string
is displayed on a separate line of the Program
I/O screen.
Disp cos(2.3)¸
ë.666…
{1,2,3,4}! L1¸
Disp L1¸
{1 2 3 4}
Disp 180_min4 _hr ¸
3.ø_hr
An expression can include conversion
operations such as 4DD and 4Rect. You can
also use the 4 operator to perform unit and
number base conversions.
Note: To type an underscore ( _ ), press:
TI-89: ¥
If Pretty Print = ON, expressions are displayed
in pretty print.
TI-92 Plus: 2
To type 4, press 2 .
From the Program I/O screen, you can press
‡ to display the Home screen, or a program
can use DispHome.
Appendix A: Functions and Instructions
437
DispG
CATALOG
DispG
In function graphing mode:
Program segment:
Displays the current contents of the Graph
screen.
©
:5ù cos(x)! y1(x)
:ë 10! xmin
:10! xmax
:ë 5! ymin
:5! ymax
:DispG
©
DispHome CATALOG
DispHome
Program segment:
©
Displays the current contents of the Home
:Disp "The result is: ",xx
:Pause "Press Enter to quit"
:DispHome
screen.
:EndPrgm
DispTbl
CATALOG
5ù cos(x)! y1(x)¸
DispTbl
DispTbl¸
Displays the current contents of the Table
screen.
Note: The cursor pad is active for scrolling.
Press N or ¸ to resume execution if in
a program.
4DMS
MATH/Angle menu
expression 4DMS
In Degree angle mode:
list 4DMS
matrix 4DMS
45.371 4DMS¸
45ó 22'15.6"
{45.371,60} 4DMS¸
Interprets the argument as an angle and
displays the equivalent DMS
{45ó 22'15.6" 60ó }
(DDDDDD¡MM¢SS.ss£) number. See ¡, ', " on
page 536 for DMS (degree, minutes, seconds)
format.
Note: 4DMS will convert from radians to
degrees when used in radian mode. If the
input is followed by a degree symbol ( ¡ ), no
conversion will occur. You can use 4DMS only
at the end of an entry line.
438
Appendix A: Functions and Instructions
dotP()
MATH/Matrix/Vector ops menu
dotP(list1, list2) expression
Returns the “dot” product of two lists.
dotP({a,b,c},{d,e,f})¸
aø d+bø e+cø f
⇒
dotP({1,2},{5,6})¸
17
dotP([a,b,c],[d,e,f])¸
dotP(vector1, vector2)
⇒
expression
aø d+bø e+cø f
Returns the “dot” product of two vectors.
dotP([1,2,3],[4,5,6])¸ 32
Both must be row vectors, or both must be
column vectors.
DrawFunc CATALOG
DrawFunc expression
In function graphing mode and ZoomStd
window:
Draws expression as a function, using x as the
DrawFunc 1.25xù cos(x)¸
independent variable.
Note: Regraphing erases all drawn items.
DrawInv
CATALOG
DrawInv expression
In function graphing mode and ZoomStd
window:
Draws the inverse of expression by plotting x
values on the y axis and y values on the x
axis.
DrawInv 1.25xù cos(x)¸
x is the independent variable.
Note: Regraphing erases all drawn items.
DrawParm CATALOG
DrawParm expression1, expression2
In function graphing mode and ZoomStd
[, tmin] [, tmax] [, tstep]
window:
DrawParm
tù cos(t),tù sin(t),0,10,.1¸
Draws the parametric equations expression1
and expression2, using t as the independent
variable.
Defaults for tmin, tmax, and tstep are the
current settings for the Window variables
tmin, tmax, and tstep. Specifying values does
not alter the window settings. If the current
graphing mode is not parametric, these three
arguments are required.
Note: Regraphing erases all drawn items.
Appendix A: Functions and Instructions
439
DrawPol CATALOG
DrawPol expression[, qmin] [, qmax] [, qstep]
In function graphing mode and ZoomStd
window:
Draws the polar graph of expression, using q
as the independent variable.
DrawPol 5ù cos(3ù q),0,3.5,.1
¸
Defaults for qmin, qmax, and qstep are the
current settings for the Window variables
qmin, qmax, and qstep. Specifying values does
not alter the window settings. If the current
graphing mode is not polar, these three
arguments are required.
Note: Regraphing erases all drawn items.
DrawSlp CATALOG
DrawSlp x1, y1, slope
In function graphing mode and ZoomStd
window:
Displays the graph and draws a line using the
DrawSlp 2,3,ë 2¸
formula yì y1=slopeø (xì x1).
Note: Regraphing erases all drawn items.
DropDown CATALOG
DropDown titleString, {item1String, item2String, ...},
See Dialog program listing example.
varName
Displays a drop-down menu with the name
titleString and containing the items
1:item1String, 2:item2String, and so forth.
DropDown must be within a Dialog...EndDlog
block.
If varName already exists and has a value
within the range of items, the referenced item
is displayed as the default selection.
Otherwise, the menu’s first item is the default
selection.
When you select an item from the menu, the
corresponding number of the item is stored
in the variable varName. (If necessary,
DropDown creates varName.)
440
Appendix A: Functions and Instructions
DrwCtour CATALOG
DrwCtour expression
In 3D graphing mode:
DrwCtour list
(1/5)x^2+(1/5)y^2ì 10!z1(x,y)
¸
Draws contours on the current 3D graph at
the z values specified by expression or list.
The 3D graphing mode must already be set.
DrwCtour automatically sets the graph format L10!ymin:10!ymax ¸
style to CONTOUR LEVELS.
Done
L10!xmin:10!xmax ¸
10
10
10
0
L10!zmin:10!zmax ¸
0!ncontour ¸
By default, the graph automatically contains
the number of equally spaced contours
specified by the ncontour Window variable.
DrwCtour draws contours in addition to the
defaults.
DrwCtour {L9,L4.5,L3,0,4.5,9}
¸
To turn off the default contours, set ncontour
to zero, either by using the Window screen or
by storing 0 to the ncontour system variable.
•
•
Use the cursor to change the viewing
angle. Press 0 (zero) to return to the
original view.
To toggle between different graph
format styles, press:
TI-89: Í TI-92 Plus: F
•
Press X, Y, or Z to look down the
corresponding axis.
í
TI-89: ^ key
TI-92 Plus: 2 ^ key
2.3í 4¸
23000.
mantissaEexponent
Enters a number in scientific notation. The
2.3í 9+4.1í 15¸
4.1í 15
number is interpreted as mantissa ×
exponent
10
.
Hint: If you want to enter a power of 10
without causing a decimal value result, use
10^integer.
3ù 10^4¸
30000
e^()
TI-89: ¥ s key TI-92 Plus: 2 s key
e^(1)¸
e
2.718...
e9
e^(expression1)
⇒
expression
Returns e raised to the expression1 power.
e^(1.)¸
e^(3)^2¸
Note: On the TI-89, pressing ¥ s to
display e^( is different from pressing
j [E]. On the TI-92 Plus, pressing 2s
to display e^ is different from accessing the
character e from the QWERTY keyboard.
You can enter a complex number in reiq polar
form. However, use this form in Radian angle
mode only; it causes a Domain error in Degree
angle mode.
e^({1,1.,0,.5})¸
e^(list1)
⇒
list
{e 2.718... 1 1.648...}
Returns e raised to the power of each
element in list1.
Appendix A: Functions and Instructions
441
e^([1,5,3;4,2,1;6,ë 2,1]) ¸
e^(squareMatrix1)
⇒
squareMatrix
Returns the matrix exponential of
squareMatrix1. This is not the same as
calculating e raised to the power of each
element. For information about the
calculation method, refer to cos().
782.209 559.617 456.509
680.546 488.795 396.521
524.929 371.222 307.879
squareMatrix1 must be diagonalizable. The
result always contains floating-point
numbers.
eigVc()
MATH/Matrix menu
eigVc(squareMatrix)
⇒
matrix
In Rectangular complex format mode:
[L1,2,5;3,L6,9;2,L5,7]! m1¸
Returns a matrix containing the eigenvectors
for a real or complex squareMatrix, where
each column in the result corresponds to an
eigenvalue. Note that an eigenvector is not
unique; it may be scaled by any constant
factor. The eigenvectors are normalized,
meaning that if V = [x1, x2, … , xn], then:
ë 1 2
5
3
2
ë 6 9
ë 5 7
eigVc(m1)¸
ë.800… .767…
.767…
2
2
2
x1 + x2 + … + xn = 1
.484…
.352…
.573…+.052…øi .573…ì.052…øi
.262…+.096…øi .262…ì.096…øi
squareMatrix is first balanced with similarity
transformations until the row and column
norms are as close to the same value as
possible. The squareMatrix is then reduced to
upper Hessenberg form and the eigenvectors
are computed via a Schur factorization.
eigVl()
MATH/Matrix menu
eigVl(squareMatrix)
⇒
list
In Rectangular complex format mode:
[L1,2,5;3,L6,9;2,L5,7]! m1¸
Returns a list of the eigenvalues of a real or
complex squareMatrix.
ë 1 2
5
3
2
ë 6 9
ë 5 7
squareMatrix is first balanced with similarity
transformations until the row and column
norms are as close to the same value as
possible. The squareMatrix is then reduced to
upper Hessenberg form and the eigenvalues
are computed from the upper Hessenberg
matrix.
eigVl(m1)¸
{ë4.409… 2.204…+.763…øi
2.204…ì.763…øi}
Else
See If, page 456.
ElseIf
CATALOG See also If, page 456.
Program segment:
If Boolean expression1 Then
block1
©
ElseIf Boolean expression2 Then
:If choice=1 Then
: Goto option1
: ElseIf choice=2 Then
: Goto option2
: ElseIf choice=3 Then
: Goto option3
: ElseIf choice=4 Then
: Disp "Exiting Program"
: Return
block2
©
ElseIf Boolean expressionN Then
blockN
EndIf
©
ElseIf can be used as a program instruction
for program branching.
:EndIf
©
442
Appendix A: Functions and Instructions
EndCustm See Custom, page 429.
EndDlog See Dialog, page 437.
EndFor
See For, page 450.
EndFunc See Func, page 451.
See If, page 456.
EndIf
EndLoop See Loop, page 466.
EndPrgm See Prgm, page 481.
EndTBar See ToolBar, page 515.
EndTry
See Try, page 515.
EndWhile See While, page 518.
entry()
CATALOG
expression
entry(integer) expression
entry()
⇒
On the Home screen:
⇒
1
x
1+1/x ¸
+1
Returns a previous entry-line entry from the
Home screen history area.
1
1+1/entry(1)¸
2ì
x+1
integer, if included, specifies which entry
expression in the history area. The default is
1, the most recently evaluated entry. Valid
range is from 1 to 99 and cannot be an
expression.
1
¸
+3/2
2ø (2ø x+1)
1
¸
5/3ì
3ø (3ø x+2)
Note: If the last entry is still highlighted on
the Home screen, pressing ¸ is
equivalent to executing entry(1).
1
entry(4)¸
+1
x
exact()
MATH/Number menu
exact(.25)¸
1/4
exact(expression1 [, tol])
exact(list1 [, tol]) list
exact(matrix1 [, tol])
⇒
expression
⇒
333333
1000000
⇒
matrix
exact(.333333)¸
Uses Exact mode arithmetic regardless of the
Exact/Approx mode setting to return, when
possible, the rational-number equivalent of
the argument.
exact(.33333,.001)
1/3
7ø x
+y
2
exact(3.5x+y)¸
tol specifies the tolerance for the conversion;
the default is 0 (zero).
exact({.2,.33,4.125})¸
33
100
{1à5
33à8}
Appendix A: Functions and Instructions
443
Exec
CATALOG
Exec string [, expression1] [, expression2] ...
Executes a string consisting of a series of
Motorola 68000 op-codes. These codes act as a
form of an assembly-language program. If
needed, the optional expressions let you pass
one or more arguments to the program.
For more information, check the TI Web site:
education.ti.com
Warning: Exec gives you access to the full
power of the microprocessor. Please be
aware that you can easily make a mistake
that locks up the calculator and causes you
to lose your data. We suggest you make a
backup of the calculator contents before
attempting to use the Exec command.
Exit
CATALOG
Exit
Program listing:
Exits the current For, While, or Loop block.
:0! temp
:For i,1,100,1
Exit is not allowed outside the three looping
structures (For, While, or Loop).
: temp+i! temp
: If temp>20
: Exit
:EndFor
:Disp temp
Contents of temp after execution:
21
exp4list() CATALOG
solve(x^2ì xì 2=0,x)¸ x=2 or
exp4list(expression,var)
⇒
list
x=ë 1
Examines expression for equations that are
separated by the word “or,” and returns a list
containing the right-hand sides of the
equations of the form var=expression. This
gives you an easy way to extract some
solution values embedded in the results of
the solve(), cSolve(), fMin(), and fMax()
functions.
exp4list(solve(x^2ì xì 2=0,x),x)
¸
{ë 1 2}
Note: exp4list() is not necessary with the
zeros and cZeros() functions because they
return a list of solution values directly.
444
Appendix A: Functions and Instructions
expand() MATH/Algebra menu
expand((x+y+1)^2)¸
expand(expression1 [, var])
expand(list1 [,var]) list
expand(matrix1 [,var])
⇒
expression
⇒
xñ +2ø xø y+2ø x+yñ +2ø y+1
⇒
matrix
expand((x^2ì x+y^2ì y)/(x^2ù y^2
ì x^2ù yì xù y^2+xù y))¸
expand(expression1) returns expression1
expanded with respect to all its variables.
The expansion is polynomial expansion for
polynomials and partial fraction expansion
for rational expressions.
The goal of expand() is to transform
expression1 into a sum and/or difference of
simple terms. In contrast, the goal of factor()
is to transform expression1 into a product
and/or quotient of simple factors.
expand((x+y+1)^2,y)¸
expand(expression1,var) returns expression
expanded with respect to var. Similar powers
of var are collected. The terms and their
factors are sorted with var as the main
variable. There might be some incidental
factoring or expansion of the collected
coefficients. Compared to omitting var, this
often saves time, memory, and screen space,
while making the expression more
yñ +2ø yø (x+1)+(x+1)ñ
expand((x+y+1)^2,x)¸
xñ +2ø xø (y+1)+(y+1)ñ
expand((x^2ì x+y^2ì y)/(x^2ù y^2
ì x^2ù yì xù y^2+xù y),y)¸
comprehensible.
expand(ans(1),x)¸
Even when there is only one variable, using
var might make the denominator
factorization used for partial fraction
expansion more complete.
expand((x^3+x^2ì 2)/(x^2ì 2))
¸
2ø x
+x+1
xñ ì 2
Hint: For rational expressions, propFrac() is
a faster but less extreme alternative to
expand().
expand(ans(1),x)¸
1
1
+
+ x+1
xì ‡2 x+‡2
Note: See also comDenom() for an expanded
numerator over an expanded denominator.
Appendix A: Functions and Instructions
445
ln(2xù y)+‡(2xù y)¸
ln(2ø xø y)+‡(2ø xø y)
expand(expression1,[var]) also distributes
logarithms and fractional powers regardless
of var. For increased distribution of
logarithms and fractional powers, inequality
constraints might be necessary to guarantee
that some factors are nonnegative.
expand(ans(1))¸
ln(xø y)+‡2ø ‡(xø y)+ln(2)
expand(ans(1))|y>=0¸
ln(x)+‡2ø ‡xø ‡y+ln(y)+ln(2)
expand(expression1, [var]) also distributes
absolute values, sign(), and exponentials,
regardless of var.
sign(xù y)+abs(xù y)+e^(2x+y)
¸
Note: See also tExpand() for trigonometric
angle-sum and multiple-angle expansion.
e2ø x+y +sign(xø y)+|xø y|
expand(ans(1))¸
sign(x)øsign(y)+|x|ø|y|+(ex)2øey
expr()
MATH/String menu
expr("1+2+x^2+x")¸ xñ +x+3
expr(string)
⇒
expression
Returns the character string contained in
string as an expression and immediately
executes it.
expr("expand((1+x)^2)")¸
xñ +2ø x+1
"Define cube(x)=x^3"! funcstr
¸
"Define cube(x)=x^3"
expr(funcstr)¸
Done
8
cube(2)¸
ExpReg
MATH/Statistics/Regressions menu
In function graphing mode:
ExpReg list1, list2 [, [list3] [, list4, list5]]
Calculates the exponential regression and
updates all the system statistics variables.
{1,2,3,4,5,6,7,8}! L1¸
{1 2 ...}
{1,2,2,2,3,4,5,7}! L2¸
All the lists must have equal dimensions
except for list5.
{1 2 ...}
ExpReg L1,L2¸
ShowStat¸
Done
list1 represents xlist.
list2 represents ylist.
list3 represents frequency.
list4 represents category codes.
list5 represents category include list.
Note: list1 through list4 must be a variable
name or c1–c99 (columns in the last data
variable shown in the Data/Matrix Editor).
list5 does not have to be a variable name and
cannot be c1–c99.
¸
Regeq(x)"y1(x)¸
NewPlot 1,1,L1,L2¸
Done
Done
¥ %
446
Appendix A: Functions and Instructions
factor()
MATH/Algebra menu
factor(expression1[, var])
factor(list1[,var]) list
factor(matrix1[,var])
factor(a^3ù x^2ì aù x^2ì a^3+a)
¸
⇒
expression
⇒
⇒
matrix
aø(aì1)ø(a+1)ø(xì1)ø(x+1)
factor(expression1) returns expression1
factored with respect to all of its variables
over a common denominator.
factor(x^2+1)¸
xñ +1
factor(x^2ì 4)¸(xì 2)ø (x+2)
expression1 is factored as much as possible
toward linear rational factors without
introducing new non-real subexpressions.
This alternative is appropriate if you want
factorization with respect to more than one
variable.
factor(x^2ì 3)¸
xñ ì 3
factor(x^2ì a)¸
xñ ì a
factor(a^3ù x^2ì aù x^2ì a^3+a,x)
factor(expression1,var) returns expression1
factored with respect to variable var.
¸
expression1 is factored as much as possible
toward real factors that are linear in var, even
if it introduces irrational constants or
subexpressions that are irrational in other
variables.
aø (añ ì 1)ø (xì 1)ø (x+1)
factor(x^2ì 3,x)¸
(x+‡3)ø (xì ‡3)
factor(x^2ì a,x)¸
The factors and their terms are sorted with
var as the main variable. Similar powers of
var are collected in each factor. Include var if
factorization is needed with respect to only
that variable and you are willing to accept
irrational expressions in any other variables
to increase factorization with respect to var.
There might be some incidental factoring
with respect to other variables.
(x+‡a)ø (xì ‡a)
factor(x^5+4x^4+5x^3ì 6xì 3)
¸
For the AUTO setting of the Exact/Approx
mode, including var permits approximation
with floating-point coefficients where
irrational coefficients cannot be explicitly
expressed concisely in terms of the built-in
functions. Even when there is only one
variable, including var might yield more
complete factorization.
x5 +4ø x4 +5ø x3ì 6ø xì 3
factor(ans(1),x)¸
(xì.964…)ø (x+.611…)ø
(x+2.125…)ø (xñ +2.227…ø
x+2.392…)
Note: See also comDenom() for a fast way to
achieve partial factoring when factor() is not
fast enough or if it exhausts memory.
Note: See also cFactor() for factoring all the
way to complex coefficients in pursuit of
linear factors.
Appendix A: Functions and Instructions
447
factor(152417172689) ¸
123457ø1234577
factor(rationalNumber) returns the rational
number factored into primes. For composite
numbers, the computing time grows
exponentially with the number of digits in the
second-largest factor. For example, factoring
a 30-digit integer could take more than a day,
and factoring a 100-digit number could take
more than a century.
isPrime(152417172689) ¸false
Note: To stop (break) a computation, press
´.
If you merely want to determine if a number
is prime, use isPrime() instead. It is much
faster, particularly if rationalNumber is not
prime and if the second-largest factor has
more than five digits.
Fill
MATH/Matrix menu
1 2
Fill expression, matrixVar
⇒
matrix
[1,2;3,4]! amatrx¸
Fill 1.01,amatrx¸
[
]
3 4
Replaces each element in variable matrixVar
with expression.
Done
1.01 1.01
]
1.01 1.01
amatrx¸
[
matrixVar must already exist.
{1,2,3,4,5}! alist¸
Fill expression, listVar
⇒
list
{1 2 3 4 5}
Done
Replaces each element in variable listVar
with expression.
Fill 1.01,alist¸
alist¸
listVar must already exist.
{1.01 1.01 1.01 1.01 1.01}
floor()
MATH/Number menu
floor(ë 2.14)¸
ë 3.
floor(expression)
⇒
integer
Returns the greatest integer that is the
argument. This function is identical to int().
The argument can be a real or a complex
number.
floor({3/2,0,ë 5.3})¸
{1 0 ë 6.}
floor([1.2,3.4;2.5,4.8])¸
floor(list1)
floor(matrix1)
⇒
list
⇒
matrix
Returns a list or matrix of the floor of each
element.
1. 3.
2. 4.
Note: See also ceiling() and int().
[
]
fMax()
MATH/Calculus menu
fMax(1ì (xì a)^2ì (xì b)^2,x)¸
fMax(expression, var)
⇒
Boolean expression
Returns a Boolean expression specifying
candidate values of var that maximize
expression or locate its least upper bound.
a+b
x =
2
fMax(.5x^3ì xì 2,x)¸
x = ˆ
448
Appendix A: Functions and Instructions
fMax(.5x^3ì xì 2,x)|x1¸
x=ë.816...
Use the “|” operator to restrict the solution
interval and/or specify the sign of other
undefined variables.
For the APPROX setting of the Exact/Approx
mode, fMax() iteratively searches for one
approximate local maximum. This is often
faster, particularly if you use the “|” operator
to constrain the search to a relatively small
interval that contains exactly one local
maximum.
fMax(aù x^2,x)¸
x=ˆ or x=ë ˆ or x=0 or a=0
fMax(aù x^2,x)|a<0¸
x=0
Note: See also fMin() and max().
fMin()
MATH/Calculus menu
fMin(1ì (xì a)^2ì (xì b)^2,x)¸
fMin(expression, var)
⇒
Boolean expression
x=ˆ or x=ë ˆ
Returns a Boolean expression specifying
candidate values of var that minimize
expression or locate its greatest lower bound.
fMin(.5x^3ì xì 2,x)|x‚1¸ x=1
fMin(aù x^2,x)¸
x=ˆ or x=ë ˆ or x=0 or a=0
Use the “|” operator to restrict the solution
interval and/or specify the sign of other
undefined variables.
fMin(aù x^2,x)|a>0 and x>1¸
For the APPROX setting of the Exact/Approx
mode, fMin() iteratively searches for one
approximate local minimum. This is often
faster, particularly if you use the “|” operator
to constrain the search to a relatively small
interval that contains exactly one local
minimum.
x=1.
fMin(aù x^2,x)|a>0¸
x=0
Note: See also fMax() and min().
FnOff
CATALOG
FnOff
Deselects all Y= functions for the current
graphing mode.
In split-screen, two-graph mode, FnOff only
applies to the active graph.
FnOff [1] [, 2] ... [,99]
In function graphing mode:
FnOff 1,3 ¸ deselects y1(x) and
y3(x).
Deselects the specified Y= functions for the
current graphing mode.
In parametric graphing mode:
FnOff 1,3 ¸ deselects xt1(t), yt1(t),
xt3(t), and yt3(t).
FnOn
CATALOG
FnOn
Selects all Y= functions that are defined for
the current graphing mode.
In split-screen, two-graph mode, FnOn only
applies to the active graph.
Appendix A: Functions and Instructions
449
FnOn [1] [, 2] ... [,99]
Selects the specified Y= functions for the
current graphing mode.
Note: In 3D graphing mode, only one
function at a time can be selected. FnOn 2
selects z2(x,y) and deselects any previously
selected function. In the other graph modes,
previously selected functions are not
affected.
For
CATALOG
Program segment:
For var, low, high [, step]
block
EndFor
©
:0! tempsum : 1! step
:For i,1,100,step
: tempsum+i! tempsum
Executes the statements in block iteratively
for each value of var, from low to high, in
increments of step.
:EndFor
:Disp tempsum
var must not be a system variable.
©
step can be positive or negative. The default
value is 1.
Contents of tempsum after
execution:
5050
2500
block can be either a single statement or a
series of statements separated with the “:”
character.
Contents of tempsumwhen step
is changed to 2:
format()
MATH/String menu
format(1.234567,"f3")¸
format(expression[, formatString])
⇒
string
"1.235"
format(1.234567,"s2")¸
"1.23í 0"
format(1.234567,"e3")¸
"1.235í 0"
format(1.234567,"g3")¸
"1.235"
format(1234.567,"g3")¸
Returns expression as a character string based
on the format template.
expression must simplify to a number.
formatString is a string and must be in the
form: “F[n]”, “S[n]”, “E[n]”, “G[n][c]”, where [ ]
indicate optional portions.
F[n]: Fixed format. n is the number of digits
to display after the decimal point.
S[n]: Scientific format. n is the number of
digits to display after the decimal point.
"1,234.567"
E[n]: Engineering format. n is the number of
digits after the first significant digit. The
exponent is adjusted to a multiple of three,
and the decimal point is moved to the right
by zero, one, or two digits.
format(1.234567,"g3,r:")¸
"1:235"
G[n][c]: Same as fixed format but also
separates digits to the left of the radix into
groups of three. c specifies the group
separator character and defaults to a comma.
If c is a period, the radix will be shown as a
comma.
[Rc]: Any of the above specifiers may be
suffixed with the Rc radix flag, where c is a
single character that specifies what to
substitute for the radix point.
450
Appendix A: Functions and Instructions
fpart()
MATH/Number menu
fpart(expression1) expression
fpart(list1) list
fpart(matrix1)
fpart(ë 1.234)¸
ë.234
⇒
⇒
fpart({1, ë 2.3, 7.003})¸
⇒
matrix
{0 ë.3 .003}
Returns the fractional part of the argument.
For a list or matrix, returns the fractional
parts of the elements.
The argument can be a real or a complex
number.
Func
CATALOG
Func
block
EndFunc
In function graphing mode, define a
piecewise function:
Define g(x)=Func:If x<0 Then
:Return 3ù cos(x):Else:Return
Required as the first statement in a multi-
statement function definition.
3ì x:EndIf:EndFunc¸
Done
block can be either a single statement or a
series of statements separated with the “:”
character.
Graph g(x)¸
Note: when() also can be used to define and
graph piecewise-defined functions.
gcd()
MATH/Number menu
gcd(18,33)¸
3
gcd(number1, number2)
⇒
expression
Returns the greatest common divisor of the
two arguments. The gcd of two fractions is
the gcd of their numerators divided by the
lcm of their denominators.
In Auto or Approximate mode, the gcd of
fractional floating-point numbers is 1.0.
gcd({12,14,16},{9,7,5})¸
{3 7 1}
gcd(list1, list2)
⇒
list
Returns the greatest common divisors of the
corresponding elements in list1 and list2.
gcd([2,4;6,8],[4,8;12,16])¸
gcd(matrix1, matrix2)
⇒
matrix
2 4
Returns the greatest common divisors of the
corresponding elements in matrix1 and
matrix2.
[
]
6 8
Get
CATALOG
Program segment:
Get var
Retrieves a CBL 2é/CBL™ (Calculator-Based
Laboratoryé) or CBRé (Calculator-Based
Rangeré) value from the link port and stores
it in variable var.
©
:Send {3,1,ë 1,0}
:For i,1,99
: Get data[i]
: PtOn i,data[i]
:EndFor
©
Appendix A: Functions and Instructions
451
GetCalc
CATALOG
Program segment:
GetCalc var
Retrieves a value from the link port and
stores it in variable var. This is for unit-to-unit
linking.
©
:Disp "Press Enter when ready"
:Pause
:GetCalc L1
Note: To get a variable to the link port from
another unit, use 2 ° on the other
unit to select and send a variable, or do a
SendCalc on the other unit.
:Disp "List L1 received"
©
getConfg() CATALOG
getConfg() ⇒ ListPairs
TI-89:
getConfg()¸
Returns a list of calculator attributes. The
{"Product Name" "Advanced
Mathematics Software"
"Version" "2.00, 09/25/1999"
"Product ID" "03-1-4-68"
"ID #" "01012 34567 ABCD"
"Cert. Rev. #" 0
attribute name is listed first, followed by its
value.
"Screen Width" 160
"Screen Height" 100
"Window Width" 160
"Window Height" 67
"RAM Size" 262132
"Free RAM" 197178
"Archive Size" 655360
"Free Archive" 655340}
TI-92 Plus:
getConfg()¸
{"Product Name" "Advanced
Mathematics Software"
"Version" "2.00, 09/25/1999"
"Product ID" "01-1-4-80"
"ID #" "01012 34567 ABCD"
"Cert. Rev. #" 0
"Screen Width" 240
"Screen Height" 120
"Window Width" 240
"Window Height" 91
"RAM Size" 262144
"Free RAM" 192988
"Archive Size" 720896
"Free Archive" 720874}
Note: Your screen may display different
attribute values. The Cert. Rev. # attribute
appears only if you have purchased and
installed additional software into the
calculator.
getDenom() MATH/Algebra/Extract menu
getDenom((x+2)/(yì 3))¸ yì 3
getDenom(expression1)
⇒
expression
Transforms expression1 into one having a
reduced common denominator, and then
returns its denominator.
getDenom(2/7)¸
7
getDenom(1/x+(y^2+y)/y^2)¸
xø y
452
Appendix A: Functions and Instructions
getFold() CATALOG
getFold()¸
"main"
getFold()
⇒
nameString
Returns the name of the current folder as a
string.
getFold()! oldfoldr¸ "main"
oldfoldr¸
"main"
getKey() CATALOG
Program listing:
getKey()
⇒
integer
Returns the key code of the key pressed.
Returns 0 if no key is pressed.
:Disp
:Loop
: getKey()! key
The prefix keys (shift ¤, second function
2, option ¥, alpha j, and drag ‚) are
not recognized by themselves; however, they
modify the keycodes of the key that follows
them. For example: ¥ Ù ƒ Ù ƒ 2 Ù.
: while key=0
:
getKey()! key
: EndWhile
: Disp key
: If key = ord("a")
: Stop
For a listing of key codes, see Appendix B.
:EndLoop
getMode() CATALOG
getMode("angle")¸ "RADIAN"
getMode("graph")¸ "FUNCTION"
getMode("all")¸
getMode(modeNameString)
⇒
string
getMode("ALL") ListStringPairs
⇒
If the argument is a specific mode name,
returns a string containing the current setting
for that mode.
{"Graph" "FUNCTION"
"Display Digits" "FLOAT 6"
"Angle" "RADIAN"
If the argument is "ALL", returns a list of
string pairs containing the settings of all the
modes. If you want to restore the mode
settings later, you must store the
getMode("ALL") result in a variable, and then
use setMode() to restore the modes.
"Exponential Format" "NORMAL"
"Complex Format" "REAL"
"Vector Format" "RECTANGULAR"
"Pretty Print" "ON"
"Split Screen" "FULL"
"Split 1 App" "Home"
For a listing of mode names and possible
settings, see setMode().
"Split 2 App" "Graph"
"Number of Graphs" "1"
"Graph 2" "FUNCTION"
Note: To set or return information about the
Unit System mode, use setUnits() or getUnits()
instead of setMode() or getMode().
"Split Screen Ratio" "1,1"
"Exact/Approx" "AUTO"
"Base" "DEC"}
Note: Your screen may display different
mode settings.
getNum() MATH/Algebra/Extract menu
getNum((x+2)/(yì 3))¸
getNum(2/7)¸
x+2
2
getNum(expression1)
⇒
expression
Transforms expression1 into one having a
reduced common denominator, and then
returns its numerator.
getNum(1/x+1/y)¸
x+y
Appendix A: Functions and Instructions
453
getType() CATALOG
{1,2,3}! temp¸
getType(temp)¸
{1 2 3}
"LIST"
getType(var)
⇒
string
Returns a string indicating the data type of
variable var.
2+3i! temp¸
2+3i
If var has not been defined, returns the string
"NONE".
getType(temp)¸
"EXPR"
DelVar temp¸
Done
getType(temp)¸
"NONE"
Data Type
Variable Contents
Assembly-language program
Data type
"ASM"
"DATA"
"EXPR"
Expression (includes complex/arbitrary/undefined, ˆ, ë ˆ, TRUE,
FALSE, pi, e)
"FUNC"
"GDB"
"LIST"
Function
Graph data base
List
"MAT"
"NONE"
"NUM"
"OTHER"
"PIC"
Matrix
Variable does not exist
Real number
Miscellaneous data type for future use by software applications
Picture
"PRGM"
"STR"
Program
String
"TEXT"
"VAR"
Text type
Name of another variable
getUnits() CATALOG
getUnits() ¸
getUnits()
⇒
list
{"SI" "Area" "NONE"
Returns a list of strings that contain the
current default units for all categories except
constants, temperature, amount of substance,
luminous intensity, and acceleration. list has
the form:
"Capacitance" "_F"
"Charge" "_coul"
… }
Note: Your screen may display different
default units.
{"system" "cat1" "unit1" "cat2" "unit2" …}
The first string gives the system (SI, ENG/US,
or CUSTOM). Subsequent pairs of strings give
a category (such as Length) and its default
unit (such as _m for meters).
To set the default units, use setUnits().
454
Appendix A: Functions and Instructions
Goto
CATALOG
Goto labelName
Program segment:
Transfers program control to the label
©
labelName.
:0! temp
:1! i
:Lbl TOP
: temp+i! temp
labelName must be defined in the same
program using a Lbl instruction.
: If i<10 Then
:
:
i+1! i
Goto TOP
: EndIf
:Disp temp
©
Graph
CATALOG
Graph expression1[, expression2] [, var1] [, var2]
In function graphing mode and ZoomStd
window:
The Smart Graph feature graphs the requested
expressions/ functions using the current
graphing mode.
Graph 1.25aù cos(a),a¸
Expressions entered using the Graph or Table
commands are assigned increasing function
numbers starting with 1. They can be
modified or individually deleted using the
edit functions available when the table is
displayed by pressing † Header. The
In parametric graphing mode and ZoomStd
window:
currently selected Y= functions are ignored.
If you omit an optional var argument, Graph
uses the independent variable of the current
graphing mode.
Graph time,2cos(time)/time,time
¸
Note: Not all optional arguments are valid in
all modes because you can never have all
four arguments at the same time.
Some valid variations of this instruction are:
In 3D graphing mode:
Graph (v^2ì w^2)/4,v,w¸
Function graphing
Parametric graphing
Polar graphing
Graph expr, x
Graph xExpr, yExpr, t
Graph expr, q
Sequence graphing
3D graphing
Not allowed.
Graph expr, x, y
Diff Equations graphing Not allowed.
Note: Use ClrGraph to clear these functions,
or go to the Y= Editor to re-enable the system
Y= functions.
Appendix A: Functions and Instructions
455
4Hex
MATH/Base menu
integer1 4Hex integer
2564Hex ¸
0h100
0hF0F
⇒
Converts integer1 to a hexadecimal number.
Binary or hexadecimal numbers always have
a 0b or 0h prefix, respectively.
0b1111000011114Hex ¸
Zero, not the letter O, followed by b or h.
0b binaryNumber
0h hexadecimalNumber
A binary number can have up to
32 digits. A hexadecimal number
can have up to 8.
Without a prefix, integer1 is treated as
decimal (base 10). The result is displayed in
hexadecimal, regardless of the Base mode.
If you enter a decimal integer that is too large
for a signed, 32-bit binary form, a symmetric
modulo operation is used to bring the value
into the appropriate range.
identity() MATH/Matrix menu
identity(4)¸
identity(expression)
⇒
matrix
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
Returns the identity matrix with a dimension
of expression.
expression must evaluate to a positive integer.
If
CATALOG
Program segment:
If Boolean expression
statement
If Boolean expression Then
block
EndIf
©
:If x<0
:Disp "x is negative"
If Boolean expression evaluates to true,
executes the single statement statement or the
block of statements block before continuing
execution.
©
—or—
©
If Boolean expression evaluates to false,
continues execution without executing the
statement or block of statements.
:If x<0 Then
: Disp "x is negative"
: abs(x)! x
:EndIf
block can be either a single statement or a
sequence of statements separated with the “:”
character.
©
Program segment:
If Boolean expression Then
block1
©
Else
block2
EndIf
:If x<0 Then
: Disp "x is negative"
:
Else
: Disp "x is positive or zero"
If Boolean expression evaluates to true,
executes block1 and then skips block2.
:EndIf
©
If Boolean expression evaluates to false, skips
block1 but executes block2.
block1 and block2 can be a single statement.
456
Appendix A: Functions and Instructions
Program segment:
If Boolean expression1 Then
block1
©
ElseIf Boolean expression2 Then
:If choice=1 Then
: Goto option1
: ElseIf choice=2 Then
block2
©
ElseIf Boolean expressionN Then
blockN
EndIf
:
Goto option2
: ElseIf choice=3 Then
Goto option3
:
: ElseIf choice=4 Then
Allows for program branching. If Boolean
expression1 evaluates to true, executes block1.
If Boolean expression1 evaluates to false,
evaluates Boolean expression2, etc.
:
:
Disp "Exiting Program"
Return
:EndIf
©
imag()
MATH/Complex menu
imag(1+2i)¸
imag(z)¸
2
0
y
imag(expression1)
⇒
expression
imag(expression1) returns the imaginary part
of the argument.
imag(x+iy)¸
Note: All undefined variables are treated as
real variables. See also real().
imag({ë 3,4ë i,i})¸ {0 ë 1 1}
imag(list1)
⇒
list
Returns a list of the imaginary parts of the
elements.
0 0
imag(matrix1)
⇒
matrix
imag([a,b;ic,id])¸
[ ]
c d
Returns a matrix of the imaginary parts of the
elements.
Input
CATALOG
Program segment:
Input
Pauses the program, displays the current
Graph screen, and lets you update variables
xc and yc (also rc and qc for polar coordinate
mode) by positioning the graph cursor.
©
:¦ Get 10 points from the Graph
Screen
:For i,1,10
: Input
When you press ¸, the program resumes.
: xc! XLIST[i]
: yc! YLIST[i]
:EndFor
©
Program segment:
Input [promptString,] var
Input [promptString], var pauses the program,
©
displays promptString on the Program I/O
screen, waits for you to enter an expression,
and stores the expression in variable var.
:For i,1,9,1
: "Enter x" & string(i)! str1
: Input str1,#(right(str1,2))
:EndFor
If you omit promptString, “?” is displayed as a
prompt.
©
Appendix A: Functions and Instructions
457
InputStr
CATALOG
InputStr [promptString,] var
Pauses the program, displays promptString on
Program segment:
©
the Program I/O screen, waits for you to
enter a response, and stores your response as
a string in variable var.
:InputStr "Enter Your Name",str1
©
If you omit promptString, “?” is displayed as a
prompt.
Note: The difference between Input and
InputStr is that InputStr always stores the
result as a string so that “ ” are not required.
inString() MATH/String menu
inString(srcString, subString[, start])
⇒
integer
inString("Hello there","the")
¸
7
Returns the character position in string
srcString at which the first occurrence of
string subString begins.
"ABCEFG"! s1:If inString(s1,
"D")=0:Disp "D not found."¸
D not found.
start, if included, specifies the character
position within srcString where the search
begins. Default = 1 (the first character of
srcString).
If srcString does not contain subString or start
is > the length of srcString, returns zero.
int()
CATALOG
int(ë 2.5)¸
ë 3.
int(expression)
int(list1)
int(matrix1)
⇒
integer
⇒
list
⇒
int([-1.234,0,0.37])¸
matrix
[-2. 0 0.]
Returns the greatest integer that is less than
or equal to the argument. This function is
identical to floor().
The argument can be a real or a complex
number.
For a list or matrix, returns the greatest
integer of each of the elements.
intDiv()
CATALOG
intDiv(ë 7,2)¸
ë 3
intDiv(number1, number2)
intDiv(list1, list2) list
intDiv(matrix1, matrix2)
⇒
integer
matrix
⇒
intDiv(4,5)¸
0
⇒
Returns the signed integer part of argument 1
divided by argument 2.
intDiv({12,ë 14,ë 16},{5,4,ë 3})
¸
{2 ë 3 5}
For lists and matrices returns the signed
integer part of argument 1 divided by
argument 2 for each element pair.
integrate See ‰(), page 532.
458
Appendix A: Functions and Instructions
iPart()
MATH/Number menu
iPart(ë 1.234)¸
ë 1.
iPart(number)
⇒
integer
iPart(list1)
⇒
list
iPart({3/2,ë 2.3,7.003})¸
iPart(matrix1)
⇒
matrix
{1 ë 2. 7.}
Returns the integer part of the argument.
For lists and matrices, returns the integer
part of each element.
The argument can be a real or a complex
number.
isPrime() MATH/Test menu
IsPrime(5) ¸
true
isPrime(number)
⇒
Boolean constant expression
IsPrime(6) ¸
false
Returns true or false to indicate if number is a
whole number ‚ 2 that is evenly divisible only
by itself and 1.
Function to find the next prime after a
specified number:
If number exceeds about 306 digits and has no
factors 1021, isPrime(number) displays an
error message.
Define nextPrim(n)=Func:Loop:
n+1! n:if isPrime(n):return n:
EndLoop:EndFunc ¸
Done
If you merely want to determine if number is
prime, use isPrime() instead of factor(). It is
much faster, particularly if number is not
prime and has a second-largest factor that
exceeds about five digits.
nextPrim(7) ¸
11
Item
CATALOG
Item itemNameString
Item itemNameString, label
See Custom example.
Valid only within a Custom...EndCustm or
ToolBar...EndTBar block. Sets up a drop-down
menu element to let you paste text to the
cursor position (Custom) or branch to a label
(ToolBar).
Note: Branching to a label is not allowed
within a Custom block.
Lbl
CATALOG
Program segment:
Lbl labelName
Defines a label with the name labelName in
©
the program.
:Lbl lbl1
:InputStr "Enter password",
You can use a Goto labelName instruction to
transfer program control to the instruction
immediately following the label.
str1
:If str1ƒpassword
: Goto lbl1
:Disp "Welcome to ..."
©
labelName must meet the same naming
requirements as a variable name.
Appendix A: Functions and Instructions
459
lcm()
MATH/Number menu
lcm(number1, number2) expression
lcm(list1, list2) list
lcm(matrix1, matrix2)
lcm(6,9)¸
18
⇒
⇒
lcm({1/3,ë 14,16},{2/15,7,5})
⇒
matrix
¸
Returns the least common multiple of the
two arguments. The lcm of two fractions is
the lcm of their numerators divided by the
gcd of their denominators. The lcm of
fractional floating-point numbers is their
product.
{2/3 14 80}
For two lists or matrices, returns the least
common multiples of the corresponding
elements.
left()
MATH/String menu
left(sourceString[, num])
⇒
string
left("Hello",2)¸
"He"
Returns the leftmost num characters
contained in character string sourceString.
If you omit num, returns all of sourceString.
left({1,3,ë 2,4},3)¸
left(list1[, num])
⇒
list
{1 3 ë 2}
Returns the leftmost num elements contained
in list1.
If you omit num, returns all of list1.
left(comparison)
⇒
expression
left(x<3)¸
x
Returns the left-hand side of an equation or
inequality.
limit()
MATH/Calculus menu
limit(2x+3,x,5)¸
13
limit(expression1, var, point[, direction])
⇒
expression
limit(1/x,x,0,1)¸
ˆ
limit(list1, var, point[, direction])
limit(matrix1, var, point[, direction])
⇒
list
⇒
matrix
limit(sin(x)/x,x,0)¸
1
Returns the limit requested.
limit((sin(x+h)-sin(x))/h,h,0)
direction: negative=from left, positive=from
right, otherwise=both. (If omitted, direction
defaults to both.)
¸
cos(x)
limit((1+1/n)^n,n,ˆ)¸
e
Limits at positive ˆ and at negative ˆ are
always converted to one-sided limits from the
finite side.
Depending on the circumstances, limit()
returns itself or undef when it cannot
determine a unique limit. This does not
necessarily mean that a unique limit does not
exist. undef means that the result is either an
unknown number with finite or infinite
magnitude, or it is the entire set of such
numbers.
460
Appendix A: Functions and Instructions
limit(a^x,x,ˆ) ¸
undef
limit() uses methods such as L’Hopital’s rule,
so there are unique limits that it cannot
determine. If expression1 contains undefined
variables other than var, you might have to
constrain them to obtain a more concise
result.
limit(a^x,x,ˆ)|a>1¸
ˆ
limit(a^x,x,ˆ)|a>0 and a<1
¸
0
Limits can be very sensitive to rounding
error. When possible, avoid the APPROX
setting of the Exact/Approx mode and
approximate numbers when computing
limits. Otherwise, limits that should be zero
or have infinite magnitude probably will not,
and limits that should have finite non-zero
magnitude might not.
Line
CATALOG
Line xStart, yStart, xEnd, yEnd[, drawMode]
In the ZoomStd window, draw a line and
then erase it.
Displays the Graph screen and draws, erases,
or inverts a line segment between the
window coordinates (xStart, yStart) and
(xEnd, yEnd), including both endpoints.
Line 0,0,6,9¸
If drawMode = 1, draws the line (default).
If drawMode = 0, turns off the line.
If drawMode = ë 1, turns a line that is on to off
or off to on (inverts pixels along the line).
TI-89: "
Note: Regraphing erases all drawn items. See
also PxlLine.
TI-92 Plus: ¥ "
Line 0,0,6,9,0¸
LineHorz CATALOG
LineHorz y [, drawMode]
In a ZoomStd window:
LineHorz 2.5 ¸
Displays the Graph screen and draws, erases,
or inverts a horizontal line at window
position y.
If drawMode = 1, draws the line (default).
If drawMode = 0, turns off the line.
If drawMode = ë 1, turns a line that is on to off
or off to on (inverts pixels along the line).
Note: Regraphing erases all drawn items. See
also PxlHorz.
Appendix A: Functions and Instructions
461
LineTan
CATALOG
LineTan expression1, expression2
In function graphing mode and a ZoomTrig
window:
Displays the Graph screen and draws a line
tangent to expression1 at the point specified.
Graph cos(x)
TI-89: "
expression1 is an expression or the name of a
function, where x is assumed to be the
independent variable, and expression2 is the x
value of the point that is tangent.
TI-92 Plus: ¥ "
LineTan cos(x),p/4¸
Note: In the example shown, expression1 is
graphed separately. LineTan does not graph
expression1.
LineVert
CATALOG
LineVert x [, drawMode]
In a ZoomStd window:
Displays the Graph screen and draws, erases,
or inverts a vertical line at window position x.
LineVert ë 2.5¸
If drawMode = 1, draws the line (default).
If drawMode = 0, turns off the line.
If drawMode = ë 1, turns a line that is on to off
or off to on (inverts pixels along the line).
Note: Regraphing erases all drawn items. See
also PxlVert.
LinReg
MATH/Statistics/Regressions menu
In function graphing mode:
LinReg list1, list2[, [list3] [, list4, list5]]
Calculates the linear regression and updates
all the system statistics variables.
{0,1,2,3,4,5,6}! L1¸
{0 1 2 ...}
{0,2,3,4,3,4,6}! L2¸
All the lists must have equal dimensions
except for list5.
{0 2 3 ...}
LinReg L1,L2¸
ShowStat¸
Done
list1 represents xlist.
list2 represents ylist.
list3 represents frequency.
list4 represents category codes.
list5 represents category include list.
¸
Note: list1 through list4 must be a variable
name or c1–c99 (columns in the last data
variable shown in the Data/Matrix Editor).
list5 does not have to be a variable name and
cannot be c1–c99.
Regeq(x)"y1(x)¸
NewPlot 1,1,L1,L2¸
Done
Done
¥ %
462
Appendix A: Functions and Instructions
list4mat() MATH/List menu
list4mat({1,2,3})¸
[1 2 3]
list4mat(list [, elementsPerRow])
⇒
matrix
Returns a matrix filled row-by-row with the
elements from list.
list4mat({1,2,3,4,5},2)¸
1 2
3 4
5 0
elementsPerRow, if included, specifies the
number of elements per row. Default is the
number of elements in list (one row).
If list does not fill the resulting matrix, zeros
are added.
@list()
MATH/List menu
@list({20,30,45,70}) ¸
list(list1)
⇒
list
{10,15,25}
Returns a list containing the differences
between consecutive elements in list1. Each
element of list1 is subtracted from the next
element of list1. The resulting list is always
one element shorter than the original list1.
ln()
TI-89: 2 x key
ln(expression1) expression
ln(list1) list
TI-92 Plus: x key
ln(2.0)¸
.693...
⇒
⇒
If complex format mode is REAL:
Returns the natural logarithm of the
argument.
ln({ë 3,1.2,5})¸
Error: Non-real result
For a list, returns the natural logarithms of
the elements.
If complex format mode is RECTANGULAR:
ln({ë 3,1.2,5})¸
{ln(3) + pø i .182... ln(5)}
ln(squareMatrix1)
⇒
squareMatrix
In Radian angle mode and Rectangular
complex format mode:
Returns the matrix natural logarithm of
squareMatrix1. This is not the same as
calculating the natural logarithm of each
element. For information about the
calculation method, refer to cos() on.
ln([1,5,3;4,2,1;6,ë 2,1]) ¸
1.831…+1.734…øi .009…ì 1.490…øi
.448…ì.725…øi 1.064…+.623øi
…
…
ë.266…ì 2.083…øi 1.124…+1.790…øi …
squareMatrix1 must be diagonalizable. The
result always contains floating-point
numbers.
Appendix A: Functions and Instructions
463
LnReg
MATH/Statistics/Regressions menu
In function graphing mode:
LnReg list1, list2[, [list3] [, list4, list5]]
Calculates the logarithmic regression and
updates all the system statistics variables.
{1,2,3,4,5,6,7,8}! L1¸
{1 2 3 ...}
{1,2,2,3,3,3,4,4}! L2¸
{1 2 2 ...}
All the lists must have equal dimensions
except for list5.
LnReg L1,L2¸
ShowStat¸
Done
list1 represents xlist.
list2 represents ylist.
list3 represents frequency.
list4 represents category codes.
list5 represents category include list.
Note: list1 through list4 must be a variable
name or c1–c99 (columns in the last data
variable shown in the Data/Matrix Editor).
list5 does not have to be a variable name and
cannot be c1–c99.
¸
Regeq(x)"y1(x)¸
NewPlot 1,1,L1,L2¸
Done
Done
¥ %
Local
CATALOG
Program listing:
Local var1[, var2] [, var3] ...
Declares the specified vars as local variables. :prgmname()
:Prgm
Those variables exist only during evaluation
of a program or function and are deleted
when the program or function finishes
execution.
:Local x,y
:Input "Enter x",x
:Input "Enter y",y
:Disp xù y
Note: Local variables save memory because
they only exist temporarily. Also, they do not
disturb any existing global variable values.
Local variables must be used for For loops
and for temporarily saving values in a multi-
line function since modifications on global
variables are not allowed in a function.
:EndPrgm
Note: x and y do not exist after the
program executes.
Lock
CATALOG
{1,2,3,4}! L1¸
Lock L1¸
{1,2,3,4}
Done
Lock var1[, var2] ...
Locks the specified variables. This prevents
you from accidentally deleting or changing
the variable without first using the unlock
instruction on that variable.
DelVar L1¸
Error:Variableislockedorprotected
In the example to the right, the variable L1 is
locked and cannot be deleted or modified.
Note: The variables can be unlocked using
the Unlock command.
464
Appendix A: Functions and Instructions
log()
CATALOG
log(expression1)
log(list1) list
log(2.0)¸
.301...
⇒
expression
⇒
If complex format mode is REAL:
Returns the base-10 logarithm of the
argument.
log({ë 3,1.2,5})¸
Error: Non-real result
For a list, returns the base-10 logs of the
elements.
If complex format mode is RECTANGULAR:
log({ë 3,1.2,5})¸
p
ln(3)
ln(5)
{
+
øi .079...
}
ln(10)
ln(10)
ln(10)
log(squareMatrix1)
⇒
squareMatrix
In Radian angle mode and Rectangular
complex format mode:
Returns the matrix base-10 logarithm of
squareMatrix1. This is not the same as
calculating the base-10 logarithm of each
element. For information about the
calculation method, refer to cos().
log([1,5,3;4,2,1;6,ë 2,1]) ¸
.795…+.753…øi
.003…ì.647…øi …
.462…+.270øi
.194…ì.315…øi
…
squareMatrix1 must be diagonalizable. The
result always contains floating-point
numbers.
ë.115…ì.904…øi .488…+.777…øi …
Logistic
MATH/Statistics/Regressions menu
Logistic list1, list2 [, [iterations], [list3] [, list4, list5]]
In function graphing mode:
Calculates the logistic regression and updates {1,2,3,4,5,6}! L1 ¸ {1 2 3 …}
all the system statistics variables.
{1,1.3,2.5,3.5,4.5,4.8}! L2
All the lists must have equal dimensions
except for list5.
¸
{1 1.3 2.5 …}
list1 represents xlist.
list2 represents ylist.
list3 represents frequency.
list4 represents category codes.
list5 represents category include list.
Logistic L1,L2 ¸
Done
ShowStat ¸
iterations specifies the maximum number of
times a solution will be attempted. If omitted,
64 is used. Typically, larger values result in
better accuracy but longer execution times,
and vice versa.
¸
regeq(x)! y1(x) ¸
NewPlot 1,1,L1,L2 ¸
¥ %
Done
Done
Note: list1 through list4 must be a variable
name or c1–c99 (columns in the last data
variable shown in the Data/Matrix Editor).
list5 does not have to be a variable name and
cannot be c1–c99.
„ 9
Appendix A: Functions and Instructions
465
Loop
CATALOG
Loop
block
EndLoop
Program segment:
©
:1! i
Repeatedly executes the statements in block.
:Loop
Note that the loop will be executed endlessly,
unless a Goto or Exit instruction is executed
within block.
: Rand(6)! die1
: Rand(6)! die2
: If die1=6 and die2=6
:
Goto End
block is a sequence of statements separated
with the “:” character.
: i+1! i
:EndLoop
:Lbl End
:Disp "The number of rolls is", i
©
LU
MATH/Matrix menu
LU matrix, lMatName, uMatName, pMatName[, tol]
[6,12,18;5,14,31;3,8,18]!m1
¸
Calculates the Doolittle LU (lower-upper)
decomposition of a real or complex matrix.
The lower triangular matrix is stored in
lMatName, the upper triangular matrix in
uMatName, and the permutation matrix
(which describes the row swaps done during
the calculation) in pMatName.
6 12 18
5 14 31
3 8
18
LU m1,lower,upper,perm ¸ Done
1
0
0
0
5/6 1
lower ¸
upper ¸
perm ¸
lMatName ù uMatName = pMatName ù matrix
1/2 1/2 1
Optionally, any matrix element is treated as
zero if its absolute value is less than tol. This
tolerance is used only if the matrix has
floating-point entries and does not contain
any symbolic variables that have not been
assigned a value. Otherwise, tol is ignored.
6 12 18
0 4
0 0
16
1
1 0 0
0 1 0
0 0 1
•
If you use ¥ ¸ or set the mode to
Exact/Approx=APPROXIMATE, computations
are done using floating-point arithmetic.
m n
o p
[m,n;o,p]!m1 ¸
[
]
•
If tol is omitted or not used, the default
tolerance is calculated as:
LU m1,lower,upper,perm ¸ Done
5Eë 14 ù max(dim(matrix))
ù rowNorm(matrix)
1 0
m
o
lower ¸
1
The LU factorization algorithm uses partial
pivoting with row interchanges.
o p
0 n ì
møp
o
upper ¸
0 1
1 0
perm ¸
[
]
466
Appendix A: Functions and Instructions
mat4list() MATH/List menu
mat4list([1,2,3])¸
{1 2 3}
1 2 3
mat4list(matrix)
⇒
list
Returns a list filled with the elements in
matrix. The elements are copied from matrix
row by row.
[1,2,3;4,5,6]! M1¸
[
]
4 5 6
mat4list(M1)¸ {1 2 3 4 5 6}
max()
MATH/List menu
max(2.3,1.4)¸
2.3
max(expression1, expression2)
max(list1, list2) list
max(matrix1, matrix2)
⇒
expression
⇒
max({1,2},{ë 4,3})¸
{1 3}
⇒
matrix
Returns the maximum of the two arguments.
If the arguments are two lists or matrices,
returns a list or matrix containing the
maximum value of each pair of
corresponding elements.
max({0,1,ë 7,1.3,.5})¸
1.3
max(list)
Returns the maximum element in list.
max(matrix1) matrix
⇒
expression
⇒
max([1,ë 3,7;ë 4,0,.3])¸
[1 0 7]
Returns a row vector containing the
maximum element of each column in
matrix1.
Note: See also fMax() and min().
mean()
MATH/Statistics menu
mean({.2,0,1,ë.3,.4})¸ .26
mean(list[, freqlist])
⇒
expression
Returns the mean of the elements in list.
Each freqlist element counts the number of
consecutive occurrences of the
mean({1,2,3},{3,2,1}) ¸ 5/3
corresponding element in list.
In vector format rectangular mode:
mean(matrix1[, freqmatrix])
⇒
matrix
Returns a row vector of the means of all the
columns in matrix1.
mean([.2,0;L1,3;.4,L.5])¸
[L.133... .833...]
Each freqmatrix element counts the number
of consecutive occurrences of the
corresponding element in matrix1.
mean([1/5,0;L1,3;2/5,L1/2])
¸
[ë 2/15 5/6]
mean([1,2;3,4;5,6],[5,3;4,1;
6,2]) ¸
[47/15, 11/3]
median() MATH/Statistics menu
median({.2,0,1,ë.3,.4})¸ .2
median(list)
Returns the median of the elements in list1.
median(matrix1) matrix
⇒
expression
⇒
median([.2,0;1,ë.3;.4,ë.5])
¸
Returns a row vector containing the medians
of the columns in matrix1.
[.4 ë.3]
Note: All entries in the list or matrix must
simplify to numbers.
Appendix A: Functions and Instructions
467
MedMed MATH/Statistics/Regressions menu
In function graphing mode:
MedMed list1, list2[, [list3] [, list4, list5]]
Calculates the median-median line and
updates all the system statistics variables.
{0,1,2,3,4,5,6}! L1¸ {0 1 2 ...}
{0,2,3,4,3,4,6}! L2¸ {0 2 3 ...
All the lists must have equal dimensions
except for list5.
MedMed L1,L2¸
ShowStat¸
Done
list1 represents xlist.
list2 represents ylist.
list3 represents frequency.
list4 represents category codes.
list5 represents category include list.
Note: list1 through list4 must be a variable
name or c1–c99 (columns in the last data
variable shown in the Data/Matrix Editor).
list5 does not have to be a variable name and
cannot be c1–c99.
¸
Regeq(x)! y1(x)¸
NewPlot 1,1,L1,L2¸
Done
Done
¥ %
mid()
MATH/String menu
mid(sourceString, start[, count])
⇒
string
mid("Hello there",2)¸
"ello there"
mid("Hello there",7,3)¸
"the"
mid("Hello there",1,5)¸
Returns count characters from character
string sourceString, beginning with character
number start.
If count is omitted or is greater than the
dimension of sourceString, returns all
characters from sourceString, beginning with
character number start.
"Hello"
mid("Hello there",1,0)¸
count must be ‚ 0. If count = 0, returns an
empty string.
""
mid({9,8,7,6},3)¸
mid({9,8,7,6},2,2)¸
mid({9,8,7,6},1,2)¸
mid({9,8,7,6},1,0)¸
{7 6}
{8 7}
{9 8}
{}
mid(sourceList, start [, count])
⇒
list
Returns count elements from sourceList,
beginning with element number start.
If count is omitted or is greater than the
dimension of sourceList, returns all elements
from sourceList, beginning with element
number start.
count must be ‚ 0. If count = 0, returns an
empty list.
mid(sourceStringList, start[, count])
⇒
list
mid({"A","B","C","D"},2,2)¸
{"B" "C"}
Returns count strings from the list of strings
sourceStringList, beginning with element
number start.
468
Appendix A: Functions and Instructions
min()
MATH/List menu
min(2.3,1.4)¸
1.4
min(expression1, expression2)
⇒
expression
min(list1, list2)
min(matrix1, matrix2)
⇒
list
min({1,2},{ë 4,3})¸
{ë 4 2}
⇒
matrix
Returns the minimum of the two arguments.
If the arguments are two lists or matrices,
returns a list or matrix containing the
minimum value of each pair of corresponding
elements.
min({0,1,ë 7,1.3,.5})¸
ë 7
min(list)
Returns the minimum element of list.
min(matrix1) matrix
⇒
expression
⇒
min([1,ë 3,7;ë 4,0,.3])¸
[ë 4 ë 3 .3]
Returns a row vector containing the
minimum element of each column in matrix1.
Note: See also fMin() and max().
mod()
MATH/Number menu
mod(7,0)¸
mod(7,3)¸
mod(ë 7,3)¸
mod(7,ë 3)¸
mod(ë 7,ë 3)¸
7
1
mod(expression1, expression2)
mod(list1, list2) list
mod(matrix1, matrix2)
⇒
expression
⇒
⇒
matrix
Returns the first argument modulo the
second argument as defined by the identities:
2
ë 2
ë 1
mod(x,0) x
mod(x,y) xì y floor(x/y)
When the second argument is non-zero, the
result is periodic in that argument. The result
is either zero or has the same sign as the
second argument.
mod({12,ë 14,16},{9,7,ë 5})¸
{3 0 ë 4}
If the arguments are two lists or two
matrices, returns a list or matrix containing
the modulo of each pair of corresponding
elements.
Note: See also remain().
MoveVar CATALOG
{1,2,3,4}! L1¸
{1 2 3 4}
MoveVar var, oldFolder, newFolder
MoveVar L1,Main,Games¸ Done
Moves variable var from oldFolder to
newFolder. If newFolder does not exist,
MoveVar creates it.
mRow()
MATH/Matrix/Row ops menu
mRow(ë 1/3,[1,2;3,4],2)¸
mRow(expression, matrix1, index)
⇒
matrix
1 2
ë 1 ë 4/3
Returns a copy of matrix1 with each element
in row index of matrix1 multiplied by
expression.
[
]
Appendix A: Functions and Instructions
469
mRowAdd() MATH/Matrix/Row ops menu
mRowAdd(ë 3,[1,2;3,4],1,2)¸
mRowAdd(expression, matrix1, index1, index2)
⇒
matrix
1 2
[
]
L2
0
Returns a copy of matrix1 with each element
in row index2 of matrix1 replaced with:
mRowAdd(n,[a,b;c,d],1,2)¸
a
b
expression × row index1 + row index2
[
]
aø n+c bø n+d
nCr()
MATH/Probability menu
zø (zì 2)ø (zì 1)
nCr(expression1, expression2)
⇒
expression
nCr(z,3)
ans(1)|z=5
nCr(z,c)
6
For integer expression1 and expression2 with
expression1 ‚ expression2 ‚ 0, nCr() is the
number of combinations of expression1 things
taken expression2 at a time. (This is also
known as a binomial coefficient.) Both
arguments can be integers or symbolic
expressions.
10
z!
c!(zì c)!
1
c!
ans(1)/nPr(z,c)
nCr(expression, 0)
⇒
1
nCr(expression, negInteger)
⇒
⇒
0
nCr(expression, posInteger)
expressionø (expressionì 1)...
(expressionì posInteger+1)/ posInteger!
nCr(expression, nonInteger)
((expressionì nonInteger)!ø nonInteger!)
⇒
expression!/
nCr({5,4,3},{2,4,2})¸
nCr(list1, list2)
⇒
list
{10 1 3}
Returns a list of combinations based on the
corresponding element pairs in the two lists.
The arguments must be the same size list.
nCr([6,5;4,3],[2,2;2,2])¸
nCr(matrix1, matrix2)
⇒
matrix
15 10
Returns a matrix of combinations based on
the corresponding element pairs in the two
matrices. The arguments must be the same
size matrix.
[
]
6
3
nDeriv()
MATH/Calculus menu
nDeriv(cos(x),x,h)¸
nDeriv(expression1, var[, h])
nDeriv(expression1, var, list)
nDeriv(list, var[, h]) list
nDeriv(matrix, var[, h])
⇒
⇒
expression
list
ë (cos(xì h)ì cos(x+h))
⇒
2ø h
⇒
matrix
limit(nDeriv(cos(x),x,h),h,0)
Returns the numerical derivative as an
expression. Uses the central difference
quotient formula.
¸
ë sin(x)
nDeriv(x^3,x,0.01)¸
h is the step value. If h is omitted, it defaults
3.ø (xñ +.000033)
to 0.001.
When using list or matrix, the operation gets
mapped across the values in the list or across
the matrix elements.
nDeriv(cos(x),x)|x=p/2¸
ë 1.
nDeriv(x^2,x,{.01,.1}) ¸
Note: See also avgRC() and d().
{2.ø x 2.ø x}
470
Appendix A: Functions and Instructions
NewData CATALOG
NewData dataVar, list1[, list2] [, list3]...
NewData mydata,{1,2,3},{4,5,6}
¸
Creates data variable dataVar, where the
columns are the lists in order.
Done
(Go to the Data/Matrix Editor and open
the var mydatato display the data
variable below.)
Must have at least one list.
list1, list2, ..., listn can be lists as shown,
expressions that resolve to lists, or list
variable names.
NewData makes the new variable current in
the Data/Matrix Editor.
NewData dataVar, matrix
Creates data variable dataVar based on
matrix.
NewData sysData, matrix
Loads the contents of matrix into the system
data variable sysData.
NewFold CATALOG
NewFold games¸
Done
NewFold folderName
Creates a user-defined folder with the name
folderName, and then sets the current folder
to that folder. After you execute this
instruction, you are in the new folder.
newList() CATALOG
newList(4)¸
{0 0 0 0}
newList(numElements)
⇒
list
Returns a list with a dimension of
numElements. Each element is zero.
newMat() CATALOG also Math/Matrix menu
0 0 0
newMat(numRows, numColumns)
⇒
matrix
newMat(2,3)¸
[
]
0 0 0
Returns a matrix of zeros with the dimension
numRows by numColumns.
NewPic
CATALOG
NewPic [1,1;2,2;3,3;4,4;5,5;
5,1;4,2;2,4;1,5],xpic¸ Done
NewPic matrix, picVar [, maxRow][, maxCol]
Creates a pic variable picVar based on matrix.
matrix must be an n×2 matrix in which each
row represents a pixel. Pixel coordinates
start at 0,0. If picVar already exists, NewPic
replaces it.
RclPic xpic¸
The default for picVar is the minimum area
required for the matrix values. The optional
arguments, maxRow and maxCol, determine
the maximum boundary limits for picVar.
Appendix A: Functions and Instructions
471
NewPlot
CATALOG
FnOff¸
PlotsOff¸
Done
Done
NewPlot n, type, xList [,[yList], [frqList], [catList],
[includeCatList], [mark] [, bucketSize]]
{1,2,3,4}! L1¸
{2,3,4,5}! L2¸
NewPlot 1,1,L1,L2,,,,4¸ Done
{1 2 3 4}
{2 3 4 5}
Creates a new plot definition for plot number n.
type specifies the type of the graph plot.
1 = scatter plot
2 = xyline plot
3 = box plot
Press ¥ % to display:
4 = histogram
5 = modified box plot
mark specifies the display type of the mark.
1 = è (box)
2 = × (cross)
3 = + (plus )
4 = é (square)
5 = ø (dot)
bucketSize is the width of each histogram
“bucket” (type = 4), and will vary based on
the window variables xmin and xmax.
bucketSize must be >0. Default = 1.
Note: n can be 1–9. Lists must be variable
names or c1–c99 (columns in the last data
variable shown in the Data/Matrix Editor),
except for includeCatList, which does not
have to be a variable name and cannot be
c1–c99.
NewProb CATALOG
NewProb ¸
Done
NewProb
Performs a variety of operations that let you
begin a new problem from a cleared state
without resetting the memory.
•
•
•
Clears all single-character variable names
(Clear a–z) in the current folder, unless the
variables are locked or archived.
Turns off all functions and stat plots
(FnOff and PlotsOff) in the current
graphing mode.
Perfoms ClrDraw, ClrErr, ClrGraph,
ClrHome, ClrIO, and ClrTable.
nInt()
MATH/Calculus menu
nInt(e^(ë x^2),x,ë 1,1)¸
nInt(expression1, var, lower, upper)
⇒
expression
1.493...
If the integrand expression1 contains no
variable other than var, and if lower and upper
are constants, positive ˆ, or negative ˆ, then
nInt() returns an approximation of
‰(expression1, var, lower, upper). This
approximation is a weighted average of some
sample values of the integrand in the interval
lower<var<upper.
472
Appendix A: Functions and Instructions
nInt(cos(x),x,ë p,p+1í ë 12)¸
The goal is six significant digits. The adaptive
algorithm terminates when it seems likely
that the goal has been achieved, or when it
seems unlikely that additional samples will
yield a worthwhile improvement.
ë 1.041...í ë 12
‰(cos(x),x,ë p,p+10^(ë 12))¸
1
ë sin(
)
1000000000000
A warning is displayed (“Questionable
accuracy”) when it seems that the goal has not
been achieved.
ans(1)¥ ¸
ë 1.í ë 12
nInt(nInt(e^(ë xù y)/‡(x^2ì y^2),
Nest nInt() to do multiple numeric integration.
Integration limits can depend on integration
variables outside them.
y,ë x,x),x,0,1)¸
3.304...
Note: See also ‰().
norm()
not
MATH/Matrix/Norms menu
norm([a,b;c,d])¸
norm(matrix)
⇒
expression
Returns the Frobenius norm.
añ +bñ +cñ +dñ
norm([1,2;3,4])¸
30
MATH/Test menu
not 2>=3¸
true
not Boolean expression1
⇒
Boolean expression
Returns true, false, or a simplified Boolean
expression1.
not x<2¸
x‚ 2
not not innocent¸ innocent
not integer1
⇒
integer
In Hex base mode:
not 0h7AC36 ¸
0hFFF853C9
Returns the one’s complement of a real
integer. Internally, integer1 is converted to a
signed, 32-bit binary number. The value of
each bit is flipped (0 becomes 1, and vice
versa) for the one’s complement. Results are
displayed according to the Base mode.
Important: Zero, not the letter O.
In Bin base mode:
0b1001014 dec ¸
37
You can enter the integer in any number
base. For a binary or hexadecimal entry, you
must use the 0b or 0h prefix, respectively.
Without a prefix, the integer is treated as
decimal (base 10).
not 0b100101 ¸
0b11111111111111111111111111011010
ans(1)4 dec ¸
ë 38
If you enter a decimal integer that is too large
for a signed, 32-bit binary form, a symmetric
modulo operation is used to bring the value
into the appropriate range.
Note: A binary entry can have up to 32
digits (not counting the 0b prefix). A
hexadecimal entry can have up to 8 digits.
Note: To type the 4 conversion operator,
press 2 . You can also select base
conversions from the MATH/Base menu.
Appendix A: Functions and Instructions
473
nPr()
MATH/Probability menu
nPr(expression1, expression2)
nPr(z,3)¸
zø (zì 2)ø (zì 1)
⇒
expression
For integer expression1 and expression2 with
expression1 ‚ expression2 ‚ 0, nPr() is the
number of permutations of expression1 things
taken expression2 at a time. Both arguments
can be integers or symbolic expressions.
ans(1)|z=5¸
60
1
nPr(z,ë 3)¸
(z+1)ø (z+2)ø (z+3)
z!
nPr(expression, 0)
⇒
1
nPr(z,c)¸
(zì c)!
nPr(expression, negInteger)
1/((expression+1)ø (expression+2)...
⇒
ans(1)ù nPr(zì c,ë c)¸
1
(expressionì negInteger))
nPr(expression, posInteger)
⇒
expressionø (expressionì 1)...
(expressionì posInteger+1)
nPr(expression, nonInteger)
(expressionì nonInteger)!
⇒
expression!/
nPr({5,4,3},{2,4,2})¸
nPr(list1, list2)
⇒
list
{20 24 6}
Returns a list of permutations based on the
corresponding element pairs in the two lists.
The arguments must be the same size list.
nPr([6,5;4,3],[2,2;2,2])¸
30 20
nPr(matrix1, matrix2)
⇒
matrix
Returns a matrix of permutations based on
the corresponding element pairs in the two
matrices. The arguments must be the same
size matrix.
[
]
6
12
nSolve() MATH/Algebra menu
nSolve(x^2+5xì 25=9,x)¸
nSolve(equation, varOrGuess)
error_string
⇒
number or
3.844...
Iteratively searches for one approximate real
numeric solution to equation for its one
variable. Specify varOrGuess as:
nSolve(x^2=4,x=ë 1)¸
ë 2.
nSolve(x^2=4,x=1)¸
2.
variable
– or –
variable = real number
Note: If there are multiple solutions, you
can use a guess to help find a particular
solution.
For example, x is valid and so is x=3.
nSolve(x^2+5xì 25=9,x)|x<0¸
nSolve() is often much faster than solve() or
zeros(), particularly if the “|” operator is used
to constrain the search to a small interval
containing exactly one simple solution.
ë 8.844...
nSolve(((1+r)^24ì 1)/r=26,r)|r>
0 and r<.25¸
.0068...
nSolve() attempts to determine either one
point where the residual is zero or two
relatively close points where the residual has
opposite signs and the magnitude of the
residual is not excessive. If it cannot achieve
this using a modest number of sample points,
it returns the string “no solution found.”
nSolve(x^2=ë 1,x)¸
"no solution found"
If you use nSolve() in a program, you can use
getType() to check for a numeric result before
using it in an algebraic expression.
Note: See also cSolve(), cZeros(), solve(), and
zeros().
474
Appendix A: Functions and Instructions
OneVar
MATH/Statistics menu
{0,2,3,4,3,4,6}! L1¸
OneVar L1¸
ShowStat¸
OneVar list1 [[, list2] [, list3] [, list4]]
Done
Calculates 1-variable statistics and updates
all the system statistics variables.
All the lists must have equal dimensions
except for list4.
list1 represents xlist.
list2 represents frequency.
list3 represents category codes.
list4 represents category include list.
Note: list1 through list3 must be a variable
name or c1–c99 (columns in the last data
variable shown in the Data/Matrix Editor).
list4 does not have to be a variable name and
cannot be c1–c99.
or
MATH/Test menu
x‚3 or x‚4¸
x‚ 3
Boolean expression1 or Boolean expression2
⇒
Boolean expression
Program segment:
Returns true or false or a simplified form of
the original entry.
©
If x<0 or x‚5
Returns true if either or both expressions
simplify to true. Returns false only if both
expressions evaluate to false.
Goto END
©
If choice=1 or choice=2
Disp "Wrong choice"
Note: See xor.
©
integer1 or integer2
⇒
integer
In Hex base mode:
0h7AC36 or 0h3D5F ¸ 0h7BD7F
Compares two real integers bit-by-bit using
an or operation. Internally, both integers are
converted to signed, 32-bit binary numbers.
When corresponding bits are compared, the
result is 1 if either bit is 1; the result is 0 only
if both bits are 0. The returned value
Important: Zero, not the letter O.
In Bin base mode:
0b100101 or 0b100 ¸ 0b100101
represents the bit results, and is displayed
according to the Base mode.
Note: A binary entry can have up to 32
digits (not counting the 0b prefix). A
hexadecimal entry can have up to 8 digits.
You can enter the integers in any number
base. For a binary or hexadecimal entry, you
must use the 0b or 0h prefix, respectively.
Without a prefix, integers are treated as
decimal (base 10).
If you enter a decimal integer that is too large
for a signed, 32-bit binary form, a symmetric
modulo operation is used to bring the value
into the appropriate range.
Note: See xor.
Appendix A: Functions and Instructions
475
ord()
MATH/String menu
ord("hello")¸
104
"h"
24
ord(string)
ord(list1)
⇒
integer
list
⇒
char(104)¸
Returns the numeric code of the first
character in character string string, or a list
of the first characters of each list element.
ord(char(24))¸
ord({"alpha","beta"})¸
See Appendix B for a complete listing of
character codes.
{97 98}
Output
CATALOG
Output row, column, exprOrString
Program segment:
©
Displays exprOrString (an expression or
character string) on the Program I/O screen
at the text coordinates (row, column).
:RandSeed 1147
:ClrIO
:For i,1,90,10
: Output i, rand(100),"Hello"
An expression can include conversion
operations such as 4DD and 4Rect. You can
also use the 4 operator to perform unit and
number base conversions.
:EndFor
©
Result after execution:
If Pretty Print = ON, exprOrString is “pretty
printed.”
From the Program I/O screen, you can press
‡ to display the Home screen, or a program
can use DispHome.
P4Rx()
MATH/Angle menu
In Radian angle mode:
P4Rx(rExpression, qExpression)
⇒
expression
P4Rx(rList, qList)
P4Rx(rMatrix, qMatrix)
⇒
list
⇒
P4Rx(r,q)¸
cos(q)ø r
matrix
Returns the equivalent x-coordinate of the
(r, q) pair.
P4Rx(4,60¡)¸
2
P4Rx({ë 3,10,1.3},{p/3,ë p/4,0})
Note: The q argument is interpreted as either
a degree or radian angle, according to the
current angle mode. If the argument is an
expression, you can use ó or ô to override the
angle mode setting temporarily.
¸
ë 3/2 5ø ‡2 1.3
{
}
P4Ry()
MATH/Angle menu
In Radian angle mode:
P4Ry(rExpression, qExpression)
⇒
expression
P4Ry(rList, qList)
P4Ry(rMatrix, qMatrix)
⇒
list
⇒
P4Ry(r,q)¸
sin(q)ø r
matrix
2ø ‡3
Returns the equivalent y-coordinate of the
(r, q) pair.
P4Ry(4,60¡)¸
P4Ry({ë 3,10,1.3},{p/3,ë p/4,0})
Note: The q argument is interpreted as either
a degree or radian angle, according to the
current angle mode. If the argument is an
expression, you can use ó or ô to override the
angle mode setting temporarily.
¸
ë 3ø ‡3
{
‡2
ë 5ø
0.
}
2
476
Appendix A: Functions and Instructions
part()
CATALOG
part(expression1[,nonNegativeInteger])
This advanced programming function lets
you identify and extract all of the sub-
expressions in the simplified result of
expression1.
For example, if expression1 simplifies to
cos(pù x+3):
•
•
•
•
•
The cos() function has one argument:
(pù x+3).
The sum of (pù x+3) has two operands:
pù x and 3.
The number 3 has no arguments or
operands.
The product pù x has two operands: p
and x.
The variable x and the symbolic constant p
have no arguments or operands.
If x has a numeric value and you press
¥ ¸, the numeric value of pù x is
calculated, the result is added to 3, and then
the cosine is calculated. cos() is the top-level
operator because it is applied last.
part(cos(pù x+3)) ¸
1
part(expression1)
⇒
number
Simplifies expression1 and returns the number
of top-level arguments or operands. This
returns 0 if expression1 is a number, variable,
or symbolic constant such as p, e, i, or ˆ.
Note: cos(pù x+3) has one argument.
part(cos(pù x+3),0) ¸
"cos"
part(expression1, 0)
⇒
string
Simplifies expression1 and returns a string
that contains the top-level function name or
operator. This returns string(expression1) if
expression1 is a number, variable, or symbolic
constant such as p, e, i, or ˆ.
part(cos(pù x+3),1) ¸
3+pøx
part(expression1, n)
⇒
expression
Simplifies expression1 and returns the nth
argument or operand, where n is > 0 and
the number of top-level arguments or
operands returned by part(expression1).
Otherwise, an error is returned.
Note: Simplification changed the order of
the argument.
Appendix A: Functions and Instructions
477
part(cos(pù x+3)) ¸
part(cos(pù x+3),0) ¸
part(cos(pù x+3),1)! temp ¸
3+pøx
temp ¸
1
By combining the variations of part(), you can
extract all of the sub-expressions in the
simplified result of expression1. As shown in
the example to the right, you can store an
argument or operand and then use part() to
extract further sub-expressions.
"cos"
pøx+3
part(temp,0) ¸
part(temp) ¸
part(temp,2) ¸
part(temp,1)! temp ¸
part(temp,0) ¸
part(temp) ¸
part(temp,1) ¸
part(temp,2) ¸
"+"
2
3
pøx
"ù "
2
Note: When using part(), do not rely on any
particular order in sums and products.
p
x
part(x+y+z) ¸
part(x+y+z,2) ¸
part(x+y+z,1) ¸
2
z
y+x
Expressions such as (x+y+z) and (xì yì z)
are represented internally as (x+y)+z and
(xì y)ì z. This affects the values returned for
the first and second argument. There are
technical reasons why part(x+y+z,1) returns
y+x instead of x+y.
part(xù yù z) ¸
part(xù yù z,2) ¸
part(xù yù z,1) ¸
2
z
yøx
Similarly, xù yù z is represented internally as
(xù y)ù z. Again, there are technical reasons
why the first argument is returned as yøx
instead of xøy.
When you extract sub-expressions from a
matrix, remember that matrices are stored as
lists of lists, as illustrated in the example to
the right.
part([a,b,c;x,y,z],0) ¸ "{"
part([a,b,c;x,y,z]) ¸
part([a,b,c;x,y,z],2)! temp
¸
2
{x y z}
"{"
part(temp,0) ¸
part(temp) ¸
part(temp,3) ¸
delVar temp ¸
3
z
Done
478
Appendix A: Functions and Instructions
:d(y,x)
The example Program Editor function to the
right uses getType() and part() to partially
implement symbolic differentiation. Studying
and completing this function can help teach
you how to differentiate manually. You could
even include functions that the
:Func
:Local f
:If getType(y)="VAR"
: Return when(y=x,1,0,0)
:If part(y)=0
: Return 0 ¦ y=p,ˆ,i,numbers
:part(y,0)! f
TI-89 / TI-92 Plus cannot differentiate, such
as Bessel functions.
:If f="L" ¦ if negate
: Return ë d(part(y,1),x)
:If f="−" ¦ if minus
: Return d(part(y,1),x)
ì d(part(y,2),x)
:If f="+"
: Return d(part(y,1),x)
+d(part(y,2),x)
:If f="ù "
: Return
part(y,1)ù d(part(y,2),x)
+part(y,2)ù d(part(y,1),x)
:If f="{"
: Return seq(d(part(y,k),x),
k,1,part(y))
:Return undef
:EndFunc
PassErr
CATALOG
PassErr
See ClrErr program listing example.
Passes an error to the next level.
If “errornum” is zero, PassErr does not do
anything.
The Else clause in the program should use
ClrErr or PassErr. If the error is to be
processed or ignored, use ClrErr. If what to
do with the error is not known, use PassErr
to send it to the next error handler. (See also
ClrErr.)
Pause
CATALOG
Pause [expression]
Program segment:
©
Suspends program execution. If you include
expression, displays expression on the Program
I/O screen.
:ClrIO
:DelVar temp
:1"temp[1]
:1"temp[2]
:Disp temp[2]
:¦ Guess the Pattern
expression can include conversion operations
such as 4DD and 4Rect. You can also use the 4
operator to perform unit and number base
conversions.
:For i,3,20
: temp[iì2]+temp[iì1]"temp[i]
: Disp temp[i]
: Disp temp,"Can you guess the
If the result of expression is too big to fit on a
single screen, you can use the cursor pad to
scroll the display.
next","number?"
: Pause
Program execution resumes when you
press ¸.
:EndFor
©
Appendix A: Functions and Instructions
479
PlotsOff
CATALOG
PlotsOff [1] [, 2] [, 3] ... [, 9]
Turns off the specified plots for graphing.
PlotsOff 1,2,5¸
Done
Done
PlotsOff¸
When in 2-graph mode, only affects the active
graph.
If no parameters, then turns off all plots.
PlotsOn
CATALOG
PlotsOn 2,4,5¸
Done
Done
PlotsOn [1] [, 2] [, 3] ... [, 9]
Turns on the specified plots for graphing.
When in 2-graph mode, only affects the active
graph.
PlotsOn¸
If you do not include any arguments, turns on
all plots.
4Polar
MATH/Matrix/Vector ops menu
[1,3.]4Polar¸
vector 4Polar
[x,y]4Polar¸
Displays vector in polar form [r q]. The
vector must be of dimension 2 and can be a
row or a column.
Note: 4Polar is a display-format instruction,
not a conversion function. You can use it
only at the end of an entry line, and it does
not update ans.
Note: See also 4Rect.
complexValue 4Polar
Displays complexVector in polar form.
In Radian angle mode:
p
3+4i4Polar ¸
eiø( ì tanê(3/4))ø5
2
iøp
•
•
Degree angle mode returns (rq).
Radian angle mode returns reiq
3
(4p/3)4Polar ¸
e
ø4
.
complexValue can have any complex form.
However, an reiq entry causes an error in
Degree angle mode.
In Degree angle mode:
3+4i4Polar ¸(590ì tanê(3/4))
Note: You must use the parentheses for an
(rq) polar entry.
polyEval() MATH/List menu
polyEval({a,b,c},x)¸
polyEval(list1, expression1)
⇒
expression
polyEval(list1, list2)
⇒
expression
aø xñ +bø x+c
Interprets the first argument as the
coefficient of a descending-degree
polynomial, and returns the polynomial
evaluated for the value of the second
argument.
polyEval({1,2,3,4},2)¸
26
polyEval({1,2,3,4},{2,ë 7})
¸
{26 ë 262}
480
Appendix A: Functions and Instructions
PopUp
CATALOG
PopUp itemList, var
Displays a pop-up menu containing the
PopUp
{"1990","1991","1992"},var1
¸
character strings from itemList, waits for you
to select an item, and stores the number of
your selection in var.
The elements of itemList must be character
strings: {item1String, item2String,
item3String, ...}
If var already exists and has a valid item
number, that item is displayed as the default
choice.
itemList must contain at least one choice.
PowerReg MATH/Statistics/Regressions menu
In function graphing mode:
PowerReg list1, list2[, [list3] [, list4, list5]]
Calculates the power regression and updates {1,2,3,4,5,6,7}! L1¸
all the system statistics variables.
{1 2 3 ...}
{1,2,3,4,3,4,6}! L2¸
{1 2 3 ...}
All the lists must have equal dimensions
except for list5.
PowerReg L1,L2¸
ShowStat¸
Done
list1 represents xlist.
list2 represents ylist.
list3 represents frequency.
list4 represents category codes.
list5 represents category include list.
Note: list1 through list4 must be a variable
name or c1–c99 (columns in the last data
variable shown in the Data/Matrix Editor).
list5 does not have to be a variable name and
cannot be c1–c99.
¸
Regeq(x)"y1(x)¸
NewPlot 1,1,L1,L2¸
Done
Done
¥ %
Prgm
CATALOG
Program segment:
Prgm
©
:prgmname()
:Prgm
EndPrgm
:
Required instruction that identifies the
beginning of a program. Last line of program
:EndPrgm
must be EndPrgm.
Appendix A: Functions and Instructions
481
product() MATH/List menu
product({1,2,3,4})¸
24
product(list[, start[, end]])
⇒
expression
Returns the product of the elements
contained in list. Start and end are optional.
They specify a range of elements.
product({2,x,y})¸
2ø xø y
product({4,5,8,9},2,3) ¸ 40
product(matrix1[, start[, end]])
⇒
matrix
product([1,2,3;4,5,6;7,8,9])
¸
[28 80 162]
Returns a row vector containing the products
of the elements in the columns of matrix1.
Start and end are optional. They specify a
range of rows.
product([1,2,3;4,5,6;7,8,9],
1,2) ¸
[4,10,18]
Prompt
CATALOG
Program segment:
Prompt var1[, var2] [, var3] ...
Displays a prompt on the Program I/O screen
for each variable in the argument list, using
the prompt var1?. Stores the entered
©
Prompt A,B,C
©
EndPrgm
expression in the corresponding variable.
Prompt must have at least one argument.
propFrac() MATH/Algebra menu
propFrac(4/3)¸
1 + 1/3
propFrac(expression1[, var])
⇒
expression
propFrac(rational_number) returns
rational_number as the sum of an integer and
a fraction having the same sign and a greater
denominator magnitude than numerator
magnitude.
propFrac(ë 4/3)¸
ë 1ì 1/3
propFrac((x^2+x+1)/(x+1)+
(y^2+y+1)/(y+1),x)¸
propFrac(rational_expression,var) returns the
sum of proper ratios and a polynomial with
respect to var. The degree of var in the
denominator exceeds the degree of var in the
numerator in each proper ratio. Similar
powers of var are collected. The terms and
their factors are sorted with var as the main
variable.
propFrac(ans(1))
If var is omitted, a proper fraction expansion
is done with respect to the most main
variable. The coefficients of the polynomial
part are then made proper with respect to
their most main variable first and so on.
For rational expressions, propFrac() is a
faster but less extreme alternative to
expand().
PtChg
CATALOG
PtChg x, y
PtChg xList, yList
Note: PtChg through PtText show
continuing similar examples.
PtChg 2,4¸
Displays the Graph screen and reverses the
screen pixel nearest to window coordinates
(x, y).
482
Appendix A: Functions and Instructions
PtOff
CATALOG
PtOff x, y
PtOff xList, yList
Displays the Graph screen and turns off the
PtOff 2,4¸
screen pixel nearest to window coordinates
(x, y).
PtOn
CATALOG
PtOn 3,5¸
PtOn x, y
PtOn xList, yList
Displays the Graph screen and turns on the
screen pixel nearest to window coordinates
(x, y).
ptTest()
CATALOG
ptTest(3,5)¸
true
ptTest (x, y)
ptTest (xList, yList)
⇒
Boolean constant expression
Boolean constant expression
⇒
Returns true or false. Returns true only if the
screen pixel nearest to window coordinates
(x, y) is on.
PtText
CATALOG
PtText "sample",3,5¸
PtText string, x, y
Displays the Graph screen and places the
character string string on the screen at the
pixel nearest the specified (x, y) window
coordinates.
string is positioned with the upper-left corner
of its first character at the coordinates.
PxlChg
CATALOG
PxlChg 2,4¸
PxlChg row, col
PxlChg rowList, colList
Displays the Graph screen and reverses the
pixel at pixel coordinates (row, col).
Note: Regraphing erases all drawn items.
PxlCrcl
CATALOG
PxlCrcl row, col, r [, drawMode]
TI-89: PxlCrcl 40,80,30,1¸
TI-92 Plus: PxlCrcl 50,125,40,1
¸
Displays the Graph screen and draws a circle
centered at pixel coordinates (row, col) with a
radius of r pixels.
If drawMode = 1, draws the circle (default).
If drawMode = 0, turns off the circle.
If drawMode = -1, inverts pixels along the
circle.
Note: Regraphing erases all drawn items. See
also Circle.
Appendix A: Functions and Instructions
483
PxlHorz
CATALOG
PxlHorz row [, drawMode]
Displays the Graph screen and draws a
PxlHorz 25,1¸
horizontal line at pixel position row.
If drawMode = 1, draws the line (default).
If drawMode = 0, turns off the line.
If drawMode = -1, turns a line that is on to off
or off to on (inverts pixels along the line).
Note: Regraphing erases all drawn items. See
also LineHorz.
PxlLine
CATALOG
PxlLine rowStart, colStart, rowEnd, colEnd [, drawMode]
TI-89: PxlLine 50,15,20,90,1¸
Displays the Graph screen and draws a line
between pixel coordinates (rowStart, colStart)
and (rowEnd, colEnd), including both
endpoints.
TI-92 Plus: PxlLine 80,20,30,150,1
¸
If drawMode = 1, draws the line (default).
If drawMode = 0, turns off the line.
If drawMode = -1, turns a line that is on to off
or off to on (inverts pixels along the line).
Note: Regraphing erases all drawn items. See
also Line.
PxlOff
CATALOG
PxlHorz 25,1¸
PxlOff row, col
PxlOff rowList, colList
PxlOff 25,50¸
Displays the Graph screen and turns off the
pixel at pixel coordinates (row, col).
Note: Regraphing erases all drawn items.
25,50
PxlOn
CATALOG
PxlOn 25,50¸
PxlOn row, col
PxlOn rowList, colList
Displays the Graph screen and turns on the
pixel at pixel coordinates (row, col).
Note: Regraphing erases all drawn items.
pxlTest() CATALOG
pxlTest (row, col)
pxlTest (rowList, colList)
⇒
Boolean expression
Boolean expression
PxlOn 25,50¸
⇒
TI-89: "
TI-92 Plus: ¥ "
Returns true if the pixel at pixel coordinates
(row, col) is on. Returns false if the pixel is off.
PxlTest(25,50)¸
true
Note: Regraphing erases all drawn items.
PxlOff 25,50¸
TI-89: "
TI-92 Plus: ¥ "
PxlTest(25,50)¸
false
484
Appendix A: Functions and Instructions
PxlText
CATALOG
PxlText string, row, col
Displays the Graph screen and places
TI-89: PxlText "sample
text",20,10¸
character string string on the screen, starting
at pixel coordinates (row, col).
TI-92 Plus: PxlText "sample
text",20,50¸
string is positioned with the upper-left corner
of its first character at the coordinates.
Note: Regraphing erases all drawn items.
PxlVert
CATALOG
PxlVert 50,1¸
PxlVert col [, drawMode]
Draws a vertical line down the screen at pixel
position col.
If drawMode = 1, draws the line (default).
If drawMode = 0, turns off the line.
If drawMode = -1, turns a line that is on to off
or off to on (inverts pixels along the line).
Note: Regraphing erases all drawn items. See
also LineVert.
QR
MATH/Matrix menu
QR matrix, qMatName, rMatName[, tol]
The floating-point number (9.) in m1
causes results to be calculated in floating-
point form.
Calculates the Householder QR factorization
of a real or complex matrix. The resulting Q
and R matrices are stored to the specified
MatNames. The Q matrix is unitary. The R
matrix is upper triangular.
[1,2,3;4,5,6;7,8,9.]!m1 ¸
1 2 3
4 5 6
7 8 9.
Optionally, any matrix element is treated as
zero if its absolute value is less than tol. This
tolerance is used only if the matrix has
floating-point entries and does not contain
any symbolic variables that have not been
assigned a value. Otherwise, tol is ignored.
QR m1,qm,rm ¸
.123… .904…
Done
.408…
ë.816…
.492… .301…
qm ¸
.861… ë.301… .408…
8.124… 9.601… 11.078…
•
If you use ¥ ¸ or set the mode to
Exact/Approx=APPROXIMATE, computations
are done using floating-point arithmetic.
0.
0.
.904…
0.
1.809…
0.
rm ¸
•
If tol is omitted or not used, the default
tolerance is calculated as:
m n
o p
[m,n;o,p]!m1 ¸
[
]
5Eë 14 ù max(dim(matrix))
ù rowNorm(matrix)
Appendix A: Functions and Instructions
485
QR m1,qm,rm ¸
Done
The QR factorization is computed
numerically using Householder
transformations. The symbolic solution is
computed using Gram-Schmidt. The columns
in qMatName are the orthonormal basis
vectors that span the space defined by
matrix.
qm ¸
ë sign(møpì nøo)øo
m
2
2
2
2
m +o
m +o
møsign(møpì nøo)
o
2
2
2
2
m +o
m +o
møn+oøp
2
2
m +o
2
2
m +o
rm ¸
|
|
møpì nøo
0
2
2
m +o
QuadReg MATH/Statistics/Regressions menu
In function graphing mode:
{0,1,2,3,4,5,6,7}! L1¸
{1 2 3 ...}
QuadReg list1, list2[, [list3] [, list4, list5]]
Calculates the quadratic polynomial
regression and updates the system statistics
variables.
{4,3,1,1,2,2,3,3}! L2¸
All the lists must have equal dimensions
except for list5.
{4 3 1 ...}
QuadReg L1,L2¸
Done
ShowStat¸
list1 represents xlist.
list2 represents ylist.
list3 represents frequency.
list4 represents category codes.
list5 represents category include list.
¸
Note: list1 through list4 must be a variable
name or c1–c99. (columns in the last data
variable shown in the Data/Matrix Editor).
list5 does not have to be a variable name and
cannot be c1–c99.
Regeq(x)"y1(x)¸
NewPlot 1,1,L1,L2¸
Done
Done
¥ %
486
Appendix A: Functions and Instructions
QuartReg MATH/Statistics/Regressions menu
QuartReg list1, list2[, [list3] [, list4, list5]]
In function graphing mode:
{ë 2,ë 1,0,1,2,3,4,5,6}! L1¸
{ë 2 ë 1 0 ...}
Calculates the quartic polynomial regression
and updates the system statistics variables.
{4,3,1,2,4,2,1,4,6}! L2¸
All the lists must have equal dimensions
except for list5.
{4 3 1 ...}
QuartReg L1,L2¸
ShowStat¸
Done
list1 represents xlist.
list2 represents ylist.
list3 represents frequency.
list4 represents category codes.
list5 represents category include list.
Note: list1 through list4 must be a variable
name or c1–c99 (columns in the last data
variable shown in the Data/Matrix Editor).
list5 does not have to be a variable name and
cannot be c1–c99.
¸
Regeq(x)"y1(x)¸
NewPlot 1,1,L1,L2¸
Done
Done
¥ %
R4Pq()
MATH/Angle menu
R4Pq (xExpression, yExpression)
⇒
expression
In Degree angle mode:
R4Pq (xList, yList)
R4Pq (xMatrix, yMatrix)
⇒
list
⇒
R8Pq(x,y)¸
matrix
Returns the equivalent q-coordinate of the
(x,y) pair arguments.
Note: The result is returned as either a
degree or radian angle, according to the
current angle mode.
In Radian angle mode:
R4Pq(3,2)¸
R4Pq([3,-4,2],[0,pà4,1.5])¸
R4Pr()
MATH/Angle menu
R4Pr (xExpression, yExpression)
⇒
expression
In Radian angle mode:
R4Pr (xList, yList)
R4Pr (xMatrix, yMatrix)
⇒
list
⇒
R4Pr(3,2)¸
R4Pr(x,y)¸
R4Pr([3,-4,2],[0,pà4,1.5])¸
matrix
Returns the equivalent r-coordinate of the
(x,y) pair arguments.
Appendix A: Functions and Instructions
487
rand()
MATH/Probability menu
rand([n]) expression
RandSeed 1147¸
Done
⇒
n is an integer ƒ zero.
(Sets the random-number seed.)
With no parameter, returns the next random
number between 0 and 1 in the sequence.
When an argument is positive, returns a
random integer in the interval [1, n].
When an argument is negative, returns a
random integer in the interval [ë n,ë 1].
rand()¸
rand(6)¸
rand(ë 100)¸
.158...
5
ë 49
randMat() MATH/Probability menu
RandSeed 1147¸
Done
8 ë 3 6
ë 2 3 ë 6
0 4 ë 6
randMat(numRows, numColumns)
⇒
matrix
Returns a matrix of integers between -9 and 9
of the specified dimension.
randMat(3,3)¸
Both arguments must simplify to integers.
Note: The values in this matrix will
change each time you press ¸.
randNorm() MATH/Probability menu
RandSeed 1147¸
Done
randNorm(mean, sd)
⇒
expression
randNorm(0,1)¸
.492...
Returns a decimal number from the specific
normal distribution. It could be any real
number but will be heavily concentrated in
the interval [mean-3ù sd, mean+3ù sd].
randNorm(3,4.5)¸
ì3.543...
randPoly() MATH/Probability menu
RandSeed 1147¸
Done
randPoly(var, order)
⇒
expression
randPoly(x,5)¸
Returns a polynomial in var of the specified
order. The coefficients are random integers
in the range ë 9 through 9. The leading
coefficient will not be zero.
ë 2ø x5+3ø x4ì 6ø x3+4ø xì 6
order must be 0–99.
RandSeed MATH/Probability menu
RandSeed 1147¸
Done
RandSeed number
rand()¸
.158...
If number = 0, sets the seeds to the factory
defaults for the random-number generator. If
number ƒ 0, it is used to generate two seeds,
which are stored in system variables seed1
and seed2.
RclGDB
CATALOG
RclGDB GDBvar¸
Done
RclGDB GDBvar
Restores all the settings stored in the Graph
database variable GDBvar.
For a listing of the settings, see StoGDB.
Note: It is necessary to have something
saved in GDBvar before you can restore it.
488
Appendix A: Functions and Instructions
RclPic
CATALOG
RclPic picVar [, row, column]
Displays the Graph screen and adds the
picture stored in picVar at the upper left-hand
corner pixel coordinates (row, column) using
OR logic.
picVar must be a picture data type.
Default coordinates are (0, 0).
real()
MATH/Complex menu
real(2+3i)¸
real(z)¸
2
z
x
real(expression1)
⇒
expression
Returns the real part of the argument.
Note: All undefined variables are treated as
real variables. See also imag().
real(x+iy)¸
real({a+iù b,3,i})¸ {a 3 0}
real(list1)
Returns the real parts of all elements.
real(matrix1) matrix
⇒
list
a 3
⇒
real([a+iù b,3;c,i])¸ [
]
c 0
Returns the real parts of all elements.
4Rect
MATH/Matrix/Vector ops menu
[3,pà4,pà6]4Rect¸
vector 4Rect
3ø ‡2 3ø ‡2 3ø ‡3
Displays vector in rectangular form [x, y, z].
The vector must be of dimension 2 or 3 and
can be a row or a column.
[
]
4
4
2
[a,b,c]¸ [aø cos(b)ø sin(c)
Note: 4Rect is a display-format instruction,
not a conversion function. You can use it
only at the end of an entry line, and it does
not update ans.
aø sin(b)ø sin(c) aø cos(c)]
Note: See also 4Polar.
complexValue 4Rect
In Radian angle mode:
p
Displays complexValue in rectangular form
a+bi. The complexValue can have any complex
form. However, an reiq entry causes an error
in Degree angle mode.
3
4e^(p/3)4Rect ¸
4øe
(4p/3)4Rect ¸
2+2ø 3øi
Note: You must use parentheses for an (rq)
polar entry.
In Degree angle mode:
(460)4Rect ¸
2+2ø 3øi
Note: To type 4Rect from the keyboard,
press 2 for the 4 operator. To type ,
press 2 ’.
Appendix A: Functions and Instructions
489
ref()
MATH/Matrix menu
ref(matrix1[, tol]) matrix
ref([ë 2,ë 2,0,ë 6;1,ë 1,9,ë 9;ë 5,
⇒
2,4,ë 4])¸
Returns the row echelon form of matrix1.
1
ë 2/5 ë 4/5
4/5
11/7
ë 62/71
Optionally, any matrix element is treated as
zero if its absolute value is less than tol. This
tolerance is used only if the matrix has
floating-point entries and does not contain
any symbolic variables that have not been
assigned a value. Otherwise, tol is ignored.
0
0
1
0
4/7
1
a b c
e f g
[a,b,c;e,f,g]!m1 ¸
[
]
•
If you use ¥ ¸ or set the mode to
Exact/Approx=APPROXIMATE, computations
are done using floating-point arithmetic.
f g
e e
1
aøgì cøe
aøfì bøe
ref(m1) ¸
0 1
•
If tol is omitted or not used, the default
tolerance is calculated as:
5Eë 14 ù max(dim(matrix1))
ù rowNorm(matrix1)
Note: See also rref().
remain() MATH/Number menu
remain(7,0)¸
remain(7,3)¸
remain(ë 7,3)¸
remain(7,ë 3)¸
7
remain(expression1, expression2)
⇒
expression
remain(list1, list2)
remain(matrix1, matrix2)
⇒
list
1
ë 1
1
⇒
matrix
Returns the remainder of the first argument
with respect to the second argument as
defined by the identities:
remain(x,0) x
remain(x,y) xì yùiPart(x/y)
remain(ë 7,ë 3)¸
ë 1
remain({12,ë 14,16},{9,7,ë 5})
¸
{3 0 1}
As a consequence, note that remain(ì x,y)
ì remain(x,y). The result is either zero or it
has the same sign as the first argument.
remain([9,ë 7;6,4],[4,3;4,ë 3])
¸
1
ë 1
[
]
Note: See also mod().
2 1
Rename
CATALOG
{1,2,3,4}! L1¸
Rename L1, list1¸
list1¸
{1,2,3,4}
Done
{1,2,3,4}
Rename oldVarName, newVarName
Renames the variable oldVarName as
newVarName.
Request
CATALOG
Request promptString, var
Request "Enter Your Name",str1
¸
If Request is inside a Dialog...EndDlog
construct, it creates an input box for the user
to type in data. If it is a stand-alone
instruction, it creates a dialog box for this
input. In either case, if var contains a string, it
is displayed and highlighted in the input box
as a default choice. promptString must be { 20
characters.
This instruction can be stand-alone or part of
a dialog construct.
490
Appendix A: Functions and Instructions
Return
CATALOG
Return [expression]
Returns expression as the result of the
Define factoral(nn)=Func
:local answer,count:1! answer
:For count,1,nn
:answerù count! answer:EndFor
:Return answer:EndFunc¸Done
function. Use within a Func...EndFunc block,
or Prgm...EndPrgm block.
Note: Use Return without an argument to
exit a program.
factoral(3)¸
6
Note: Enter the text as one long line on the
Home screen (without line breaks).
right()
MATH/List menu
right({1,3,ë 2,4},3)¸
right(list1[, num])
⇒
list
{3 ë 2 4}
Returns the rightmost num elements
contained in list1.
If you omit num, returns all of list1.
right(sourceString[, num])
⇒
string
right("Hello",2)¸
"lo"
Returns the rightmost num characters
contained in character string sourceString.
If you omit num, returns all of sourceString.
right(comparison)
⇒
expression
right(x<3)¸
3
Returns the right side of an equation or
inequality.
rotate()
MATH/Base menu
rotate(integer1[,#ofRotations])
⇒
integer
In Bin base mode:
Rotates the bits in a binary integer. You can
enter integer1 in any number base; it is
converted automatically to a signed, 32-bit
binary form. If the magnitude of integer1 is
too large for this form, a symmetric modulo
operation brings it within the range.
rotate(0b1111010110000110101)
¸
0b10000000000000111101011000011010
rotate(256,1) ¸ 0b1000000000
If #of Rotations is positive, the rotation is to
the left. If #of Rotations is negative, the
rotation is to the right. The default is ë 1
(rotate right one bit).
In Hex base mode:
rotate(0h78E) ¸
0h3C7
rotate(0h78E,ë 2) ¸0h800001E3
For example, in a right rotation:
rotate(0h78E,2) ¸
0h1E38
Important: To enter a binary or
Each bit rotates right.
hexadecimal number, always use the 0b
or 0h prefix (zero, not the letter O).
0b00000000000001111010110000110101
Rightmost bit rotates to leftmost.
produces:
0b10000000000000111101011000011010
The result is displayed according to the Base
mode.
Appendix A: Functions and Instructions
491
rotate(list1[,#ofRotations])
⇒
list
In Dec base mode:
rotate({1,2,3,4}) ¸
Returns a copy of list1 rotated right or left by
#of Rotations elements. Does not alter list1.
{4 1 2 3}
rotate({1,2,3,4},ë 2) ¸
{3 4 1 2}
rotate({1,2,3,4},1) ¸
{2 3 4 1}
If #of Rotations is positive, the rotation is to
the left. If #of Rotations is negative, the
rotation is to the right. The default is ë 1
(rotate right one element).
rotate("abcd") ¸
rotate("abcd",ë 2) ¸
rotate("abcd",1) ¸
"dabc"
"cdab"
"bcda"
rotate(string1[,#ofRotations])
⇒
string
Returns a copy of string1 rotated right or left
by #of Rotations characters. Does not alter
string1.
If #of Rotations is positive, the rotation is to
the left. If #of Rotations is negative, the
rotation is to the right. The default is ë 1
(rotate right one character).
round()
MATH/Number menu
round(1.234567,3)¸
1.235
round(expression1[, digits])
⇒
expression
Returns the argument rounded to the
specified number of digits after the decimal
point.
digits must be an integer in the range 0–12. If
digits is not included, returns the argument
rounded to 12 significant digits.
Note: Display digits mode may affect how
this is displayed.
round({p,‡(2),ln(2)},4)¸
round(list1[, digits])
⇒
list
{3.1416 1.4142 .6931}
Returns a list of the elements rounded to the
specified number of digits.
round(matrix1[, digits])
⇒
matrix
round([ln(5),ln(3);p,e^(1)],1)
¸
Returns a matrix of the elements rounded to
the specified number of digits.
1.6 1.1
[
]
3.1 2.7
rowAdd() MATH/Matrix/Row ops menu
rowAdd([3,4;ë 3,ë 2],1,2)¸
3 4
rowAdd(matrix1, rIndex1, rIndex2)
⇒
matrix
Returns a copy of matrix1 with row rIndex2
replaced by the sum of rows rIndex1 and
rIndex2.
[ ]
0 2
rowAdd([a,b;c,d],1,2)¸
a
b
[
]
a+c b+d
rowDim() MATH/Matrix/Dimensions menu
1 2
3 4
5 6
rowDim(matrix)
⇒
expression
[1,2;3,4;5,6]! M1¸
Returns the number of rows in matrix.
rowdim(M1)¸
3
Note: See also colDim().
492
Appendix A: Functions and Instructions
rowNorm() MATH/Matrix/Norms menu
rowNorm(matrix)
⇒
expression
rowNorm([-5,6,-7;3,4,9;9,-9,-7])
¸
25
Returns the maximum of the sums of the
absolute values of the elements in the rows in
matrix.
Note: All matrix elements must simplify to
numbers. See also colNorm().
rowSwap() MATH/Matrix/Row ops menu
[1,2;3,4;5,6]! Mat¸
rowSwap(matrix1, rIndex1, rIndex2)
⇒
matrix
1 2
3 4
5 6
Returns matrix1 with rows rIndex1 and
rIndex2 exchanged.
rowSwap(Mat,1,3)¸
5 6
3 4
1 2
RplcPic
CATALOG
RplcPic picVar[, row][, column]
Clears the Graph screen and places picture
picVar at pixel coordinates (row, column). If
you do not want to clear the screen, use
RclPic.
picVar must be a picture data type variable.
row and column, if included, specify the pixel
coordinates of the upper left corner of the
picture. Default coordinates are (0, 0).
Note: For less than full-screen pictures, only
the area affected by the new picture is
cleared.
rref()
MATH/Matrix menu
rref(matrix1[, tol])
⇒
matrix
rref([ë 2,ë 2,0,ë 6;1,ë 1,9,ë 9;
ë 5,2,4,ë 4])¸
Returns the reduced row echelon form of
matrix1.
1
0
0
0 0
1 0
0 1
66/71
147
71
ë 62/71
Optionally, any matrix element is treated as
zero if its absolute value is less than tol. This
tolerance is used only if the matrix has
floating-point entries and does not contain
any symbolic variables that have not been
assigned a value. Otherwise, tol is ignored.
rref([a,b,x;c,d,y])¸
dø x-bø y
1 0
0 1
aø d-bø c
ë (cø x-aø y)
aø d-bø c
•
If you use ¥ ¸ or set the mode to
Exact/Approx=APPROXIMATE, computations
are done using floating-point arithmetic.
•
If tol is omitted or not used, the default
tolerance is calculated as:
5Eë 14 ù max(dim(matrix1))
ù rowNorm(matrix1)
Note: See also ref().
Appendix A: Functions and Instructions
493
Send
CATALOG
Send list
Program segment:
CBL 2é/CBLé (Calculator-Based
Laboratoryé) or CBRé (Calculator-Based
Rangeré) instruction. Sends list to the link
port.
©
:Send {1,0}
:Send {1,2,1}
©
SendCalc CATALOG
Program segment:
SendCalc var
Sends variable var to the link port, where
©
another unit linked to that port can receive
the variable value. The receiving unit must be
on the Home screen or must execute GetCalc
from a program.
:a+b! x
:SendCalc x
©
If you send from a TI-89 or TI-92 Plus to a
TI-92, an error occurs if the TI-92 executes
GetCalc from a program. In this case, the
sending unit must use SendChat instead.
SendChat CATALOG
Program segment:
SendChat var
A general alternative to SendCalc, this is
©
useful if the receiving unit is a TI-92 (or for a
generic "chat" program that allows either a
TI-92 or TI-92 Plus to be used). Refer to
SendCalc for more information.
:a+b! x
:SendChat x
©
SendChat sends a variable only if that
variable is compatible with the TI-92, which
is typically true in "chat" programs. However,
SendChat will not send an archived variable,
a TI-89 graph data base, etc.
seq()
MATH/List menu
seq(expression, var, low, high[, step])
⇒
list
seq(n^2,n,1,6)¸
{1 4 9 16 25 36}
Increments var from low through high by an
increment of step, evaluates expression, and
returns the results as a list. The original
contents of var are still there after seq() is
completed.
seq(1/n,n,1,10,2)¸
{1 1/3 1/5 1/7 1/9}
sum(seq(1àn^2,n,1,10,1))¸
var cannot be a system variable.
196...
127...
The default value for step = 1.
or press ¥¸ to get:
1.549...
494
Appendix A: Functions and Instructions
setFold() CATALOG
setFold(newfolderName)
⇒
oldfolderString
newFold chris¸
Done
Returns the name of the current folder as a
string and sets newfolderName as the current
folder.
setFold(main)¸
"chris"
setFold(chris)! oldfoldr¸
"main"
The folder newfolderName must exist.
1! a¸
1
setFold(#oldfoldr)¸ "chris"
a¸
a
1
chris\a¸
setGraph() CATALOG
setGraph(modeNameString, settingString)
⇒
string
setGraph("Graph Order","Seq")
¸
"SEQ"
Sets the Graph mode modeNameString to
settingString, and returns the previous setting setGraph("Coordinates","Off")
of the mode. Storing the previous setting lets
you restore it later.
¸
"RECT"
Note: Capitalization and blank spaces are
modeNameString is a character string that
specifies which mode you want to set. It must
be one of the mode names from the table
below.
optional when entering mode names.
settingString is a character string that
specifies the new setting for the mode. It
must be one of the settings listed below for
the specific mode you are setting.
Mode Name
Settings
"Coordinates"
"Graph Order"
"Grid"
"Rect", "Polar", "Off"
1
"Seq", "Simul"
"Off", "On" 2
"Axes"
"Off", "On"
"Off", "Axes", "Box"
(not 3D graph mode)
(3D graph mode)
"Leading Cursor"
"Labels"
"Off", "On" 2
"Off", "On"
"Style"
"Wire Frame", "Hidden Surface", "Contour Levels", "Wire and Contour",
"Implicit Plot" 3
4
"Seq Axes"
"DE Axes"
"Time", "Web", "U1-vs-U2"
"Time", "t-vs-y' ", "y-vs-y' ", "y1-vs-y2", "y1-vs-y2' ", "y1'-vs-y2' " 5
Tip: To type a prime symbol ( ' ), press 2 È.
5
"Solution Method"
"Fields"
"RK", "Euler"
5
"SlpFld", "DirFld", "FldOff"
1Not available in Sequence, 3D, or Diff Equations graph mode.
2Not available in 3D graph mode.
3Applies only to 3D graph mode.
4Applies only to Sequence graph mode.
5Applies only to Diff Equations graph mode.
Appendix A: Functions and Instructions
495
setMode() CATALOG
setMode(modeNameString, settingString)
setMode(list) stringList
⇒
string
setMode("Angle","Degree")
⇒
¸
"RADIAN"
‡2
Sets mode modeNameString to the new setting
settingString, and returns the current setting
of that mode.
sin(45)¸
2
setMode("Angle","Radian")
¸
modeNameString is a character string that
specifies which mode you want to set. It must
be one of the mode names from the table
below.
"DEGREE"
‡2
2
sin(pà4)¸
setMode("Display Digits",
settingString is a character string that
specifies the new setting for the mode. It
must be one of the settings listed below for
the specific mode you are setting.
"Fix 2")¸
"FLOAT"
p ¥ ¸
3.14
setMode ("Display Digits",
list contains pairs of keyword strings and
will set them all at once. This is
"Float")¸
"FIX 2"
recommended for multiple-mode changes.
The example shown may not work if each of
the pairs is entered with a separate setMode()
in the order shown.
p ¥ ¸
3.141...
setMode ({"Split Screen",
"Left-Right","Split 1 App",
"Graph","Split 2 App","Table"})
¸
Use setMode(var) to restore settings saved
with getMode("ALL")! var.
{"Split 2 App" "Graph"
Note: To set or return information about the
Unit System mode, use setUnits() or getUnits()
instead of setMode() or getMode().
"Split 1 App" "Home"
"Split Screen" "FULL"}
Note: Capitalization and blank spaces are
optional when entering mode names.
Also, the results in these examples may be
different on your unit.
Mode Name
Settings
"Graph"
"Function", "Parametric", "Polar", "Sequence", "3D", "Diff Equations"
"Fix 0", "Fix 1", ..., "Fix 12", "Float", "Float 1", ..., "Float 12"
"Radian", "Degree"
"Display Digits"
"Angle"
"Exponential Format"
"Complex Format"
"Vector Format"
"Pretty Print"
"Split Screen"
"Split 1 App"
"Normal", "Scientific", "Engineering"
"Real", "Rectangular", "Polar"
"Rectangular", "Cylindrical", "Spherical"
"Off", "On"
"Full", "Top-Bottom", "Left-Right"
"Home", "Y= Editor", "Window Editor", "Graph", "Table", "Data/Matrix
Editor", "Program Editor", "Text Editor", "Numeric Solver", "Flash App"
"Split 2 App"
"Home", "Y= Editor", "Window Editor", "Graph", "Table", "Data/Matrix
Editor", "Program Editor", "Text Editor", "Numeric Solver", "Flash App"
"Number of Graphs"
"Graph2"
"1", "2"
"Function", "Parametric", "Polar", "Sequence", "3D", "Diff Equations"
"1:1", "1:2", "2:1" (TI-92 Plus only)
"Auto", "Exact", "Approximate"
"Dec", "Hex", "Bin"
"Split Screen Ratio"
"Exact/Approx"
"Base"
"Language"
"English", "Alternate Language"
496
Appendix A: Functions and Instructions
setTable() CATALOG
setTable(modeNameString, settingString)
⇒
string
setTable("Graph <ì >
Table","ON")
¸
Sets the table parameter modeNameString to
settingString, and returns the previous setting
"OFF"
of the parameter. Storing the previous setting setTable("Independent","AUTO")
lets you restore it later.
¸
"ASK"
¥ &
modeNameString is a character string that
specifies which parameter you want to set. It
must be one of the parameters from the table
below.
settingString is a character string that
specifies the new setting for the parameter. It
must be one of the settings listed below for
the specific parameter you are setting.
Note: Capitalization and blank spaces
are optional when entering parameters.
Parameter Name
Settings
"Graph <-> Table"
"Independent"
"Off", "On"
"Auto", "Ask"
setUnits() CATALOG
setUnits(list1)
⇒
list
All unit names must begin with an
underscore _.
Sets the default units to the values specified
in list1, and returns a list of the previous
defaults.
TI-89: ¥
TI-92 Plus: 2
•
To specify the built-in SI (metric) or
ENG/US system, list1 uses the form:
You can also select units from a menu by
pressing:
{"SI"} or {"ENG/US"}
TI-89: 2 9
TI-92 Plus: ¥ À
•
To specify a custom set of default units,
list1 uses the form:
setUnits({"SI"}) ¸
{"CUSTOM", "cat1", "unit1"[, "cat2", "unit2", …]}
{"SI" "Area" "NONE"
"Capacitance" "_F" ...}
where each cat and unit pair specifies a
category and its default unit. (You can
specify built-in units only, not user-defined
units.) Any category not specified will use
its previous custom unit.
setUnits({"CUSTOM","Length",
"_cm","Mass","_gm"}) ¸
{"SI" "Length" "_m"
"Mass" "_kg" ...}
Note: Your screen may display different
units.
•
To return to the previous custom default
units, list1 uses the form:
{"CUSTOM"}
If you want different defaults depending on
the situation, create separate lists and save
them to unique list names. To use a set of
defaults, specify that list name in setUnits().
You can use setUnits() to restore settings
previously saved with setUnits() ! var or with
getUnits() ! var.
Appendix A: Functions and Instructions
497
Shade
CATALOG
Shade expr1, expr2, [xlow], [xhigh], [pattern], [patRes]
In the ZoomTrig viewing window:
Displays the Graph screen, graphs expr1 and
expr2, and shades areas in which expr1 is less
than expr2. (expr1 and expr2 must be
expressions that use x as the independent
variable.)
Shade cos(x),sin(x)¸
xlow and xhigh, if included, specify left and
right boundaries for the shading. Valid inputs
are between xmin and xmax. Defaults are xmin
and xmax.
TI-89: "
TI-92 Plus: ¥ "
pattern specifies one of four shading patterns:
1 = vertical (default)
ClrDraw¸
Done
2 = horizontal
3 = negative-slope 45¡
Shade cos(x),sin(x),0,5¸
4 = positive-slope 45¡
patRes specifies the resolution of the shading
patterns:
1= solid shading
2= 1 pixel spacing (default)
3= 2 pixels spacing
©
TI-89: "
TI-92 Plus: ¥ "
10= 9 pixels spacing
ClrDraw¸
Shade cos(x),sin(x),0,5,2¸
Done
Note: Interactive shading is available on the
Graph screen through the Shade instruction.
Automatic shading of a specific function is
available through the Style instruction. Shade
is not valid in 3D graphing mode.
TI-89: "
TI-92 Plus: ¥ "
ClrDraw¸
Done
Shade cos(x),sin(x),0,5,2,1
¸
498
Appendix A: Functions and Instructions
shift()
CATALOG
shift(integer1[,#ofShifts])
⇒
integer
In Bin base mode:
Shifts the bits in a binary integer. You can
enter integer1 in any number base; it is
converted automatically to a signed, 32-bit
binary form. If the magnitude of integer1 is
too large for this form, a symmetric modulo
operation brings it within the range.
shift(0b1111010110000110101)
¸
0b111101011000011010
shift(256,1) ¸
0b1000000000
In Hex base mode:
If #ofShifts is positive, the shift is to the left. If
#ofShifts is negative, the shift is to the right.
The default is ë 1 (shift right one bit).
shift(0h78E) ¸
0h3C7
0h1E3
shift(0h78E,ë 2) ¸
shift(0h78E,2) ¸
In a right shift, the rightmost bit is dropped
and 0 or 1 is inserted to match the leftmost
bit. In a left shift, the leftmost bit is dropped
and 0 is inserted as the rightmost bit.
0h1E38
For example, in a right shift:
Important: To enter a binary or
hexadecimal number, always use the 0b
or 0h prefix (zero, not the letter O).
Each bit shifts right.
0b00000000000001111010110000110101
Dropped
Inserts 0 if leftmost bit is 0,
or 1 if leftmost bit is 1.
produces:
0b00000000000000111101011000011010
The result is displayed according to the Base
mode. Leading zeros are not shown.
shift(list1 [,#ofShifts])
⇒
list
In Dec base mode:
shift({1,2,3,4}) ¸
Returns a copy of list1 shifted right or left by
#ofShifts elements. Does not alter list1.
{undef 1 2 3}
If #ofShifts is positive, the shift is to the left. If shift({1,2,3,4},ë 2) ¸
#ofShifts is negative, the shift is to the right.
The default is ë 1 (shift right one element).
{undef undef 1 2}
shift({1,2,3,4},1) ¸
{2 3 4 undef}
Elements introduced at the beginning or end
of list by the shift are set to the symbol
“undef”.
shift("abcd") ¸
shift("abcd",ë 2) ¸
shift("abcd",1) ¸
" abc"
" ab"
"bcd "
shift(string1 [,#ofShifts])
⇒
string
Returns a copy of string1 shifted right or left
by #ofShifts characters. Does not alter string1.
If #ofShifts is positive, the shift is to the left. If
#ofShifts is negative, the shift is to the right.
The default is ë 1 (shift right one character).
Characters introduced at the beginning or
end of string by the shift are set to a space.
Appendix A: Functions and Instructions
499
ShowStat CATALOG
{1,2,3,4,5}! L1¸ {1 2 3 4 5}
ShowStat
{0,2,6,10,25}! L2¸
Displays a dialog box containing the last
{0 2 6 10 25}
computed statistics results if they are still
valid. Statistics results are cleared
automatically if the data to compute them
has changed.
TwoVar L1,L2¸
ShowStat¸
Use this instruction after a statistics
calculation, such as LinReg.
sign()
MATH/Number menu
sign(ë 3.2)¸
ë 1.
sign(expression1)
sign(list1) list
sign(matrix1)
⇒
expression
⇒
sign({2,3,4,ë 5})¸
⇒
matrix
{1 1 1 ë 1}
For real and complex expression1, returns
expression1/abs(expression1) when
expression1ƒ 0.
sign(1+abs(x))¸
1
Returns 1 if expression1 is positive.
Returns ë 1 if expression1 is negative.
sign(0) returns „1 if the complex format
mode is REAL; otherwise, it returns itself.
sign(0) represents the unit circle in the
complex domain.
If complex format mode is REAL:
sign([ë 3,0,3])¸
[ë 1 „1 1]
For a list or matrix, returns the signs of all
the elements.
simult()
MATH/Matrix menu
simult(coeffMatrix, constVector[, tol])
⇒
matrix
Solve for x and y: x + 2y = 1
3x + 4y = ë 1
Returns a column vector that contains the
solutions to a system of linear equations.
simult([1,2;3,4],[1;ë 1])¸
ë 3
coeffMatrix must be a square matrix that
contains the coefficients of the equations.
[ ]
2
The solution is x=ë 3 and y=2.
constVector must have the same number of
rows (same dimension) as coeffMatrix and
contain the constants.
Solve: ax + by = 1
cx + dy = 2
Optionally, any matrix element is treated as
zero if its absolute value is less than tol. This
tolerance is used only if the matrix has
floating-point entries and does not contain
any symbolic variables that have not been
assigned a value. Otherwise, tol is ignored.
a b
[a,b;c,d]! matx1¸
simult(matx1,[1;2])¸
[ ]
c d
ë (2ø bì d)
aø dì bø c
2ø aì c
•
If you use ¥ ¸ or set the mode to
Exact/Approx=APPROXIMATE, computations
are done using floating-point arithmetic.
aø dì bø c
•
If tol is omitted or not used, the default
tolerance is calculated as:
5Eë 14 ù max(dim(coeffMatrix))
ù rowNorm(coeffMatrix)
500
Appendix A: Functions and Instructions
simult(coeffMatrix, constMatrix[, tol])
⇒
matrix
Solve: x + 2y = 1
x + 2y = 2
3x + 4y = ë 1 3x + 4y = ë 3
Solves multiple systems of linear equations,
where each system has the same equation
coefficients but different constants.
simult([1,2;3,4],[1,2;ë 1,ë 3])
¸
ë 3 ë 7
Each column in constMatrix must contain the
constants for a system of equations. Each
column in the resulting matrix contains the
solution for the corresponding system.
[
]
2
9/2
For the first system, x=ë 3 and y=2. For
the second system, x=ë 7 and y=9/2.
sin()
TI-89: 2 W key
sin(expression1) expression
sin(list1) list
TI-92 Plus: W key
⇒
In Degree angle mode:
⇒
‡2
2
sin(expression1) returns the sine of the
argument as an expression.
sin((p/4)ô )¸
‡2
2
sin(list1) returns a list of the sines of all
elements in list1.
sin(45)¸
Note: The argument is interpreted as either a
degree or radian angle, according to the
current angle mode. You can use ó or ô to
override the angle mode setting temporarily.
‡3
2
sin({0,60,90})¸ {0
1}
In Radian angle mode:
‡2
2
sin(p/4)¸
‡2
2
sin(45¡)¸
sin(squareMatrix1)
⇒
squareMatrix
In Radian angle mode:
sin([1,5,3;4,2,1;6,ë 2,1]) ¸
Returns the matrix sine of squareMatrix1. This
is not the same as calculating the sine of each
element. For information about the
.942… ë.045… ë.031…
calculation method, refer to cos().
ë.045… .949… ë.020…
ë.048… ë.005… .961…
squareMatrix1 must be diagonalizable. The
result always contains floating-point
numbers.
sinê()
TI-89: ¥ Q key
sinê (expression1) expression
sinê (list1) list
TI-92 Plus: 2 Q key
In Degree angle mode:
⇒
⇒
sinê (1)¸
90
sinê (expression1) returns the angle whose
sine is expression1 as an expression.
In Radian angle mode:
sinê ({0,.2,.5})¸
sinê (list1) returns a list of the inverse sines of
each element of list1.
{0 .201... .523...}
Note: The result is returned as either a
degree or radian angle, according to the
current angle mode setting.
Appendix A: Functions and Instructions
501
sinê(squareMatrix1)
⇒
squareMatrix
In Radian angle mode and Rectangular
complex format mode:
Returns the matrix inverse sine of
squareMatrix1. This is not the same as
calculating the inverse sine of each element.
For information about the calculation
method, refer to cos().
sinê([1,5,3;4,2,1;6,ë 2,1])
¸
ë.164…ì.064…øi
1.490…ì 2.105…øi
…
…
.725…ì 1.515…øi
.947…ì.778…øi
squareMatrix1 must be diagonalizable. The
result always contains floating-point
numbers.
2.083…ì 2.632…øi ë 1.790…+1.271…øi …
sinh()
MATH/Hyperbolic menu
sinh(1.2)¸
1.509...
sinh(expression1)
⇒
expression
sinh(list1) list
⇒
sinh({0,1.2,3.})¸
sinh (expression1) returns the hyperbolic sine
of the argument as an expression.
{0 1.509... 10.017...}
sinh (list) returns a list of the hyperbolic sines
of each element of list1.
sinh(squareMatrix1)
⇒
squareMatrix
In Radian angle mode:
sinh([1,5,3;4,2,1;6,ë 2,1])
¸
Returns the matrix hyperbolic sine of
squareMatrix1. This is not the same as
calculating the hyperbolic sine of each
element. For information about the
calculation method, refer to cos().
360.954 305.708 239.604
352.912 233.495 193.564
298.632 154.599 140.251
squareMatrix1 must be diagonalizable. The
result always contains floating-point
numbers.
sinhê()
MATH/Hyperbolic menu
sinhê (0)¸
0
sinhê (expression1)
⇒
expression
sinhê (list1) list
⇒
sinhê ({0,2.1,3})¸
sinhê (expression1) returns the inverse
hyperbolic sine of the argument as an
expression.
{0 1.487... sinhê (3)}
sinhê (list1) returns a list of the inverse
hyperbolic sines of each element of list1.
sinhê(squareMatrix1)
⇒
squareMatrix
In Radian angle mode:
Returns the matrix inverse hyperbolic sine of sinhê([1,5,3;4,2,1;6,ë 2,1])
squareMatrix1. This is not the same as
calculating the inverse hyperbolic sine of
each element. For information about the
calculation method, refer to cos().
¸
.041…
2.155…
1.158…
.112…
1.463… .926…
2.750… ë 1.528… .572…
squareMatrix1 must be diagonalizable. The
result always contains floating-point
numbers.
502
Appendix A: Functions and Instructions
SinReg
MATH/Statistics/Regressions menu
SinReg list1, list2 [, [iterations], [ period] [, list3, list4]]
In function graphing mode:
seq(x,x,1,361,30)! L1 ¸
Calculates the sinusoidal regression and
updates all the system statistics variables.
{1 31 61 …}
{5.5,8,11,13.5,16.5,19,19.5,17,
All the lists must have equal dimensions
except for list4.
14.5,12.5,8.5,6.5,5.5}! L2 ¸
{5.5 8 11 …}
SinReg L1,L2 ¸
Done
list1 represents xlist.
list2 represents ylist.
ShowStat ¸
list3 represents category codes.
list4 represents category include list.
iterations specifies the maximum number of
times (1 through 16) a solution will be
attempted. If omitted, 8 is used. Typically,
larger values result in better accuracy but
longer execution times, and vice versa.
¸
period specifies an estimated period. If
omitted, the difference between values in
list1 should be equal and in sequential order.
If you specify period, the differences between
x values can be unequal.
regeq(x)! y1(x) ¸
NewPlot 1,1,L1,L2 ¸
¥ %
Done
Done
„ 9
Note: list1 through list3 must be a variable
name or c1–c99 (columns in the last data
variable shown in the Data/Matrix Editor).
list4 does not have to be a variable name and
cannot be c1–c99.
The output of SinReg is always in radians,
regardless of the angle mode setting.
solve()
MATH/Algebra menu
solve(equation, var) Boolean expression
solve(inequality, var) Boolean expression
solve(aù x^2+bù x+c=0,x)¸
⇒
⇒
bñ -4ø aø c-b
Returns candidate real solutions of an equation
or an inequality for var. The goal is to return
candidates for all solutions. However, there
might be equations or inequalities for which the
number of solutions is infinite.
x=
2ø a
( bñ -4ø aø c+b)
ë
or x=
2ø a
Solution candidates might not be real finite
solutions for some combinations of values for
undefined variables.
ans(1)| a=1 and b=1 and c=1
¸
Error: Non-real result
For the AUTO setting of the Exact/Approx mode,
the goal is to produce exact solutions when
they are concise, and supplemented by iterative
searches with approximate arithmetic when
exact solutions are impractical.
solve((xì a)e^(x)=ë xù (xì a),x)
¸
x=a or x=ë.567...
(x+1)(xì 1)/(xì 1)+xì 3¸
Due to default cancellation of the greatest
common divisor from the numerator and
denominator of ratios, solutions might be
solutions only in the limit from one or both
sides.
2ø xì 2
solve(entry(1)=0,x)¸
entry(2)|ans(1)¸
limit(entry(3),x,1)¸
x=1
undef
0
solve(5xì 2‚ 2x,x)¸
x‚ 2/3
For inequalities of types ‚, , <, or >, explicit
solutions are unlikely unless the inequality is
linear and contains only var.
Appendix A: Functions and Instructions
503
exact(solve((xì a)e^(x)=ë xù
For the EXACT setting of the Exact/Approx mode,
portions that cannot be solved are returned as
an implicit equation or inequality.
(xì a),x))¸
ex +x=0 or x=a
In Radian angle mode:
Use the “|” operator to restrict the solution
interval and/or other variables that occur in the
equation or inequality. When you find a solution
in one interval, you can use the inequality
operators to exclude that interval from
subsequent searches.
solve(tan(x)=1/x,x)|x>0 and x<1
¸
x=.860...
solve(x=x+1,x)¸
false
true
false is returned when no real solutions are
found. true is returned if solve() can determine
that any finite real value of var satisfies the
equation or inequality.
solve(x=x,x)¸
2xì 11 and solve(x^2ƒ9,x)¸
Since solve() always returns a Boolean result,
you can use “and,” “or,” and “not” to combine
results from solve() with each other or with
other Boolean expressions.
x 1 and xƒ ë 3
In Radian angle mode:
Solutions might contain a unique new
undefined variable of the form @nj with j being
an integer in the interval 1–255. Such variables
designate an arbitrary integer.
solve(sin(x)=0,x)¸ x=@n1ø p
solve(x^(1/3)=ë 1,x)¸ x=ë 1
In real mode, fractional powers having odd
denominators denote only the real branch.
Otherwise, multiple branched expressions such
as fractional powers, logarithms, and inverse
trigonometric functions denote only the
principal branch. Consequently, solve()
produces only solutions corresponding to that
one real or principal branch.
solve(‡(x)=ë 2,x)¸
false
x=4
solve(ë ‡(x)=ë 2,x)¸
Note: See also cSolve(), cZeros(), nSolve(), and
zeros().
solve(y=x^2ì 2 and
solve(equation1 and equation2 [and … ], {varOrGuess1,
varOrGuess2 [, … ]})
⇒
Boolean expression
x+2y=ë 1,{x,y}) ¸
x=1 and y=ë 1
or x=ë 3/2 and y=1/4
Returns candidate real solutions to the
simultaneous algebraic equations, where
each varOrGuess specifies a variable that you
want to solve for.
Optionally, you can specify an initial guess
for a variable. Each varOrGuess must have the
form:
variable
– or –
variable = real or non-real number
For example, x is valid and so is x=3.
504
Appendix A: Functions and Instructions
If all of the equations are polynomials and if
you do NOT specify any initial guesses,
solve() uses the lexical Gröbner/Buchberger
elimination method to attempt to determine
all real solutions.
For example, suppose you have a circle of
radius r at the origin and another circle of
radius r centered where the first circle
crosses the positive x-axis. Use solve() to find
the intersections.
solve(x^2+y^2=r^2 and
As illustrated by r in the example to the right,
simultaneous polynomial equations can have
extra variables that have no values, but
represent given numeric values that could be
substituted later.
(xì r)^2+y^2=r^2,{x,y}) ¸
3ør
r
2
x=
and y=
2
ë 3ør
r
2
or x=
and y=
2
solve(x^2+y^2=r^2 and
You can also (or instead) include solution
variables that do not appear in the equations.
For example, you can include z as a solution
variable to extend the previous example to
two parallel intersecting cylinders of radius r.
(xì r)^2+y^2=r^2,{x,y,z}) ¸
3ør
r
2
x=
and y=
and z=@1
and z=@1
2
ë 3ør
r
or x=
and y=
The cylinder solutions illustrate how families
of solutions might contain arbitrary constants
of the form @k, where k is an integer suffix
from 1 through 255. The suffix resets to 1
when you use ClrHome or ƒ 8:Clear Home.
2
2
For polynomial systems, computation time or
memory exhaustion may depend strongly on
the order in which you list solution variables.
If your initial choice exhausts memory or
your patience, try rearranging the variables in
the equations and/or varOrGuess list.
solve(x+e^(z)ù y=1 and
xì y=sin(z),{x,y}) ¸
If you do not include any guesses and if any
equation is non-polynomial in any variable
but all equations are linear in the solution
variables, solve() uses Gaussian elimination
to attempt to determine all real solutions.
ezøsin(z)+1
ë (sin(z)ì 1
x=
and y=
ez+1
ez+1
solve(e^(z)ù y=1 and
ë y=sin(z),{y,z}) ¸
If a system is neither polynomial in all of its
variables nor linear in its solution variables,
solve() determines at most one solution using
an approximate iterative method. To do so,
the number of solution variables must equal
the number of equations, and all other
variables in the equations must simplify to
numbers.
y=.041… and z=3.183…
Appendix A: Functions and Instructions
505
solve(e^(z)ù y=1 and
ë y=sin(z),{y,z=2p}) ¸
Each solution variable starts at its guessed
value if there is one; otherwise, it starts at
0.0.
y=.001… and z=6.281…
Use guesses to seek additional solutions one
by one. For convergence, a guess may have
to be rather close to a solution.
SortA
MATH/List menu
{2,1,4,3}! list1¸ {2,1,4,3}
SortA listName1[, listName2] [, listName3] ...
SortA vectorName1[, vectorName2] [, vectorName3] ...
SortA list1¸
Done
Sorts the elements of the first argument in
ascending order.
list1¸
{4,3,2,1}! list2¸ {4 3 2 1}
{1 2 3 4}
If you include additional arguments, sorts the
elements of each so that their new positions
match the new positions of the elements in
the first argument.
SortA list2,list1¸
Done
list2¸
list1¸
{1 2 3 4}
{4 3 2 1}
All arguments must be names of lists or
vectors. All arguments must have equal
dimensions.
SortD
MATH/List menu
{2,1,4,3}! list1¸ {2 1 4 3}
SortD listName1[, listName2] [, listName3] ...
SortD vectorName1[,vectorName 2] [,vectorName 3] ...
{1,2,3,4}! list2¸ {1 2 3 4}
SortD list1,list2¸
list1¸
list2¸
Done
{4 3 2 1}
{3 4 1 2}
Identical to SortA, except SortD sorts the
elements in descending order.
4Sphere
MATH/Matrix/Vector ops menu
vector 4Sphere
[1,2,3]4Sphere
¥ ¸ [3.741... 1.107... .640...]
Displays the row or column vector in
spherical form [r q f].
[2,pà4,3]4Sphere
¥ ¸ [3.605... .785... .588...]
vector must be of dimension 3 and can be
either a row or a column vector.
3ø ‡13
p
4
¸ [‡13
cosê (
)]
13
Note: 4Sphere is a display-format instruction,
not a conversion function. You can use it
only at the end of an entry line.
Z
(ρ,θ,φ)
φ
ρ
Y
θ
X
stdDev() MATH/Statistics menu
stdDev({a,b,c})¸
stdDev({1,2,5,ë 6,3,ë 2})¸
stdDev(list[, freqlist])
⇒
expression
Returns the standard deviation of the
elements in list.
Each freqlist element counts the number of
consecutive occurrences of the
corresponding element in list.
Note: list must have at least two elements.
stdDev({1.3,2.5,L6.4},{3,2,5})
4.33345
¸
506
Appendix A: Functions and Instructions
stdDev(matrix1[, freqmatrix])
⇒
matrix
stdDev([1,2,5;-3,0,1;.5,.7,3])
¸
Returns a row vector of the standard
deviations of the columns in matrix1.
[2.179... 1.014...
2]
stdDev([L1.2,5.3;2.5,7.3;6,L4],
[4,2;3,3;1,7]) ¸
Each freqmatrix element counts the number
of consecutive occurrences of the
corresponding element in matrix1.
[2.7005,5.44695]
Note: matrix1 must have at least two rows.
StoGDB
CATALOG
StoGDB GDBvar
Creates a Graph database (GDB) variable
that contains the current:
* Graphing mode
* Y= functions
* Window variables
* Graph format settings
1- or 2-Graph setting (split screen and ratio
settings if 2-Graph mode)
Angle mode
Real/complex mode
* Initial conditions if Sequence or
Diff Equations mode
* Table flags
* tblStart, @tbl, tblInput
You can use RclGDB GDBvar to restore the
graph environment.
*Note: These items are saved for both graphs
in 2-Graph mode.
Stop
CATALOG
Program segment:
Stop
Used as a program instruction to stop
program execution.
©
For i,1,10,1
If i=5
Stop
EndFor
©
StoPic
CATALOG
StoPic picVar [, pxlRow, pxlCol] [, width, height]
Displays the graph screen and copies a
rectangular area of the display to the variable
picVar.
pxlRow and pxlCol, if included, specify the
upper-left corner of the area to copy (defaults
are 0, 0).
width and height, if included, specify the
dimensions, in pixels, of the area. Defaults
are the width and height, in pixels, of the
current graph screen.
Store
See ! (store), page 539.
Appendix A: Functions and Instructions
507
string()
MATH/String menu
string(expression) string
string(1.2345)¸
"1.2345"
"3"
⇒
Simplifies expression and returns the result as
a character string.
string(1+2)¸
string(cos(x)+‡(3))¸
"cos(x)+‡(3)"
Style
CATALOG
Style 1,"thick"¸
Done
Done
Style equanum, stylePropertyString
Sets the system graphing function equanum in
the current graph mode to use the graphing
property stylePropertyString.
Style 10,"path"¸
Note: In function graphing mode, these
examples set the style of y1(x) to "Thick"
and y10(x) to "Path".
equanum must be an integer from 1–99 and
the function must already exist.
stylePropertyString must be one of: "Line",
"Dot", "Square", "Thick", "Animate", "Path",
"Above", or "Below".
Note that in parametric graphing, only the xt
half of the pair contains the style
information.
Valid style names vs. graphing mode:
Function:
all styles
Parametric/Polar: line, dot, square, thick,
animate, path
Sequence:
3D:
Diff Equations:
line, dot, square, thick
none
line, dot, square, thick,
animate, path
Note: Capitalization and blank spaces are
optional when entering stylePropertyString
names.
subMat() CATALOG
[1,2,3;4,5,6;7,8,9]! m1¸
subMat(matrix1[, startRow] [, startCol] [, endRow]
[, endCol]) matrix
⇒
1 2 3
4 5 6
7 8 9
Returns the specified submatrix of matrix1.
subMat(m1,2,1,3,2)¸
Defaults: startRow=1, startCol=1, endRow=last
row, endCol=last column.
4 5
[ ]
7 8
subMat(m1,2,2)¸
5 6
[ ]
8 9
sum()
MATH/List menu
sum({1,2,3,4,5}) ¸
sum({a,2a,3a}) ¸
15
6ø a
55
sum(list[, start[, end]])
⇒
expression
Returns the sum of the elements in list.
Start and end are optional. They specify a
range of elements.
sum(seq(n,n,1,10)) ¸
sum({1,3,5,7,9},3) ¸
21
508
Appendix A: Functions and Instructions
sum([1,2,3;4,5,6])¸[5 7 9]
sum(matrix1[, start[, end]])
⇒
matrix
Returns a row vector containing the sums of
the elements in the columns in matrix1.
sum([1,2,3;4,5,6;7,8,9])¸
[12 15 18]
Start and end are optional. They specify a
range of rows.
sum([1,2,3;4,5,6;7,8,9],2,3)
¸
[11,13,15]
switch()
CATALOG
switch([integer1])
⇒
integer
Returns the number of the active window.
Also can set the active window.
Note: Window 1 is left or top; Window 2 is
right or bottom.
If integer1 = 0, returns the active window
number.
switch()¸
If integer1 = 1, activates window 1 and
returns the previously active window
number.
If integer1 = 2, activates window 2 and
returns the previously active window
number.
If integer1 is omitted, switches windows and
returns the previously active window
number.
integer1 is ignored if the TI-89 / TI-92 Plus is not
displaying a split screen.
T
(transpose)
matrix1
MATH/Matrix menu
î
[1,2,3;4,5,6;7,8,9]! mat1¸
⇒
matrix
1 2 3
4 5 6
7 8 9
Returns the complex conjugate transpose of
matrix1.
î
mat1
¸
1 4 7
2 5 8
3 6 9
a b
[a,b;c,d]! mat2¸
[ ]
c d
a c
î
mat2
¸
[ ]
b d
[1+i,2+i;3+i,4+i]! mat3¸
1+i 2+i
3+i 4+i
[
]
]
1ì i 3ì i
î
mat3
¸
[
2ì i 4ì i
Appendix A: Functions and Instructions
509
Table
CATALOG
In function graphing mode.
Table expression1[, expression2] [, var1]
Builds a table of the specified expressions or Table 1.25xù cos(x)¸
functions.
The expressions in the table can also be
graphed. Expressions entered using the Table
or Graph commands are assigned increasing
function numbers starting with 1. The
expressions can be modified or individually
Table cos(time),time¸
deleted using the edit functions available
when the table is displayed by pressing
† Header. The currently selected functions in
the Y= Editor are temporarily ignored.
To clear the functions created by Table or
Graph, execute the ClrGraph command or
display the Y= Editor.
If the var parameter is omitted, the current
graph-mode independent variable is
assumed. Some valid variations of this
instruction are:
Function graphing: Table expr, x
Parametric graphing: Table xExpr, yExpr, t
Polar graphing:
Table expr, q
Note: The Table command is not valid for
3D, sequence, or diff equations graphing. As
an alternative, you may want to use BldData.
tan()
TI-89: 2 Y key
tan(expression1) expression
tan(list1) list
TI-92 Plus: Y key
In Degree angle mode:
⇒
⇒
tan((p/4)ô )¸
1
1
tan(expression1) returns the tangent of the
argument as an expression.
tan(45)¸
tan(list1) returns a list of the tangents of all
elements in list1.
tan({0,60,90})¸
{0 ‡3 undef}
Note: The argument is interpreted as either a
degree or radian angle, according to the
current angle mode. You can use ó or ô to
override the angle mode temporarily.
In Radian angle mode:
tan(p/4)¸
1
1
tan(45¡)¸
tan({p,p/3,-p,p/4})¸
{0 ‡3 0 1}
tan(squareMatrix1)
⇒
squareMatrix
In Radian angle mode:
tan([1,5,3;4,2,1;6,ë 2,1]) ¸
Returns the matrix tangent of squareMatrix1.
This is not the same as calculating the
tangent of each element. For information
about the calculation method, refer to cos().
ë 28.291… 26.088…
11.114…
12.117…
36.818…
ë 7.835…
ë 32.806… ë 10.459…
ë 5.481…
squareMatrix1 must be diagonalizable. The
result always contains floating-point
numbers.
510
Appendix A: Functions and Instructions
tanê()
TI-89: ¥ S key
tanê (expression1) expression
tanê (list1) list
TI-92 Plus: 2 S key
In Degree angle mode:
⇒
⇒
tanê (1)¸
45
tanê (expression1) returns the angle whose
tangent is expression1 as an expression.
In Radian angle mode:
tanê (list1) returns a list of the inverse
tangents of each element of list1.
tanê ({0,.2,.5})¸
{0 .197... .463...}
Note: The result is returned as either a
degree or radian angle, according to the
current angle mode setting.
tanê(squareMatrix1)
⇒
squareMatrix
In Radian angle mode:
tanê([1,5,3;4,2,1;6,ë 2,1])
¸
Returns the matrix inverse tangent of
squareMatrix1. This is not the same as
calculating the inverse tangent of each
element. For information about the
calculation method, refer to cos().
ë.083… 1.266…
.748… .630…
1.686… ë 1.182… .455…
.622…
ë.070…
squareMatrix1 must be diagonalizable. The
result always contains floating-point
numbers.
tanh()
MATH/Hyperbolic menu
tanh(1.2)¸
.833...
{0 tanh(1)}
tanh(expression1)
⇒
expression
tanh(list1) list
⇒
tanh({0,1})¸
tanh(expression1) returns the hyperbolic
tangent of the argument as an expression.
tanh(list) returns a list of the hyperbolic
tangents of each element of list1.
tanh(squareMatrix1)
⇒
squareMatrix
In Radian angle mode:
tanh([1,5,3;4,2,1;6,ë 2,1])
¸
Returns the matrix hyperbolic tangent of
squareMatrix1. This is not the same as
calculating the hyperbolic tangent of each
element. For information about the
calculation method, refer to cos().
ë.097… .933…
.488… .538…
.425…
ë.129…
1.282… ë 1.034… .428…
squareMatrix1 must be diagonalizable. The
result always contains floating-point
numbers.
tanhê()
MATH/Hyperbolic menu
In rectangular complex format mode:
tanhê (expression1)
⇒
expression
tanhê (list1) list
⇒
tanhê (0)¸
0
tanhê (expression1) returns the inverse
hyperbolic tangent of the argument as an
expression.
tanhê ({1,2.1,3})¸
p
2
ln(2)
2
{ˆ
.518... ì 1.570...ø i
ì
ø i}
tanhê (list1) returns a list of the inverse
hyperbolic tangents of each element of list1.
Appendix A: Functions and Instructions
511
tanhê(squareMatrix1)
⇒
squareMatrix
In Radian angle mode and Rectangular
complex format mode:
Returns the matrix inverse hyperbolic
tangent of squareMatrix1. This is not the same tanhê([1,5,3;4,2,1;6,ë 2,1])
as calculating the inverse hyperbolic tangent
of each element. For information about the
calculation method, refer to cos().
¸
ë.099…+.164…øi .267…ì 1.490…øi
ë.087…ì.725…øi .479…ì.947…øi
…
…
squareMatrix1 must be diagonalizable. The
result always contains floating-point
numbers.
.511…ì 2.083…øi ë.878…+1.790…øi …
taylor()
MATH/Calculus menu
taylor(e^(‡(x)),x,2)¸
taylor(expression1, var, order[, point])
⇒
expression
taylor(e^(t),t,4)|t=‡(x)¸
Returns the requested Taylor polynomial.
The polynomial includes non-zero terms of
integer degrees from zero through order in
(var minus point). taylor() returns itself if
there is no truncated power series of this
order, or if it would require negative or
fractional exponents. Use substitution and/or
temporary multiplication by a power of
(var minus point) to determine more general
power series.
taylor(1/(xù (xì 1)),x,3)¸
point defaults to zero and is the expansion
point.
expand(taylor(x/(xù(xì1)),
x,4)/x,x)¸
tCollect() MATH\Algebra\Trig menu
tCollect((cos(a))^2)¸
tCollect(expression1)
⇒
expression
cos(2ø a)+1
Returns an expression in which products and
integer powers of sines and cosines are
converted to a linear combination of sines
and cosines of multiple angles, angle sums,
and angle differences. The transformation
converts trigonometric polynomials into a
linear combination of their harmonics.
2
tCollect(sin(a)cos(b))¸
sin(aì b)+sin(a+b)
2
Sometimes tCollect() will accomplish your
goals when the default trigonometric
simplification does not. tCollect() tends to
reverse transformations done by tExpand().
Sometimes applying tExpand() to a result
from tCollect(), or vice versa, in two separate
steps simplifies an expression.
512
Appendix A: Functions and Instructions
tExpand() MATH\Algebra\Trig menu
tExpand(sin(3f))¸
4ø sin(f)ø (cos(f))ñ ì sin(f)
tExpand(expression1)
⇒
expression
Returns an expression in which sines and
cosines of integer-multiple angles, angle
sums, and angle differences are expanded.
Because of the identity (sin(x))2+(cos(x))2=1,
there are many possible equivalent results.
Consequently, a result might differ from a
result shown in other publications.
tExpand(cos(aì b))¸
cos(a)ø cos(b)+sin(a)ø sin(b)
Sometimes tExpand() will accomplish your
goals when the default trigonometric
simplification does not. tExpand() tends to
reverse transformations done by tCollect().
Sometimes applying tCollect() to a result from
tExpand(), or vice versa, in two separate steps
simplifies an expression.
Note: Degree-mode scaling by p/180
interferes with the ability of tExpand() to
recognize expandable forms. For best results,
tExpand() should be used in Radian mode.
Text
CATALOG
Text "Have a nice day."¸
Text promptString
Done
Displays the character string promptString
dialog box.
If used as part of a Dialog...EndDlog block,
promptString is displayed inside that dialog
box. If used as a standalone instruction, Text
creates a dialog box to display the string.
Then
Title
See If, page 456.
CATALOG
Program segment:
Title titleString, [Lbl]
Creates the title of a pull-down menu or
dialog box when used inside a Toolbar or
Custom construct, or a Dialog...EndDlog
block.
©
:Dialog
:Title
box"
"This is a dialog
:Request "Your name",Str1
:Dropdown "Month you were
Note: Lbl is only valid in the Toolbar
construct. When present, it allows the menu
choice to branch to a specified label inside
the program.
born",
seq(string(i),i,1,12),Var1
:EndDlog
©
Appendix A: Functions and Instructions
513
tmpCnv() CATALOG
tmpCnv(100_¡c,_¡f) ¸ 212.ø_¡F
tmpCnv(32_¡f,_¡c) ¸ 0.ø_¡C
tmpCnv(expression1_¡tempUnit1, _¡tempUnit2)
⇒
expression _¡tempUnit2
Converts a temperature value specified by
expression1 from one unit to another. Valid
temperature units are:
tmpCnv(0_¡c,_¡k) ¸ 273.15ø_¡K
tmpCnv(0_¡f,_¡r) ¸ 459.67ø_¡R
_¡C
_¡F
_¡K
_¡R
Celsius
Fahrenheit
Kelvin
Note: To select temperature units from a
menu, press:
Rankine
For ¡, press 2 “.
TI-89: For _ , press ¥ .
TI-92 Plus: For _ , press 2 .
TI-89: 2 9
TI-92 Plus: ¥ À
For example, 100_¡C converts to 212_¡F:
0
100
_¡C
_¡F
32
212
To convert a temperature range, use
@tmpCnv() instead.
@tmpCnv() CATALOG
@tmpCnv(expression1_¡tempUnit1, _¡tempUnit2)
To get @, you can press ¥ c ¤ [D]
⇒
expression _¡tempUnit2
(or 2 ¿ 1 5).
@tmpCnv(100_¡c,_¡f) ¸
Converts a temperature range (the difference
between two temperature values) specified
by expression1 from one unit to another. Valid
temperature units are:
180.ø_¡F
@tmpCnv(180_¡f,_¡c) ¸
100.ø_¡C
_¡C
_¡F
_¡K
_¡R
Celsius
Fahrenheit
Kelvin
@tmpCnv(100_¡c,_¡k) ¸
Rankine
100.ø_¡K
For ¡, press 2 “.
TI-89: For _ , press ¥ .
TI-92 Plus: For _ , press 2 .
@tmpCnv(100_¡f,_¡r) ¸
100.ø_¡R
1_¡C and 1_¡K have the same magnitude, as
do 1_¡F and 1_¡R. However, 1_¡C is 9/5 as
large as 1_¡F.
@tmpCnv(1_¡c,_¡f) ¸
1.8ø_¡F
Note: To select temperature units from a
menu, press:
TI-89: 2 9
TI-92 Plus: ¥ À
For example, a 100_¡C range (from 0_¡C to
100_¡C) is equivalent to a 180_¡F range:
100_¡C
0
100
212
_¡C
_¡F
32
180_¡F
To convert a particular temperature value
instead of a range, use tmpCnv().
514
Appendix A: Functions and Instructions
Toolbar
CATALOG
Program segment:
Toolbar
block
EndTBar
©
:Toolbar
: Title "Examples"
: Item "Trig", t
: Item "Calc", c
: Item "Stop", Pexit
:EndTbar
Creates a toolbar menu.
block can be either a single statement or a
sequence of statements separated with the “:”
character. The statements can be either Title
or Item.
©
Note: When run in a program, this
segment creates a menu with three
choices that branch to three places in the
program.
Items must have labels. A Title must also have
a label if it does not have an item.
Trace
CATALOG
Trace
Draws a Smart Graph and places the trace
cursor on the first defined Y= function at the
previously defined cursor position, or at the
reset position if regraphing was necessary.
Allows operation of the cursor and most keys
when editing coordinate values. Several keys,
such as the function keys, O, and 3,
are not activated during trace.
Note: Press ¸ to resume operation.
Try
CATALOG
Program segment:
Try
block1
©
Else
block2
EndTry
:Try
: NewFold(temp)
: Else
:
¦Already exists
Executes block1 unless an error occurs.
Program execution transfers to block2 if an
error occurs in block1. Variable errornum
contains the error number to allow the
program to perform error recovery.
: ClrErr
:EndTry
©
Note: See ClrErr and PassErr.
block1 and block2 can be either a single
statement or a series of statements separated
with the “:” character.
Appendix A: Functions and Instructions
515
TwoVar
MATH/Statistics menu
{0,1,2,3,4,5,6}! L1¸
{0 1 2 ...}
{0,2,3,4,3,4,6}! L2¸
{0 2 3 ...}
TwoVar list1, list2[, [list3] [, list4, list5]]
Calculates the TwoVar statistics and updates
all the system statistics variables.
All the lists must have equal dimensions
except for list5.
TwoVar L1,L2¸
Done
ShowStat¸
list1 represents xlist.
list2 represents ylist.
list3 represents frequency.
list4 represents category codes.
list5 represents category include list.
Note: list1 through list4 must be a variable
name or c1–c99 (columns in the last data
variable shown in the Data/Matrix Editor).
list5 does not have to be a variable name and
cannot be c1–c99.
Unarchiv CATALOG
10!arctest ¸
Archive arctest ¸
5ù arctest ¸
10
Done
50
Unarchiv var1 [, var2] [, var3] …
Moves the specified variables from the user
data archive memory to RAM.
15!arctest ¸
You can access an archived variable the same
as you would a variable in RAM. However,
you cannot delete, rename, or store to an
archived variable because it is locked
automatically.
To archive variables, use Archive.
N
Unarchiv arctest ¸
15!arctest ¸
Done
15
unitV()
MATH/Matrix/Vector ops menu
unitV([a,b,c])¸
unitV(vector1) vector
⇒
a
b
c
[
]
Returns either a row- or column-unit vector,
depending on the form of vector1.
añ +bñ +cñ
añ +bñ +cñ
añ +bñ +cñ
unitV([1,2,1])¸
vector1 must be either a single-row matrix or
‡6 ‡6 ‡6
a single-column matrix.
[
]
6
3
6
‡14
14
‡14
unitV([1;2;3])¸
7
3ø ‡14
14
Unlock
CATALOG
Unlock var1[, var2][, var3]...
Unlocks the specified variables.
Note: The variables can be locked using the
Lock command.
516
Appendix A: Functions and Instructions
variance() MATH/Statistics menu
variance({a,b,c})¸
añ -aø (b+c)+bñ -bø c+cñ
variance(list[, freqlist])
⇒
expression
Returns the variance of list.
3
Each freqlist element counts the number of
consecutive occurrences of the
corresponding element in list.
variance({1,2,5,ë 6,3,ë 2})¸
31/2
variance({1,3,5},{4,6,2}) ¸
Note: list must contain at least two elements.
68/33
variance(matrix1[, freqmatrix])
⇒
matrix
variance([1,2,5;ë 3,0,1;
.5,.7,3])¸ [4.75 1.03 4]
Returns a row vector containing the variance
variance([L1.1,2.2;3.4,5.1;
L2.3,4.3],[6,3;2,4;5,1]) ¸
[3.91731,2.08411]
of each column in matrix1.
Each freqmatrix element counts the number
of consecutive occurrences of the
corresponding element in matrix1.
Note: matrix1 must contain at least two
rows.
when()
CATALOG
when(condition, trueResult [, falseResult]
[, unknownResult]) ⇒ expression
Returns trueResult, falseResult, or
unknownResult, depending on whether
condition is true, false, or unknown. Returns
the input if there are too few arguments to
specify the appropriate result.
when(x<0,x+3)|x=5¸
Omit both falseResult and unknownResult to
make an expression defined only in the
region where condition is true.
when(x<0,3+x)
ClrGraph¸
Graph when(x‚ë p and
x<0,x+3,undef)¸
Use an undef falseResult to define an
expression that graphs only on an interval.
Graph when(x<0,x+3,5ì x^2)¸
Omit only the unknownResult to define a two-
piece expression.
Appendix A: Functions and Instructions
517
Nest when() to define expressions that have
more than two pieces.
TI-89: "
TI-92 Plus: ¥ "
ClrGraph¸
Done
Graph when(x<0,when(x<ë p,
4ù sin(x),2x+3),5ì x^2)¸
when(n>0,nù factoral(nì 1),1)
! factoral(n)¸
factoral(3)¸
when() is helpful for defining recursive
functions.
Done
6
3! ¸
6
While
CATALOG
Program segment:
While condition
block
EndWhile
©
:1! i
:0! temp
:While i<=20
: temp+1/i! temp
Executes the statements in block as long as
condition is true.
block can be either a single statement or a
sequence of statements separated with the “:” : i+1! i
character.
:EndWhile
:Disp "sum of reciprocals up to
20",temp
©
“With”
xor
See |, page 538.
MATH/Test menu
true xor true¸
false
true
Boolean expression1 xor Boolean expression2
⇒
Boolean expression
(5>3) xor (3>5)¸
Returns true if Boolean expression1 is true and
Boolean expression2 is false, or vice versa.
Returns false if Boolean expression1 and
Boolean expression2 are both true or both
false. Returns a simplified Boolean
expression if either of the original Boolean
expressions cannot be resolved to true or
false.
Note: See or.
518
Appendix A: Functions and Instructions
integer1 xor integer2
⇒
integer
In Hex base mode:
0h7AC36 xor 0h3D5F ¸ 0h79169
Important: Zero, not the letter O.
Compares two real integers bit-by-bit using
an xor operation. Internally, both integers are
converted to signed, 32-bit binary numbers.
When corresponding bits are compared, the
result is 1 if either bit (but not both) is 1; the
result is 0 if both bits are 0 or both bits are 1.
The returned value represents the bit results,
and is displayed according to the Base mode.
In Bin base mode:
0b100101 xor 0b100 ¸0b100001
Note: A binary entry can have up to 32
digits (not counting the 0b prefix). A
hexadecimal entry can have up to 8 digits.
You can enter the integers in any number
base. For a binary or hexadecimal entry, you
must use the 0b or 0h prefix, respectively.
Without a prefix, integers are treated as
decimal (base 10).
If you enter a decimal integer that is too large
for a signed, 32-bit binary form, a symmetric
modulo operation is used to bring the value
into the appropriate range.
Note: See or.
XorPic
CATALOG
XorPic picVar[, row] [, column]
Displays the picture stored in picVar on the
current Graph screen.
Uses xor logic for each pixel. Only those pixel
positions that are exclusive to either the
screen or the picture are turned on. This
instruction turns off pixels that are turned on
in both images.
picVar must contain a pic data type.
row and column, if included, specify the pixel
coordinates for the upper left corner of the
picture. Defaults are (0, 0).
zeros()
MATH/Algebra menu
zeros(aù x^2+bù x+c,x)¸
zeros(expression, var) list
⇒
Returns a list of candidate real values of var
that make expression=0. zeros() does this by
computing
ë( bñ-4øaøc-+b) bñ-4øaøc-b
{
}
2øa
2øa
exp8list(solve(expression=0,var),var).
aù x^2+bù x+c|x=ans(1)[2]¸ 0
For some purposes, the result form for
zeros() is more convenient than that of
solve(). However, the result form of zeros()
cannot express implicit solutions, solutions
that require inequalities, or solutions that do
not involve var.
exact(zeros(aù (e^(x)+x)
(sign (x)ì 1),x))¸
{}
exact(solve(aù (e^(x)+x)
(sign (x)ì 1)=0,x))¸
ex +x=0 or x>0 or a=0
Note: See also cSolve(), cZeros(), and solve().
Appendix A: Functions and Instructions
519
zeros({expression1, expression2}, {varOrGuess1,
varOrGuess2 [, … ]}) matrix
⇒
Returns candidate real zeros of the
simultaneous algebraic expressions, where
each varOrGuess specifies an unknown whose
value you seek.
Optionally, you can specify an initial guess
for a variable. Each varOrGuess must have the
form:
variable
– or –
variable = real or non-real number
For example, x is valid and so is x=3.
If all of the expressions are polynomials and
if you do NOT specify any initial guesses,
zeros() uses the lexical Gröbner/Buchberger
elimination method to attempt to determine
all real zeros.
For example, suppose you have a circle of
radius r at the origin and another circle of
radius r centered where the first circle
crosses the positive x-axis. Use zeros() to find
the intersections.
zeros({x^2+y^2ì r^2,
(xì r)^2+y^2ì r^2},{x,y}) ¸
As illustrated by r in the example to the right,
simultaneous polynomial expressions can
have extra variables that have no values, but
represent given numeric values that could be
substituted later.
3ør
r
2
r
2
2
ë 3ør
Each row of the resulting matrix represents
an alternate zero, with the components
ordered the same as the varOrGuess list. To
extract a row, index the matrix by [row].
2
Extract row 2:
ë 3ør
r
2
ans(1)[2] ¸
2
zeros({x^2+y^2ì r^2,
(xì r)^2+y^2ì r^2},{x,y,z}) ¸
You can also (or instead) include unknowns
that do not appear in the expressions. For
example, you can include z as an unknown to
extend the previous example to two parallel
intersecting cylinders of radius r. The
cylinder zeros illustrate how families of zeros
might contain arbitrary constants in the form
@k, where k is an integer suffix from 1
through 255. The suffix resets to 1 when you
use ClrHome or ƒ 8:Clear Home.
3ør
r
2
r
2
@1
2
ë 3ør
@1
2
520
Appendix A: Functions and Instructions
For polynomial systems, computation time or
memory exhaustion may depend strongly on
the order in which you list unknowns. If your
initial choice exhausts memory or your
patience, try rearranging the variables in the
expressions and/or varOrGuess list.
If you do not include any guesses and if any
expression is non-polynomial in any variable
but all expressions are linear in the
unknowns, zeros() uses Gaussian elimination
to attempt to determine all real zeros.
zeros({x+e^(z)ù yì 1,xì yì sin(z)}
,{x,y}) ¸
ezøsin(z)+1 ë (sin(z)ì 1)
ez+1
ez+1
If a system is neither polynomial in all of its
variables nor linear in its unknowns, zeros()
determines at most one zero using an
approximate iterative method. To do so, the
number of unknowns must equal the number
of expressions, and all other variables in the
expressions must simplify to numbers.
zeros({e^(z)ùyì1,ëyìsin(z)},
{y,z}) ¸
[.041… 3.183…]
Each unknown starts at its guessed value if
there is one; otherwise, it starts at 0.0.
Use guesses to seek additional zeros one by
one. For convergence, a guess may have to
be rather close to a zero.
zeros({e^(z)ù yì 1,ë yì sin(z)},
{y,z=2p}) ¸
[.001… 6.281…]
ZoomBox CATALOG
In function graphing mode:
ZoomBox
1.25xù cos(x)! y1(x)¸
ZoomStd:ZoomBox¸
Done
Displays the Graph screen, lets you draw a
box that defines a new viewing window, and
updates the window.
1st corner
2nd corner
The display after defining ZoomBox by
pressing ¸ the second time.
Appendix A: Functions and Instructions
521
ZoomData CATALOG
In function graphing mode:
{1,2,3,4}! L1¸
{2,3,4,5}! L2¸
newPlot 1,1,L1,L2¸
ZoomStd¸
ZoomData
{1 2 3 4}
{2 3 4 5}
Done
Adjusts the window settings based on the
currently defined plots (and data) so that all
statistical data points will be sampled, and
displays the Graph screen.
Note: Does not adjust ymin and ymax for
histograms.
TI-89: "
TI-92 Plus: ¥ "
ZoomData¸
ZoomDec CATALOG
In function graphing mode:
ZoomDec
1.25xù cos(x)! y1(x)¸
ZoomStd¸
Done
Adjusts the viewing window so that @x and
@y = 0.1 and displays the Graph screen with
the origin centered on the screen.
TI-89: "
TI-92 Plus: ¥ "
ZoomDec¸
522
Appendix A: Functions and Instructions
ZoomFit
CATALOG
In function graphing mode:
ZoomFit
1.25xù cos(x)! y1(x)¸
ZoomStd¸
Done
Displays the Graph screen, and calculates the
necessary window dimensions for the
dependent variables to view all the picture
for the current independent variable settings.
TI-89: "
TI-92 Plus: ¥ "
ZoomFit¸
ZoomIn
CATALOG
In function graphing mode:
ZoomIn
Displays the Graph screen, lets you set a
center point for a zoom in, and updates the
viewing window.
1.25xù cos(x)! y1(x)¸
ZoomStd:ZoomIn¸
Done
The magnitude of the zoom is dependent on
the Zoom factors xFact and yFact. In 3D Graph
mode, the magnitude is dependent on xFact,
yFact, and zFact.
¸
ZoomInt
CATALOG
In function graphing mode:
ZoomInt
Displays the Graph screen, lets you set a
center point for the zoom, and adjusts the
window settings so that each pixel is an
integer in all directions.
1.25xù cos(x)! y1(x)¸
ZoomStd:ZoomInt¸
Done
¸
Appendix A: Functions and Instructions
523
ZoomOut CATALOG
In function graphing mode:
ZoomOut
Displays the Graph screen, lets you set a
center point for a zoom out, and updates the
viewing window.
1.25xù cos(x)! y1(x)¸
ZoomStd:ZoomOut¸
Done
The magnitude of the zoom is dependent on
the Zoom factors xFact and yFact. In 3D Graph
mode, the magnitude is dependent on xFact,
yFact, and zFact.
¸
ZoomPrev CATALOG
ZoomPrev
Displays the Graph screen, and updates the
viewing window with the settings in use
before the last zoom.
ZoomRcl CATALOG
ZoomRcl
Displays the Graph screen, and updates the
viewing window using the settings stored
with the ZoomSto instruction.
ZoomSqr CATALOG
In function graphing mode:
ZoomSqr
Displays the Graph screen, adjusts the x or y
1.25xù cos(x)! y1(x)¸
Done
window settings so that each pixel represents
an equal width and height in the coordinate
system, and updates the viewing window.
ZoomStd¸
In 3D Graph mode, ZoomSqr lengthens the
shortest two axes to be the same as the
longest axis.
"
ZoomSqr ¸
524
Appendix A: Functions and Instructions
ZoomStd CATALOG
In function graphing mode:
ZoomStd
Sets the window variables to the following
standard values, and then updates the
viewing window.
1.25xù cos(x)! y1(x)¸
ZoomStd¸
Done
Function graphing:
x: [ë 10, 10, 1], y: [ë 10, 10, 1] and xres=2
Parametric graphing:
t: [0, 2p, p/24], x: [ë 10, 10, 1], y:[ë 10, 10, 1]
Polar graphing:
q: [0, 2p, p/24], x: [ë 10, 10, 1], y: [ë 10, 10, 1]
Sequence graphing:
nmin=1, nmax=10, plotStrt=1, plotStep=1,
x: [ë 10, 10, 1], y: [ë 10, 10, 1]
3D graphing:
eyeq°=20, eyef°=70, eyeψ°=0
x: [ë 10, 10, 14], y: [ë 10, 10, 14],
z: [ë 10, 10], ncontour=5
Differential equations graphing:
t: [0, 10, .1, 0], x: [ë 1, 10, 1], y: [ë 10, 10, 1],
ncurves=0, Estep=1, diftol=.001, fldres=14,
dtime=0
ZoomSto CATALOG
ZoomSto
Stores the current Window settings in the
Zoom memory. You can use ZoomRcl to
restore the settings.
ZoomTrig CATALOG
In function graphing mode:
ZoomTrig
Displays the Graph screen, sets @x to p/24,
1.25xù cos(x)! y1(x)¸
Done
and xscl to p/2, centers the origin, sets the y
settings to [ë 4, 4, .5], and updates the viewing
window.
ZoomStd¸
TI-89: "
TI-92 Plus: ¥ "
ZoomTrig¸
Appendix A: Functions and Instructions
525
+ (add)
« key
56¸
56
60
64
68
72
expression1 + expression2
⇒
expression
ans(1)+4¸
ans(1)+4¸
ans(1)+4¸
ans(1)+4¸
Returns the sum of expression1 and
expression2.
{22,p,p/2}! L1¸
{10,5,p/2}! L2¸
L1+L2¸
{22 p p/2}
{10 5 p/2}
{32 p+5 p}
list1 + list2
⇒
list
⇒
matrix1 + matrix2
matrix
Returns a list (or matrix) containing the sums
of corresponding elements in list1 and list2
(or matrix1 and matrix2).
ans(1)+{p,ë 5,ë p}¸
{p+32 p 0}
Dimensions of the arguments must be equal.
[a,b;c,d]+[1,0;0,1]¸
a+1 b
c d+1
[
]
15+{10,15,20}¸
{25 30 35}
{25 30 35}
expression + list1
⇒
⇒
list
list
list1 + expression
{10,15,20}+15¸
Returns a list containing the sums of
expression and each element in list1.
20+[1,2;3,4]¸
expression + matrix1
matrix1 + expression
⇒
⇒
matrix
matrix
21 2
3 24
[
]
Returns a matrix with expression added to
each element on the diagonal of matrix1.
matrix1 must be square.
Note: Use .+ (dot plus) to add an expression
to each element.
(subtract)
ì
| key
6ì 2¸
4
expression1 - expression2
⇒
expression
Returns expression1 minus expression2.
5ø p
pì pà6¸
6
{22,p,pà2}ì {10,5,pà2}¸
list1 - list2
matrix1 - matrix2
⇒
list
⇒
matrix
{12 pì 5 0}
Subtracts each element in list2 (or matrix2)
from the corresponding element in list1 (or
matrix1), and returns the results.
[3,4]ì [1,2]¸
[2 2]
Dimensions of the arguments must be equal.
15ì {10,15,20}¸
{5 0 -5}
{-5 0 5}
expression - list1
list1 - expression
⇒
⇒
list
list
{10,15,20}ì 15¸
Subtracts each list1 element from expression
or subtracts expression from each list1
element, and returns a list of the results.
526
Appendix A: Functions and Instructions
20ì [1,2;3,4]¸
expression - matrix1
matrix1 - expression
⇒
⇒
matrix
matrix
19 ë 2
ë 3 16
[
]
expression ì matrix1 returns a matrix of
expression times the identity matrix minus
matrix1. matrix1 must be square.
matrix1 ì expression returns a matrix of
expression times the identity matrix
subtracted from matrix1. matrix1 must be
square.
Note: Use .. (dot minus) to subtract an
expression from each element.
(multiply)
ù
p key
2ù 3.45¸
6.9
expression1 ù expression2
⇒
expression
x2ø y
Returns the product of expression1 and
expression2.
xù yù x¸
{1.0,2,3}ù {4,5,6}¸{4. 10 18}
list1ù list2
⇒
list
Returns a list containing the products of the
corresponding elements in list1 and list2.
b
2
{2àa,3à2}ù {añ,bà3}¸{2ø a
}
Dimensions of the lists must be equal.
matrix1 ù matrix2
⇒
matrix
[1,2,3;4,5,6]ù [a,d;b,e;c,f]
¸
Returns the matrix product of matrix1 and
matrix2.
The number of rows in matrix1 must equal
the number of columns in matrix2.
pù {4,5,6}¸
{4ø p 5ø p 6ø p}
expression ù list1
list1 ù expression
⇒
⇒
list
list
Returns a list containing the products of
expression and each element in list1.
.01 .02
expression ù matrix1
matrix1 ù expression
⇒
⇒
matrix
matrix
[1,2;3,4]ù.01¸
[
]
.03 .04
l 0 0
0 l 0
0 0 l
Returns a matrix containing the products of
expression and each element in matrix1.
lù identity(3)¸
Note: Use .ù (dot multiply) to multiply an
expression by each element.
(divide)
e key
à
2/3.45¸
.57971
x2
expression1 à expression2
⇒
expression
Returns the quotient of expression1 divided by
x^3/x¸
expression2.
{1.0,2,3}/{4,5,6}¸
list1 à list2
⇒
list
{.25 2/5 1/2}
Returns a list containing the quotients of list1
divided by list2.
Dimensions of the lists must be equal.
Appendix A: Functions and Instructions
527
a/{3,a,‡(a)}¸
expression à list1
list1 à expression
⇒
⇒
list
list
a
3
1 ‡a
{
}
Returns a list containing the quotients of
expression divided by list1 or list1 divided by
expression.
{a,b,c}/(aù bù c)¸
1
1
1
{
}
bø c aø c aø b
[a,b,c]/(aù bù c)¸
matrix1 à expression
⇒
matrix
Returns a matrix containing the quotients of
matrix1àexpression.
1
1
1
[
]
bø c aø c aø b
Note: Use . / (dot divide) to divide an
expression by each element.
ë(negate)
·key and MATH/Base menu
ë 2.43¸
ë {ë 1,0.4,1.2í 19}¸
ë 2.43
ëexpression1
ë list1 list
ë matrix1
⇒
expression
⇒
⇒
matrix
{1 ë.4 ë 1.2í 19}
Returns the negation of the argument.
ë aù ë b¸
aø b
For a list or matrix, returns all the elements
negated.
In Bin base mode:
If expression1 is a binary or hexadecimal
integer, the negation gives the two’s
complement.
0b1001014dec ¸
37
Important: Zero, not the letter O.
ë 0b100101 ¸
0b11111111111111111111111111011011
ans(1)4dec ¸
ë 37
Note: To type 4, press 2 .
% (percent) CHAR/Punctuation menu
expression1 % expression
list1 % list
matrix1 %
13%¥ ¸
.13
⇒
⇒
{1, 10, 100}%¥ ¸
⇒
matrix
{.01 .1 1.}
argument
Returns
.
100
For a list or matrix, returns a list or matrix
with each element divided by 100.
528
Appendix A: Functions and Instructions
= (equal)
Á key
Example function listing using math test
symbols: =, ƒ, <, , >, ‚
expression1 = expression2
⇒
Boolean expression
list1 = list2
matrix1 = matrix2
⇒
Boolean list
Boolean matrix
⇒
:g(x)
Returns true if expression1 is determined to
be equal to expression2.
:Func
:If xë 5 Then
: Return 5
Returns false if expression1 is determined to
not be equal to expression2.
: ElseIf x>ë 5 and x<0 Then
: Return ë x
Anything else returns a simplified form of the
equation.
: ElseIf x‚0 and xƒ10 Then
: Return x
: ElseIf x=10 Then
: Return 3
For lists and matrices, returns comparisons
element by element.
:EndIf
:EndFunc
Graph g(x)¸
≠
¥ Á key
See "=" (equal) example.
expression1 ≠ expression2
list1 ≠ list2 Boolean list
matrix1 ≠ matrix2 Boolean matrix
⇒
Boolean expression
⇒
⇒
Returns true if expression1 is determined to be
not equal to expression2.
Returns false if expression1 is determined to
be equal to expression2.
Anything else returns a simplified form of the
equation.
For lists and matrices, returns comparisons
element by element.
<
2Â key
See "=" (equal) example.
expression1 < expression2
list1 < list2 Boolean list
matrix1 < matrix2 Boolean matrix
⇒
Boolean expression
⇒
⇒
Returns true if expression1 is determined to be
less than expression2.
Returns false if expression1 is determined to
be greater than or equal to expression2.
Anything else returns a simplified form of the
equation.
For lists and matrices, returns comparisons
element by element.
Appendix A: Functions and Instructions
529
≤
¹ µ key
See "=" (equal) example.
See "=" (equal) example.
See "=" (equal) example.
expression1 ≤ expression2
⇒
Boolean expression
list1 ≤ list2
⇒
Boolean list
Boolean matrix
matrix1 ≤ matrix2
⇒
Returns true if expression1 is determined to be
less than or equal to expression2.
Returns false if expression1 is determined to
be greater than expression2.
Anything else returns a simplified form of the
equation.
For lists and matrices, returns comparisons
element by element.
>
2Ã key
expression1 > expression2
list1 > list2 Boolean list
matrix1 > matrix2 Boolean matrix
⇒
Boolean expression
⇒
⇒
Returns true if expression1 is determined to be
greater than expression2.
Returns false if expression1 is determined to
be less than or equal to expression2.
Anything else returns a simplified form of the
equation.
For lists and matrices, returns comparisons
element by element.
≥
¹ ¶ key
expression1 ≥ expression2
list1 ≥ list2 Boolean list
matrix1 ≥ matrix2 Boolean matrix
⇒
Boolean expression
⇒
⇒
Returns true if expression1 is determined to be
greater than or equal to expression2.
Returns false if expression1 is determined to
be less than expression2.
Anything else returns a simplified form of the
equation.
For lists and matrices, returns comparisons
element by element.
(dot add)
.+
¶ « keys
[a,2;b,3].+[c,4;5,d]¸
x.+[c,4;5,d]¸
matrix1 .+ matrix2
expression .+ matrix1
⇒
matrix
matrix
⇒
matrix1 .+ matrix2 returns a matrix that is the
sum of each pair of corresponding elements
in matrix1 and matrix2.
expression .+ matrix1 returns a matrix that is
the sum of expression and each element in
matrix1.
530
Appendix A: Functions and Instructions
(dot subt.)
..
¶ | keys
[a,2;b,3].ì [c,4;d,5]¸
x.ì [c,4;d,5]¸
matrix1 .ì matrix2
expression .ì matrix1
⇒
⇒
matrix
matrix
matrix1 .ì matrix2 returns a matrix that is the
difference between each pair of
corresponding elements in matrix1 and
matrix2.
expression .ì matrix1 returns a matrix that is
the difference of expression and each element
in matrix1.
(dot mult.)
.ù
¶ p keys
[a,2;b,3].ù [c,4;5,d]¸
matrix1 .ù matrix2
expression .ù matrix1
⇒
matrix
matrix
⇒
x.ù [a,b;c,d]¸
matrix1 .ù matrix2 returns a matrix that is the
product of each pair of corresponding
elements in matrix1 and matrix2.
expression .ù matrix1 returns a matrix
containing the products of expression and
each element in matrix1.
(dot divide)
./
¶ e keys
[a,2;b,3]./[c,4;5,d]¸
x./[c,4;5,d]¸
matrix1 . / matrix2
expression . / matrix1
⇒
matrix
matrix
⇒
matrix1 . / matrix2 returns a matrix that is the
quotient of each pair of corresponding
elements in matrix1 and matrix2.
expression . / matrix1 returns a matrix that is
the quotient of expression and each element in
matrix1.
(dot power)
.^
¶ Z keys
[a,2;b,3].^[c,4;5,d]¸
matrix1 .^ matrix2
expression . ^ matrix1
⇒
matrix
matrix
⇒
x.^[c,4;5,d]¸
matrix1 .^ matrix2 returns a matrix where
each element in matrix2 is the exponent for
the corresponding element in matrix1.
expression . ^ matrix1 returns a matrix where
each element in matrix1 is the exponent for
expression.
(factorial)
!
TI-89: ¥ e key
expression1! expression
list1! list
matrix1!
TI-92 Plus: 2 W key
⇒
5! ¸
120
⇒
⇒
matrix
{5,4,3}! ¸
{120 24 6}
1 2
Returns the factorial of the argument.
[1,2;3,4]! ¸
[
]
6 24
For a list or matrix, returns a list or matrix of
factorials of the elements.
The TI-89 computes a numeric value for only
non-negative whole-number values.
Appendix A: Functions and Instructions
531
(append)
&
TI-89: ¥ p key
TI-92 Plus: 2 H key
"Hello " & "Nick"¸
"Hello Nick"
string1 & string2 string
⇒
Returns a text string that is string2 appended
to string1.
‰() (integrate) 2< key
‰(expression1, var[, lower] [,upper])
‰(list1,var [,order])
list
‰(matrix1,var [,order])
⇒
expression
⇒
⇒
matrix
bò aò
Returns the integral of expression1 with
respect to the variable var from lower to upper.
‰(x^2,x,a,b)¸
‰(x^2,x)¸
-
3
3
xò
Returns an anti-derivative if lower and upper
are omitted. A symbolic constant of
integration such as C is omitted.
3
aø xò
However, lower is added as a constant of
integration if only upper is omitted.
‰(aù x^2,x,c)¸
+c
3
‰(1/(2ì cos(x)),x)! tmp(x)¸
Equally valid anti-derivatives might differ by
a numeric constant. Such a constant might be
disguised—particularly when an anti-
derivative contains logarithms or inverse
trigonometric functions. Moreover, piecewise
constant expressions are sometimes added to
make an anti-derivative valid over a larger
interval than the usual formula.
ClrGraph:Graph tmp(x):Graph
1/(2ì cos(x)):Graph ‡(3)
(2tanê (‡(3)(tan(x/2)))/3)
¸
‰() returns itself for pieces of expression1 that
it cannot determine as an explicit finite
combination of its built-in functions and
operators.
‰(bù e^(ë x^2)+a/(x^2+a^2),x)
¸
When lower and upper are both present, an
attempt is made to locate any discontinuities
or discontinuous derivatives in the interval
lower < var < upper and to subdivide the
interval at those places.
For the AUTO setting of the Exact/Approx
mode, numerical integration is used where
applicable when an anti-derivative or a limit
cannot be determined.
‰(e^(ë x^2),x,ë 1,1)¥ ¸ 1.493...
For the APPROX setting, numerical
integration is tried first, if applicable. Anti-
derivatives are sought only where such
numerical integration is inapplicable or fails.
532
Appendix A: Functions and Instructions
‰(‰(ln(x+y),y,0,x),x,0,a) ¸
‰() can be nested to do multiple integrals.
Integration limits can depend on integration
variables outside them.
Note: See also nInt().
‡() (square root) 2]key
‡ (expression1) expression
‡ (list1) list
‡(4)¸
2
⇒
⇒
‡({9,a,4})¸
{3 ‡a 2}
Returns the square root of the argument.
For a list, returns the square roots of all the
elements in list1.
Π() (product) MATH/Calculus menu
1
Π(expression1, var, low, high)
⇒
expression
Π(1/n,n,1,5)¸
120
Evaluates expression1 for each value of var
from low to high, and returns the product of
the results.
Π(k^2,k,1,n)¸
(n!)ñ
Π({1/n,n,2},n,1,5)¸
1
120
{
120 32}
Π(expression1, var, low, lowì 1)
⇒
1
Π(k,k,4,3)¸
1
6
Π(expression1, var, low, high)
⇒
1/Π(expression1,
var, high+1, lowì 1) if high < lowì 1
Π(1/k,k,4,1)¸
Π(1/k,k,4,1)ù Π(1/k,k,2,4)¸
1/4
G() (sum)
MATH/Calculus menu
137
60
G(expression1, var, low, high)
⇒
expression
G(1/n,n,1,5)¸
Evaluates expression1 for each value of var
from low to high, and returns the sum of the
results.
G(k^2,k,1,n)¸
nø (n+1)ø (2ø n+1)
6
pñ
G(1/n^2,n,1,ˆ)¸
6
G(k,k,4,3)¸
0
G(expression1, var, low, lowì 1)
⇒
0
G(k,k,4,1)¸
ë 5
G(expression1, var, low, high)
var, high+1, lowì 1) if high < lowì 1
⇒
ë G(expression1,
G(k,k,4,1)+G(k,k,2,4)¸
4
Appendix A: Functions and Instructions
533
(power)
Z key
expression1 ^ expression2
list1 ^ list2 list
^
4^2¸
16
⇒
expression
⇒
{a,2,c}^{1,b,3}¸ {a 2b cò }
Returns the first argument raised to the
power of the second argument.
For a list, returns the elements in list1 raised
to the power of the corresponding elements
in list2.
In the real domain, fractional powers that
have reduced exponents with odd
denominators use the real branch versus the
principal branch for complex mode.
1
pò
expression ^ list1
⇒
list
a
p
pñ
p^{a,2,ë 3}¸
{
}
Returns expression raised to the power of the
elements in list1.
{1,2,3,4}^ë 2¸
list1 ^ expression
⇒
list
{1 1/4 1/9 1/16}
Returns the elements in list1 raised to the
power of expression.
[1,2;3,4]^2¸
[1,2;3,4]^ë 1¸
[1,2;3,4]^ë 2¸
squareMatrix1 ^ integer
⇒
matrix
Returns squareMatrix1 raised to the integer
power.
squareMatrix1 must be a square matrix.
If integer = ë 1, computes the inverse matrix.
If integer < ë 1, computes the inverse matrix
to an appropriate positive power.
(indirection)
#
CATALOG
Program segment:
# varNameString
Refers to the variable whose name is
varNameString. This lets you create and
modify variables from a program using
strings.
©
:Request "Enter Your Name",str1
:NewFold #str1
©
©
:For i,1,5,1
: ClrGraph
: Graph iù x
: StoPic #("pic" & string(i))
:EndFor
©
534
Appendix A: Functions and Instructions
(radian)
ô
MATH/Angle menu
expression1ô expression
list1ô list
matrix1ô
In Degree or Radian angle mode:
⇒
⇒
‡2
2
⇒
matrix
cos((p/4)ô )¸
In Degree angle mode, multiplies expression1
by 180/p. In Radian angle mode, returns
expression1 unchanged.
cos({0ô,(p/12)ô,ë pô })¸
( +1)ø
3
2
This function gives you a way to use a radian
angle while in Degree mode. (In Degree angle
mode, sin(), cos(), tan(), and polar-to-
rectangular conversions expect the angle
argument to be in degrees.)
{1
ë 1}
4
Hint: Use ô if you want to force radians in a
function or program definition regardless of
the mode that prevails when the function or
program is used.
(degree)
¡
2“ key
In Radian angle mode:
expression¡
list1¡
matrix1¡
⇒
value
⇒
list
⇒
‡2
2
cos(45¡)¸
matrix
In Radian angle mode, multiplies expression
by p/180. In Degree angle mode, returns
expression unchanged.
cos({0,p/4,90¡,30.12¡})¥ ¸
{1 .707... 0 .864...}
This function gives you a way to use a degree
angle while in Radian mode. (In Radian angle
mode, sin(), cos(), tan(), and polar-to-
rectangular conversions expect the angle
argument to be in radians.)
(angle)
2’ key
[5,60¡,45¡]¸
[radius,q_angle]
[radius,q_angle,Z_coordinate]
⇒
vector (polar input)
⇒
vector
In Radian mode and vector format set to:
(cylindrical input)
[radius,q_angle,f_angle]
⇒
vector
(spherical input)
rectangular
cylindrical
spherical
Returns coordinates as a vector depending
on the Vector Format mode setting:
rectangular, cylindrical, or spherical.
(magnitude angle)
⇒
complexValue (polar input)
In Radian angle mode and Rectangular
complex format mode:
Enters a complex value in (rq) polar form.
The angle is interpreted according to the
current Angle mode setting.
5+3iì (10p/4) ¸
5ì 5ø 2+(3ì 5ø 2)øi
¥¸
ë 2.071…ì 4.071…øi
Appendix A: Functions and Instructions
535
¡, ', "
2“ key (¡), 2È key ('), 2É key (")
In Degree angle mode:
25°13'17.5"¸
25°30'¸
dd¡mm'ss.ss"
⇒
expression
dd
A positive or negative number
25.221...
mm A non-negative number
ss.ss A non-negative number
51/2
Returns dd+(mm/60)+(ss.ss/3600).
This base-60 entry format lets you:
•
Enter an angle in degrees/minutes/seconds
without regard to the current angle mode.
•
Enter time as hours/minutes/seconds.
' (prime)
2 È key
variable'
variable''
Enters a prime symbol in a differential
deSolve(y''=y^(ë 1/2) and
y(0)=0 and y'(0)=0,t,y) ¸
2øy3/4
equation. A single prime symbol denotes a
1st-order differential equation, two prime
symbols denote a 2nd-order, etc.
=t
3
_ (underscore) TI-89: ¥ key TI-92 Plus: 2 key
3_m4 _ft ¸
9.842…ø_ft
expression_unit
Designates the units for an expression. All
unit names must begin with an underscore.
Note: To type 4, press 2 .
You can use pre-defined units or create
your own units. For a list of pre-defined
units, refer to the chapter about constants
and measurement units in this book. You
can press:
TI-89: 2 9
TI-92 Plus: ¥ À
to select units from a menu, or you can
type the unit names directly.
variable_
Assuming z is undefined:
real(z) ¸
real(z_) ¸
z
When variable has no value, it is treated as
though it represents a complex number. By
default, without the _, the variable is
treated as real.
real(z_)
imag(z) ¸
0
imag(z_) ¸
imag(z_)
If variable has a value, the _ is ignored and
variable retains its original data type.
Note: You can store a complex number to
a variable without using _. However, for
best results in calculations such as cSolve()
and cZeros(), the _ is recommended.
536
Appendix A: Functions and Instructions
4 (convert)
2 key
3_m4 _ft ¸
9.842…ø_ft
expression_unit1 4 _unit2
⇒
expression_unit2
Converts an expression from one unit to
another. The units must be in the same
category.
The _ underscore character designates the
units. For a list of valid pre-defined units,
refer to the chapter about constants and
measurement units in this book. You can
press:
TI-89: 2 9
TI-92 Plus: ¥ À to select units from a
menu, or you can type the unit names
directly.
To get the _ underscore when typing units
directly, press:
TI-89: ¥
TI-92 Plus: 2
Note: The 4 conversion operator does not
handle temperature units. Use tmpCnv() and
@tmpCnv() instead.
10^()
CATALOG
10^(1.5)¸
10^{0,ë 2,2,a}¸
{1
31.622...
10^ (expression1)
⇒
expression
10^ (list1) list
⇒
Returns 10 raised to the power of the
argument.
1
100
a
100 10 }
For a list, returns 10 raised to the power of
the elements in list1.
10^([1,5,3;4,2,1;6,L2,1]) ¸
10^(squareMatrix1)
⇒
squareMatrix
Returns 10 raised to the power of
squareMatrix1. This is not the same as
calculating 10 raised to the power of each
element. For information about the
calculation method, refer to cos().
1.143…E7 8.171…E6 6.675…E6
9.956…E6 7.115…E6 5.813…E6
7.652…E6 5.469…E6 4.468…E6
squareMatrix1 must be diagonalizable. The
result always contains floating-point
numbers.
Appendix A: Functions and Instructions
537
xê
CATALOG (^-1)
expression1 xê expression
list1 xê list
3.1^ë 1¸
.322581
⇒
⇒
{a,4,ë.1,xì 2}^ë 1¸
Returns the reciprocal of the argument.
1 1
1
}
{
ë 10.
a
4
xì 2
For a list, returns the reciprocals of the
elements in list1.
[1,2;3,4]^ë 1 ¸
[1,2;a,4]^ë 1 ¸
squareMatrix1 xê
⇒
squareMatrix
Returns the inverse of squareMatrix1.
squareMatrix1 must be a non-singular square
matrix.
(“with”)
|
TI-89: Í key
TI-92 Plus: 2 Í key
x+1| x=3¸
4
sin(y)+y
x+y
expression | Boolean expression1 [and Boolean
expression2]...[and Boolean expressionN]
x+y| x=sin(y)¸
x+y| sin(y)=x¸
The “with” (|) symbol serves as a binary
operator. The operand to the left of | is an
expression. The operand to the right of |
specifies one or more relations that are
intended to affect the simplification of the
expression. Multiple relations after | must be
joined by a logical “and”.
The “with” operator provides three basic
types of functionality: substitutions, interval
constraints, and exclusions.
x^3ì 2x+7! f(x)¸
Done
Substitutions are in the form of an equality,
such as x=3 or y=sin(x). To be most effective,
the left side should be a simple variable.
expression | variable = value will substitute
value for every occurrence of variable in
expression.
f(x)| x=‡(3)¸
‡3+7
(sin(x))^2+2sin(x)ì 6| sin(x)=d
¸
dñ +2dì 6
Interval constraints take the form of one or
more inequalities joined by logical “and”
operators. Interval constraints also permit
simplification that otherwise might be invalid
or not computable.
solve(x^2ì 1=0,x)|x>0 and x<2
¸
x=1
‡(x)ù ‡(1/x)|x>0¸
1
1
x
‡(x)ù ‡(1/x)¸
ø x
solve(x^2ì 1=0,x)| xƒ1¸x=ë 1
Exclusions use the “not equals” (/= or ƒ)
relational operator to exclude a specific
value from consideration. They are used
primarily to exclude an exact solution when
using cSolve(), cZeros(), fMax(), fMin(), solve(),
zeros(), etc.
538
Appendix A: Functions and Instructions
(store)
!
§key
p
4
expression ! var
list ! var
p/4! myvar¸
matrix ! var
2cos(x)! Y1(x)¸
{1,2,3,4}! Lst5¸
Done
{1 2 3 4}
1 2 3
expression ! fun_name(parameter1,...)
list ! fun_name(parameter1,...)
matrix ! fun_name(parameter1,...)
If variable var does not exist, creates var and
initializes it to expression, list, or matrix.
[1,2,3;4,5,6]! MatG¸ [
]
4 5 6
"Hello"
"Hello"! str1¸
If var already exists and if it is not locked or
protected, replaces its contents with
expression, list, or matrix.
Hint: If you plan to do symbolic
computations using undefined variables,
avoid storing anything into commonly used,
one-letter variables such as a, b, c, x, y, z, etc.
(comment)
¦
Program Editor/Control menu or
TI-89: ¥ d key
TI-92 Plus: 2 X key
Program segment:
¦ [text]
¦ processes text as a comment line, which
can be used to annotate program
instructions.
©
:¦ Get 10 points from the Graph
screen
¦ can be at the beginning or anywhere in the
line. Everything to the right of ¦, to the end
of the line, is the comment.
:For i,1,10 ¦ This loops 10
times
©
0b, 0h
TI-89: µ j [B] keys TI-92 Plus: µ B keys
TI-89: µ j [H] keys TI-92 Plus: µ H keys
0bbinaryNumber
In Dec base mode:
0hhexadecimalNumber
0b10+0hF+10 ¸
27
0b11011
0h1B
In Bin base mode:
0b10+0hF+10 ¸
Denotes a binary or hexadecimal number,
respectively. To enter a binary or hex
number, you must enter the 0b or 0h
prefix regardless of the Base mode.
Without a prefix, a number is treated as
decimal (base 10).
In Hex base mode:
0b10+0hF+10 ¸
Results are displayed according to the
Base mode.
Appendix A: Functions and Instructions
539
Reference Information
TI-89 / TI-92 Plus Error Messages ....................................................... 542
Modes....................................................................................................... 550
TI-89 / TI-92 Plus Character Codes ..................................................... 555
TI-89 Key Codes ..................................................................................... 556
TI-92 Plus Key Codes............................................................................. 559
Entering Complex Numbers ................................................................. 563
Accuracy Information............................................................................ 566
System Variables and Reserved Names .............................................. 567
EOS (Equation Operating System) Hierarchy.................................... 568
Regression Formulas ............................................................................. 570
Contour Levels and Implicit Plot Algorithm....................................... 572
Runge-Kutta Method.............................................................................. 573
B
This appendix contains a comprehensive list of TI-89 / TI-92 Plus
error messages and character codes. It also includes information
about how certain TI-89 / TI-92 Plus operations are calculated.
For additional information, refer to Appendix C. For example, if
you have difficulty operating the TI-89 / TI-92 Plus, Appendix C
contains an “In Case of Difficulty” section that gives suggestions
that may help you correct the problem.
Appendix B: Reference Information
541
TI-89 / TI-92 Plus Error Messages
This section lists error messages that may be displayed when input or internal errors are
encountered. The number to the left of each error message represents an internal error
number that is not displayed. If the error occurs inside a Try...EndTry block, the error
number is stored in system variable errornum. Many of the error messages are self-
explanatory and do not require descriptive information. However, additional information
has been added for some error messages.
Error
Number Description
10
20
A function did not return a value
A test did not resolve to TRUE or FALSE
Generally, undefined variables cannot be compared. For example, the test
If a<b will cause this error if either a or b is undefined when the If statement
is executed.
30
40
50
Argument cannot be a folder name
Argument error
Argument mismatch
Two or more arguments must be of the same type. For example,
PtOn expression1,expression2 and PtOn list1,list2 are both valid, but
PtOn expression,list is a mismatch.
60
70
Argument must be a Boolean expression or integer
Argument must be a decimal number
Argument must be a label name
Argument must be a list
80
90
100
110
120
130
140
Argument must be a matrix
Argument must be a Pic
Argument must be a Pic or string
Argument must be a string
Argument must be a variable name
For example, DelVar 12 is invalid because a number cannot be a variable
name.
150
Argument must be an empty folder name
542
Appendix B: Reference Information
Error
Number Description
160
Argument must be an expression
For example, zeros(2x+3=0,x) is invalid because the first argument is an
equation.
161
163
165
ASAP or Exec string too long
Attribute (8-digit number) of object (8-digit number) not found
Batteries too low for sending/receiving product code
Install new batteries before sending or receiving product software (base
code).
170
180
Bound
For the interactive graph math functions like 2:Zero, the lower bound must
be less than the upper bound to define the search interval.
Break
The ´key was pressed during a long calculation or during program
execution.
185
190
Checksum error
Circular definition
This message is displayed to avoid running out of memory during infinite
replacement of variable values during simplification. For example, a+1! a,
where a is an undefined variable, will cause this error.
200
Constraint expression invalid
For example, solve(3x^2ì 4=0, x) | x<0 or x>5 would produce this error
message because the constraint is separated by “or” and not “and.”
210
220
Data type
An argument is of the wrong data type.
Dependent limit
A limit of integration is dependent on the integration variable. For example,
‰(x^2,x,1,x) is not allowed.
225
230
Diff Eq setup
Dimension
A list or matrix index is not valid. For example, if the list {1,2,3,4} is stored
in L1, then L1[5] is a dimension error because L1 only contains four
elements.
240
250
Dimension mismatch
Two or more arguments must be of the same dimension. For example,
[1,2]+[1,2,3] is a dimension mismatch because the matrices contain a
different number of elements.
Divide by zero
Appendix B: Reference Information
543
Error
Number Description
260
Domain error
An argument must be in a specified domain. For example, ans(100) is not
valid because the argument for ans() must be in the range 1–99.
270
280
290
295
300
307
308
310
Duplicate variable name
Else and ElseIf invalid outside of If..EndIf block
EndTry is missing the matching Else statement
Excessive iteration
Expected 2 or 3-element list or matrix
Flash application extension (function or program) not found
Flash application not found
First argument of nSolve must be a univariate equation
The first argument must be an equation, and the equation cannot contain a
non-valued variable other than the variable of interest. For example,
nSolve(3x^2ì 4=0, x) is a valid equation; however, nSolve(3x^2ì 4, x) is not an
equation, and nSolve(3x^2ì y=0,x) is not a univariate equation because y has
no value in this example.
320
330
First argument of solve or cSolve must be an equation or inequality
For example, solve(3x^2ì 4, x) is invalid because the first argument is not an
equation.
Folder
An attempt was made in the VAR-LINK menu to store a variable in a folder
that does not exist.
335
345
350
360
380
390
400
Graph functions y1(x)...y99(x) not available in Diff Equations mode
Inconsistent units
Index out of range
Indirection string is not a valid variable name
Invalid ans()
Invalid assignment
Invalid assignment value
544
Appendix B: Reference Information
Error
Number Description
405
410
420
430
440
Invalid axes
Invalid command
Invalid folder name
Invalid for the current mode settings
Invalid implied multiply
For example, x(x+1) is invalid; whereas, xù (x+1) is the correct syntax. This is
to avoid confusion between implied multiplication and function calls.
450
Invalid in a function or current expression
Only certain commands are valid in a user-defined function. Entries that are
made in the Window Editor, Table Editor, Data/Matrix Editor, and Solver as
well as system prompts such as Lower Bound cannot contain any commands
or a colon (:). See also “Creating and Evaluating User-Defined Functions” in
Chapter 5.
460
470
480
490
500
Invalid in Custom..EndCustm block
Invalid in Dialog..EndDlog block
Invalid in Toolbar..EndTBar block
Invalid in Try..EndTry block
Invalid label
Label names must follow the same rules used for naming variables.
510
520
Invalid list or matrix
For example, a list inside a list such as {2,{3,4}} is not valid.
Invalid outside Custom..EndCustm or ToolBar..EndTbar blocks
For example, an Item command is attempted outside a Custom or ToolBar
structure.
530
540
550
Invalid outside Dialog..EndDlog, Custom..EndCustm, or ToolBar..EndTBar blocks
For example, a Title command is attempted outside a Dialog, Custom, or
ToolBar structure.
Invalid outside Dialog..EndDlog block
For example, the DropDown command is attempted outside a Dialog
structure.
Invalid outside function or program
A number of commands are not valid outside a program or a function. For
example, Local cannot be used unless it is in a program or function.
Appendix B: Reference Information
545
Error
Number Description
560
570
Invalid outside Loop..EndLoop, For..EndFor, or While..EndWhile blocks
For example, the Exit command is valid only inside these loop blocks.
Invalid pathname
For example, \\var is invalid.
575
580
Invalid polar complex
Invalid program reference
Programs cannot be referenced within functions or expressions such as
1+p(x) where p is a program.
590
Invalid syntax block
A Dialog..EndDlog block is empty or has more than one title. A
Custom..EndCustm block cannot contain PIC variables, and items must be
preceded by a title. A Toolbar..EndTBar block must have a second argument
if no items follow; or items must have a second argument and must be
preceded by a title.
600
605
610
620
630
640
650
Invalid table
Invalid use of units
Invalid variable name in a Local statement
Invalid variable or function name
Invalid variable reference
Invalid vector syntax
Link transmission
A transmission between two units was not completed. Verify that the
connecting cable is connected firmly to both units.
665
Matrix not diagonalizable
670
673
Memory
The calculation required more memory than was available at that time. If
you get this error when you run a large program, you may need to break the
program into separate, smaller programs or functions (where one program
or function calls another).
680
Missing (
546
Appendix B: Reference Information
Error
Number Description
690
700
710
720
730
740
750
765
780
Missing )
Missing "
Missing ]
Missing }
Missing start or end of block syntax
Missing Then in the If..EndIf block
Name is not a function or program
No functions selected
No solution found
Using the interactive math features (F5:Math) in the Graph application can
give this error. For example, if you attempt to find an inflection point of the
parabola y1(x)=xñ , which does not exist, this error will be displayed.
790
800
810
Non-algebraic variable in expression
If a is the name of a PIC, GDB, MAC, FIG, etc., a+1 is invalid. Use a different
variable name in the expression or delete the variable.
Non-real result
For example, if the unit is in the REAL setting of the Complex Format mode,
ln(ë 2) is invalid.
Not enough memory to save current variable. Please delete unneeded variables on
the Var-Link screen and re-open editor as current OR re-open editor and use F1 8 to
clear editor.
This error message is caused by very low memory conditions inside the
Data/Matrix Editor.
830
840
Overflow
Plot setup
Appendix B: Reference Information
547
Error
Number Description
850
Program not found
A program reference inside another program could not be found in the
provided path during execution.
860
870
875
880
885
890
895
900
910
Recursion is limited to 255 calls deep
Reserved name or system variable
ROM-resident routine not available
Sequence setup
Signature error
Singular matrix
Slope fields need one selected function and are used for 1st-order equations only
Stat
Syntax
The structure of the entry is incorrect. For example, x+ì y (x plus minus y)
is invalid; whereas, x+ë y (x plus negative y) is correct.
930
940
Too few arguments
The expression or equation is missing one or more arguments. For
example, d(f(x)) is invalid; whereas, d(f(x),x) is the correct syntax.
Too many arguments
The expression or equation contains an excessive number of arguments
and cannot be evaluated.
950
955
Too many subscripts
Too many undefined variables
Undefined variable
960
965
Unlicensed product software or Flash application
Variable in use so references or changes are not allowed
Variable is locked, protected, or archived
Variable name is limited to 8 characters
Window variables domain
970
980
990
1000
1010
Zoom
548
Appendix B: Reference Information
Error
Number Description
Warning: ˆ^0 or undef^0 replaced by 1
Warning: 0^0 replaced by 1
Warning: 1^ˆ or 1^undef replaced by 1
Warning: cSolve may specify more zeros
Warning: May produce false equation
Warning: Expected finite real integrand
Warning: May not be fully simplified
Warning: More solutions may exist
Warning: May introduce false solutions
Warning: Operation may lose solutions
Warning: Requires & returns 32 bit value
Warning: Overflow replaced by ˆ or ë ˆ
Warning: Questionable accuracy
Warning: Questionable solution
Warning: Solve may specify more zeros
Warning: Trig argument too big to reduce
Appendix B: Reference Information
549
Modes
This section describes the modes of the TI-89 / TI-92 Plus and
lists the possible settings of each mode. These mode settings
are displayed when you press 3.
Specifies the type of graphs you can plot.
Graph
1:FUNCTION
2:PARAMETRIC
3:POLAR
y(x) functions (Chapter 6)
x(t) and y(t) parametric equations (Chapter 7)
r(q) polar equations (Chapter 8)
u(n) sequences (Chapter 9)
4:SEQUENCE
5:3D
z(x,y) 3D equations (Chapter 10)
6:DIFF EQUATIONS y'(t) differential equations (Chapter 11)
Note: If you use a split screen with Number of Graphs = 2, Graph is for
the top or left part of the screen and Graph 2 is for the bottom or
right part.
Specifies the current folder. You can set up multiple folders with
unique configurations of variables, graph databases, programs, etc.
Current Folder
Note: For detailed
information about using
folders, see Chapter 5.
1:main
Default folder included with the TI-89 / TI-92 Plus.
2: —
(custom folders)
Other folders are available only if they have been
created by a user.
Selects the number of digits. These decimal settings affect only how
results are displayed—you can enter a number in any format.
Display Digits
Internally, the TI-89 / TI-92 Plus retains decimal numbers with 14
significant digits. For display purposes, such numbers are rounded to
a maximum of 12 significant digits.
1:FIX 0
2:FIX 1
…
Results are always displayed with the selected
number of decimal places.
D:FIX 12
E:FLOAT
The number of decimal places varies, depending
on the result.
F:FLOAT 1
G:FLOAT 2
…
If the integer part has more than the selected
number of digits, the result is rounded and
displayed in scientific notation.
Q:FLOAT 12
For example, in FLOAT 4:
12345. is shown as 1.235E4
550
Appendix B: Reference Information
Specifies the units in which angle values are interpreted and
displayed in trig functions and polar/rectangular conversions.
Angle
1:RADIAN
2:DEGREE
Specifies which notation format should be used. These formats
affect only how an answer is displayed; you can enter a number in
any format. Numeric answers can be displayed with up to 12 digits
and a 3-digit exponent.
Exponential Format
1:NORMAL
Expresses numbers in standard format. For
example, 12345.67
2:SCIENTIFIC
Expresses numbers in two parts:
¦
The significant digits display with one digit to
the left of the decimal.
¦
The power of 10 displays to the right of E.
For example, 1.234567E4 means 1.234567×104
3:ENGINEERING
Similar to scientific notation. However:
¦
The number may have one, two, or three
digits before the decimal.
¦
The power-of-10 exponent is a multiple of
three.
For example, 12.34567E3 means 12.34567×103
Note: If you select NORMAL, but the answer cannot be displayed in
the number of digits selected by Display Digits, the TI-89 / TI-92 Plus
displays the answer in SCIENTIFIC notation. If Display Digits = FLOAT,
scientific notation will be used for exponents of 12 or more and
exponents of ì4 or less.
Specifies whether complex results are displayed and, if so, their
format.
Complex Format
1:REAL
Does not display complex results. (If a result is a
complex number and the input does not contain
the complex unit i, an error message is
displayed.)
2:RECTANGULAR Displays complex numbers in the form: a+bi
3:POLAR
Displays complex numbers in the form: rei q
Appendix B: Reference Information
551
Determines how 2-element and 3-element vectors are displayed. You
can enter vectors in any of the coordinate systems.
Vector Format
1:RECTANGULAR Coordinates are in terms of x, y, and z. For
example, [3,5,2] represents x = 3, y = 5, and z = 2.
2:CYLINDRICAL
3:SPHERICAL
Coordinates are in terms of r, q, and z. For
example, [3,∠45,2] represents r = 3, q = 45, and
z = 2.
Coordinates are in terms of r, q, and f. For
example, [3, ∠45, ∠90] represents r = 3, q = 45, and
f = 90.
Determines how results are displayed on the Home screen.
Pretty Print
1:OFF
Results are displayed in a linear, one-
dimensional form.
For example, p^2, p/2, or ‡((x-3)/x)
2:ON
Results are displayed in conventional
mathematical format.
xì3
p
For example, p2, , or
x
2
Note: For a complete description of these settings, refer to “Formats
of Displayed Results” in Chapter 2.
Lets you split the screen into two parts. For example, you can
display a graph and see the Y= Editor at the same time (Chapter 14).
Split Screen
1:FULL
The screen is not split.
2:TOP-BOTTOM
The applications are shown in two screens that
are above and below each other.
3:LEFT-RIGHT
The applications are shown in two screens that
are to the left and right of each other.
To determine what and how information is displayed on a split
screen, use this mode in conjunction with other modes such as
Split 1 App, Split 2 App, Number of Graphs, and Split Screen Ratio. (Split
Screen Ratio is available on the TI-92 Plus only.)
552
Appendix B: Reference Information
Specifies which application is displayed on the screen.
Split 1 App
and
Split 2 App
¦
¦
For a full screen, only Split 1 App is active.
For a split screen, Split 1 App is the top or left part of the screen
and Split 2 App is the bottom or right part.
The available application choices are those listed when you press B
from the Page 2 mode screen or when you press O. You must have
different applications in each screen unless you are in 2-graph mode.
Specifies whether both parts of a split screen can display graphs at
the same time.
Number of Graphs
1
2
Only one part can display graphs.
Both parts can display an independent graph
screen (Graph or Graph 2 setting) with
independent settings.
Specifies the type of graphs that you can plot for the second graph
on a two-graph split screen. This is active only when Number of
Graphs = 2. In this two-graph setting, Graph sets the type of graph for
the top or left part of the split screen, and Graph 2 sets the bottom or
right part. The available choices are the same as for Graph.
Graph 2
Specifies the proportional sizes of the two parts of a split screen.
Split Screen Ratio
(TI-92 Plus only)
1:1
1:2
The screen is split evenly.
The bottom or right part is approximately twice
the size of the top or left part.
2:1
The top or left part is approximately twice the
size of the bottom or right part.
Specifies how fractional and symbolic expressions are calculated
and displayed. By retaining rational and symbolic forms in the
EXACT setting, the TI-89 / TI-92 Plus increases precision by
eliminating most numeric rounding errors.
Exact/Approx
1:AUTO
Uses EXACT setting in most cases. However,
uses APPROXIMATE if the entry contains a
decimal point.
2:EXACT
Displays non-whole-number results in their
rational or symbolic form.
3:APPROXIMATE Displays numeric results in floating-point form.
Note: For a complete description of these settings, refer to “Formats
of Displayed Results” in Chapter 2.
Appendix B: Reference Information
553
Lets you perform calculations by entering numbers in decimal,
binary, or hexadecimal form.
Base
Decimal numbers use 0 - 9 in the base 10 format
1:DEC
Hexadecimal numbers use 0 - 9 and A - F in the
base 16 format.
2:HEX
Binary numbers use 0 and 1 in the base 2 format.
3:BIN
Lets you enter a unit for values in an expression, such as 6_m * 4_m
or 23_m/_s * 10_s, convert values from one unit to another within the
same category, and create your own user-defined units.
Unit System
1:SI
Select SI for the metric system of measurements
2:ENG/US
Select ENG/US for the non-metric system of
measurements
Allows you to select custom defaults.
3:CUSTOM
Lets you select custom defaults. This mode is dimmed until you
select Unit System, 3:CUSTOM.
Custom Units
Language
Lets you localize the TI-89 / TI-92 Plus into one of several languages,
depending on which language Flash applications are installed.
1:English
Default language included with the
TI-89 / TI-92 Plus base code.
2: —
(language Flash
applications)
Alternate languages are available only if the
respective language Flash applications have
been installed.
554
Appendix B: Reference Information
TI-89 / TI-92 Plus Character Codes
The char() function lets you refer to any character by its numeric character code. For
example, to display 2 on the Program I/O screen, use Disp char(127). You can use
ord() to find the numeric code of a character. For example, ord("A")returns 65.
o
1. SOH
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
&
'
(
)
*
+
,
ì
.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100. d
101. e
102. f
103. g
104. h
105. i
106. j
107. k
108. l
109. m
110. n
111. o
K
L
112. p
113. q
114. r
115. s
116. t
117. u
118. v
119. w
120. x
121. y
122. z
123. {
149.
150. e
151. i
152.
E
186.
223. ß
224. à
225. á
226. â
227. ã
228. ä
229. å
230. æ
231. ç
232. è
233. é
234. ê
235. ë
236. ì
237. í
238. î
239. ï
240. ð
241. ñ
242. ò
243. ó
244. ô
245. õ
246. ö
247. ÷
248. ø
249. ù
250. ú
251. û
252. ü
253. ý
254. þ
255. ÿ
2.
3.
4.
STX
ETX
EOT
187. »
188. d
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
[
\
]
^
_
`
a
b
c
r
189.
‰
5. ENQ
153. î
154. ü
155. ý
156.
157. ƒ
158. ‚
159.
160. …
161. ¡
162. ¢
163. £
164. ¤
165. ¥
166.
167. §
168.
169. ¦
170.
171. «
172. ¬
173. -
174. ®
175.
176.
190. ˆ
191. ¿
192. À
193. Á
194. Â
195. Ã
196. Ä
197. Å
198. Æ
199. Ç
200. È
201. É
202. Ê
203. Ë
204. Ì
205. Í
206. Î
207. Ï
208. Ð
209. Ñ
210. Ò
211. Ó
212. Ô
213. Õ
214. Ö
215. ×
216. Ø
217. Ù
218. Ú
219. Û
220. Ü
221. Ý
222. Þ
6.
ACK
7. BELL
8.
9.
BS
TAB
10. LF
/
11.
÷
0
1
2
3
4
5
6
7
8
9
:
12. FF
13. CR
14.
124.
|
125. }
126. ~
127. 2
128. α
129. β
130. Γ
131. γ
132. ∆
133. δ
134. ε
135. ζ
136. θ
137. λ
138. ξ
139. Π
140. π
141. ρ
142. Σ
143. σ
144. τ
145. φ
146. ψ
147. Ω
148. ω
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
Ÿ
é
7
8
9
:
←
→
↑
¦
‡
a
;
<
=
>
?
@
A
B
C
D
E
F
G
H
I
↓
25. 3
26. 4
-
27.
28.
29.
30.
31.
'
∪
∩
⊂
∈
¡
177. „
178. ñ
179. ò
180. ê
181. µ
182. ¶
183. ø
32. SPACE
33.
34.
35.
36.
37.
!
"
#
$
%
+
184.
185. ¹
J
Appendix B: Reference Information
555
TI-89 Key Codes
The getKey() function returns a value that corresponds to the last key pressed, according
to the tables shown in this section. For example, if your program contains a getKey()
function, pressing 2 ˆ will return a value of 273.
Table 1: Key Codes for Primary Keys
Key
Modifier
None
Assoc.
¤
2
¥
j
Value
268
269
270
271
272
Assoc.
F1
Value
268
Assoc.
Value
273
Assoc.
Value
Assoc.
Value
268
269
270
271
272
ƒ
„
F1
F2
F3
F4
F5
F6
Y=
8460
F1
F2
F3
F4
F5
F2
269
F7
274
WINDOW 8461
…
F3
270
F8
275
GRAPH
TblSet
8462
8463
8464
†
F4
271
F4
271
‡
F5
272
F5
272
TABLE
¥
COPY
24576
CUT
12288
j
N
O
"
3
½
0
a-lock
ESC
264
265
277
266
278
257
263
120
121
122
116
94
ESC
264
265
277
266
278
257
263
88
QUIT
4360
4361
4373
18
PASTE
8456
8457
277
ESC
264
265
277
266
278
257
263
120
121
122
116
94
APPS
APPS
SWITCH
APPS
HOME
HOME
CUST
HOME
_
HOME
MODE
MODE
4
95
MODE
CATLG
CATLG
i
151
∞
190
CATLG
BS
BS
INS
4353
263
DEL
8449
8455
8280
8281
8282
8276
136
BS
M
Ù
CLEAR
CLEAR
CLEAR
CLEAR
x
y
z
t
X
Y
Z
T
^
LN
4184
4185
4186
4180
140
ex
SIN-1
COS-1
TAN-1
θ
x
y
z
t
Ú
89
SIN
Û
90
COS
Ü
84
TAN
Z
^
|
94
π
°
^
f
Í
124
40
F
B
C
D
E
J
70
176
Format d/b
8316
102
98
c
(
66
{
123
b
c
d
e
j
d
)
41
67
}
125
¦
169
8236
33
99
b
,
44
68
[
91
100
101
106
111
117
e
/
47
69
]
93
!
p
*
-
42
74
‡
4138
&
38
|
45
O
U
79
VAR-LNK 4141
CHAR 4139
Contr. -
Contr. +
o
u
«
+
43
85
556
Appendix B: Reference Information
Table 1: Key Codes for Primary Keys (Continued)
Key
Modifier
None
Assoc.
¤
2
¥
j
Value
13
Assoc.
Value
13
80
65
75
32
87
86
81
82
83
76
77
78
71
72
73
Assoc.
Value
4109
4354
39
Assoc.
Value
8205
64
Assoc.
Value
13
¸
§
Á
CR
CR
ENTRY
APPROX
CR
STO4
258
61
P
RCL
@
ƒ
p
112
97
=
EE
-
A
'
157
a
^
·
¶
149
173
46
K
∠
159
4372
62
SYMB
8341
8365
158
k
107
32
SPACE
ANS
SPACE
.
W
V
Q
R
S
L
>
‚
w
v
q
r
119
118
113
114
115
108
109
110
103
104
105
µ
0
1
2
3
4
5
6
7
8
9
48
<
60
156
¨
49
"
34
8241
8242
8243
8244
8245
8246
8247
8248
8249
©
50
\
92
ª
51
UNITS
4147
58
s
l
y
52
:
z
53
M
N
G
H
I
MATH
4149
4150
4151
4152
59
m
n
g
h
i
{
54
MEM
m
55
∫
d
;
n
56
o
57
Table 2: Arrow Keys (including diagonal movement)
Key
C
Normal
338
¤
2
¥
j
16722
16724
16728
16721
16723
16726
16729
16732
4434
4436
4440
4433
4435
4438
4441
4444
8530
8532
8536
8529
8531
8534
8537
8540
33106
33108
33112
33105
33107
33110
33113
33116
B
340
D
344
A
337
C and A
C and B
D and A
D and B
339
342
345
348
Appendix B: Reference Information
557
Table 3: Greek Letters (prefixed by ¥ c)
Keys
Second modifier
j
¤
Assoc.
Value
128
129
133
134
145
131
137
181
140
141
143
144
148
138
146
135
Assoc.
Value
132
Á
c
b
e
Í
m
y
z
[A]
α
β
δ
ε
[B]
[D]
[E]
[F]
[G]
[L]
[M]
∆
Γ
φ
γ
130
λ
µ
π
ρ
σ
τ
§ [P]
Π
Σ
139
142
147
©
ª
Ü
¶
Ù
Ú
Û
[R]
[S]
[T]
[W]
ω
ξ
Ω
ψ
ζ
558
Appendix B: Reference Information
TI-92 Plus Key Codes
The getKey() function returns a value that corresponds to the last key pressed, according
to the tables shown in this section. For example, if your program contains a getKey()
function, pressing 2 ƒ will return a value of 268.
Table 1: Key Codes for Primary Keys
Key
Modifier
None
¤
2
¥
Assoc.
Value Assoc.
Value Assoc.
Value Assoc.
Value
8460
8461
8462
8463
8464
8465
8466
8467
8458
8455
8454
8456
8457
8205
8451
8452
8453
8286
8232
8233
8236
8239
8234
ƒ
F1
F2
268
269
270
271
272
273
274
275
266
263
262
264
265
13
F1
F2
268
269
270
271
272
273
274
275
266
263
262
264
265
13
F1
F2
268
269
„
…
F3
F3
F3
270
†
F4
F4
F4
271
‡
F5
F5
F5
272
ˆ
F6
F6
F6
273
‰
F7
F7
F7
274
Š
F8
F8
F8
275
3
M
x
N
O
¸
W
X
Y
Z
MODE
CLEAR
LN
ESC
APPS
CR
SIN
COS
TAN
^
MODE
CLEAR
LN
ESC
APPS
CR
SIN
COS
TAN
^
MODE
CLEAR
266
263
x
e
4358
4360
4361
QUIT
SWITCH
ENTRY
4109
4355
4356
4357
140
123
125
91
APPROX
-1
259
260
261
94
259
260
261
94
SIN
-1
COS
-1
TAN
p
c
(
40
(
40
{
}
d
)
41
)
41
b
,
44
,
44
[
e
/
47
/
47
]
93
√
p
*
42
*
42
4138
|
-
45
-
45
VAR-LNK
CHAR
RCL
4141 Contrast ì
«
+
43
+
43
4139 Contrast +
§
SPACE
STO4
258
32
STO4
258
32
4354
32
8450
8224
8253
8449
8328
8365
8238
Á
0
=
61
=
61
\
INS
:
92
BS
257
136
173
46
BS
257
136
173
46
4353
58
DEL
θ
θ
Ï
·
¶
-
.
-
.
ANS
>
4372
62
Appendix B: Reference Information
559
Table 1: Key Codes for Primary Keys (Continued)
Key
Modifier
None
¤
2
¥
Assoc.
Value Assoc.
Value Assoc.
Value Assoc.
60
Value
8240
8241
8242
8243
8244
8245
8246
8247
8248
µ
¨
©
ª
y
z
{
m
n
0
1
2
3
4
5
6
7
8
48
49
50
51
52
53
54
55
56
0
1
2
3
4
5
6
7
8
48
49
50
51
52
53
54
55
56
<
E
149
CATLG
CUST
Σ
4146
4147
4148
MATH
MEM
4149
4150
VAR-LNK
4151
‰
4152
o
δ
9
a
b
c
d
e
f
57
97
9
A
B
C
D
E
F
57
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
4153
8249
8257
8258
8259
8260
8261
8262
8263
8264
8265
8266
8267
8268
8269
8270
8271
8272
8273
8274
8275
8276
8277
8278
8279
8280
8281
8282
A
B
C
D
E
F
Table 3
98
‘
39
99
Table 4
COPY
176
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
°
Table 5
WINDOW
∠
159
FORMAT
G
H
I
g
h
i
G
H
I
Table 6
&
38
151
190
124
34
i
∞
J
J
K
L
k
l
K
L
|
KEY
“
M
N
O
P
Q
R
S
T
m
n
o
p
q
r
M
N
O
P
Q
R
S
T
;
59
Table 7
NEW
OPEN
UNITS
HOME
GRAPH
SAVE
Table 8
_
95
63
?
@
64
β
s
t
223
35
#
Table 9
≠
TblSet
U
V
W
X
Y
Z
u
v
w
x
y
z
U
V
W
X
Y
Z
157
33
PASTE
Y=
!
¦
169
18
CUT
4
TABLE
90 Caps Lock
560
Appendix B: Reference Information
Table 2: Arrow Keys
¤
2
4434
4438
4436
4444
4440
4441
4433
4435
¥
‚
Arrow Keys
Normal
338
C
16722
16726
16724
16732
16728
16729
16721
16723
8530
8534
8532
8540
8536
8537
8529
8531
33106
33110
33108
33116
33112
33113
33105
33107
E
B
F
D
G
A
H
342
340
348
344
345
337
339
Note: The Grab (‚)modifier only affects the arrow keys.
Table 3: Grave Letters (prefixed by 2 A)
¤
Key
A
Assoc.
Normal
224
à
è
ì
192
200
204
210
217
E
232
I
236
O
U
ò
ù
242
249
Table 4: Cedilla Letters (prefixed by 2 C)
¤
Key
Assoc.
Normal
C
ç
231
199
Table 5: Acute Accent Letters (prefixed by 2 E)
¤
193
201
205
211
218
221
Key
A
Assoc.
Normal
225
á
é
í
E
233
I
237
O
U
ó
ú
ý
243
250
Y
253
Appendix B: Reference Information
561
Table 6: Greek Letters (prefixed by 2 G)
¤
132
130
Key
A
Assoc.
Normal
128
129
133
134
145
131
137
181
140
141
143
144
148
138
146
135
α
β
δ
ε
B
D
E
φ
γ
F
G
L
λ
µ
π
ρ
σ
τ
M
P
139
142
147
R
S
T
ω
ξ
W
X
ψ
ζ
Y
Z
Table 7: Tilde Letters (prefixed by 2 N)
¤
Key
N
Assoc.
Normal
241
ñ
õ
209
O
245
Table 8: Caret Letters (prefixed by 2 O)
¤
194
202
206
212
219
Key
A
Assoc.
Normal
226
â
ê
î
E
234
I
238
O
U
ô
û
244
251
Table 9: Umlaut Letters (prefixed by 2 U)
¤
196
203
207
214
220
Key
A
Assoc.
Normal
228
ä
ë
ï
E
235
I
239
O
U
ö
ü
ÿ
246
252
Y
255
562
Appendix B: Reference Information
Entering Complex Numbers
You can enter complex numbers in the polar form (rq), where
r is the magnitude and q is the angle, or polar form reiq. You
can also enter complex numbers in rectangular form a+bi
A complex number has real and imaginary components that identify
a point in the complex plane. These components are measured along
the real and imaginary axes, which are similar to the x and y axes in
the real plane.
Overview of
Complex Numbers
Imaginary
The point can be expressed in
rectangular form or in either of
two polar forms.
Expressed as
a+bi, rei q , or
(rq)
a
r
b
The i symbol represents the
imaginary number ÀL1 .
θ
Real
As shown below, the form that you can enter depends on the current
Angle mode.
You can use the form:
When the Angle mode setting is:
a+bi
Radian or Degree
reiq
Radian only
(In Degree angle mode, this form causes a
Domain error.)
(rq)
Radian or Degree
Use the following methods to enter a complex number.
To enter the:
Do this:
Note:
press 2 ), do not
simply type an alphabetic i.
To get the i symbol,
Rectangular form
a+bi
Substitute the applicable values or variable
names for a and b.
a « b 2 )
For example:
Appendix B: Reference Information
563
To enter the:
Do this:
Important: Do not use the
reiq polar form in Degree
angle mode. It will cause a
Domain error.
Polar form
reiq
– or –
Substitute the applicable values or variable
names for r and q, where q is interpreted
according to the Angle mode setting.
(rq)
TI.89:
Note: To get the e symbol,
press:
TI.89: ¥ s.
TI.92 Plus: 2 s
Do not simply type an
alphabetic e.
j [R] ¥ s 2 ) ¥ Ï d
– or –
c j [R] 2 ’ ¥ Ï d
Parentheses are
required for the
(rq) form.
TI.92 Plus:
R 2 s 2 ) Ï d
– or –
c R 2 ’ Ï d
Tip: To get the symbol,
press 2 ’.
Tip: To enter q in degrees
for (rq), you can type a ¡
symbol (such as 45¡). To
get the ¡ symbol, press
For example:
2 “. You should not use
degrees for reiq
.
Results are shown in rectangular
form, but you can select polar form.
Use 3 to set the
Complex Format mode
to one of three settings.
Complex Format
Mode for Displaying
Results
You can enter a complex number at any time, regardless of the
Complex Format mode setting. However, the mode setting determines
how results are displayed.
If Complex Format is:
The TI.89 / TI.92 Plus:
Note: You can enter
complex numbers in any
form (or a mixture of all
forms) depending on the
Angle mode.
REAL
Will not display complex results unless you:
¦
¦
Enter a complex number.
– or –
Use a complex function such as
cFactor(), cSolve(), or cZeros().
If complex results are displayed, they will
be shown in either a+bi or reiq form.
RECTANGULAR
POLAR
Displays complex results as a+bi.
Displays complex results as:
¦
reiq if the Angle mode = Radian
– or –
¦
(rq) if the Angle mode = Degree
564
Appendix B: Reference Information
Regardless of the Complex Format mode setting, undefined variables
are treated as real numbers. To perform complex symbolic analysis,
you can use either of the following methods to set up a complex
variable.
Using Complex
Variables in
Symbolic
Calculations
Method 1: Use an underscore _ (TI.89: ¥ TI.92 Plus: 2 ) as
the last character in the variable name to designate a complex
variable. For example:
Note: For best results in
calculations such as
cSolve() and cZeros(), use
Method 1.
z_ is treated as a
complex variable
(unless z already
exists, in which case
it retains its existing
data type).
Method 2: Define a complex variable. For example:
x+yi!z
Then z is treated as a
complex variable.
Radian angle mode is recommended for complex number
calculations. Internally, the TI-89 / TI-92 Plus converts all entered trig
values to radians, but it does not convert values for exponential,
logarithmic, or hyperbolic functions.
Complex Numbers
and Degree Mode
Note: If you use Degree
angle mode, you must make
polar entries in the form
(rq). In Degree angle
mode, an reiq entry causes
an error.
In Degree angle mode, complex identities such as e^(iq) = cos(q) +
i sin(q) are not generally true because the values for cos and sin are
converted to radians, while those for e^( ) are not. For example,
e^(i45) = cos(45) + i sin(45) is treated internally as e^(i45) =
cos(p/4) + i sin(p/4). Complex identities are always true in Radian
angle mode.
Appendix B: Reference Information
565
Accuracy Information
To maximize accuracy, the TI-89 / TI-92 Plus carries more digits
internally than it displays.
Floating-point (decimal) values in memory are stored using up to 14
digits with a 3-digit exponent.
Computational
Accuracy
¦
For min and max Window variables (xmin, xmax, ymin, ymax, etc.),
you can store values using up to 12 digits. Other Window
variables use 14 digits.
¦
When a floating-point value is displayed, the displayed value is
rounded as specified by the applicable mode settings (Display
Digits, Exponential Format, etc.), with a maximum of 12 digits and a
3-digit exponent.
¦
RegEQ displays up to 14-digit coefficients.
Integer values in memory are stored using up to 614 digits.
The Window variable xmin is the center of the leftmost pixel used,
and xmax is the center of the rightmost pixel used. @x is the distance
between the centers of two horizontally adjacent pixels.
Graphing Accuracy
Note: For a table that lists
the number of pixels in a full
screen or split screen, refer
to “Setting and Exiting the
Split Screen Mode” in
Chapter 14.
¦
¦
@x is calculated as (xmax ì xmin) / (# of x pixels ì 1).
If @x is entered from the Home screen or a program, xmax is
calculated as xmin + @x ù (# of x pixels ì 1).
The Window variable ymin is the center of the bottom pixel used, and
ymax is the center of the top pixel used. @y is the distance between
the centers of two vertically adjacent pixels.
¦
¦
@y is calculated as (ymax ì ymin) / (# of y pixels ì 1).
If @y is entered from the Home screen or a program, ymax is
calculated as ymin + @y ù (# of y pixels ì 1).
Cursor coordinates are displayed as eight characters (which may
include a negative sign, decimal point, and exponent). The
coordinate values (xc, yc, zc, etc.) are updated with a maximum of
12-digit accuracy.
566
Appendix B: Reference Information
System Variables and Reserved Names
This section lists the names of system variables and reserved
function names that are used by the TI-89 / TI-92 Plus. Only
those system variables and reserved function names that are
identified by an asterisk (*) can be deleted by using DelVar var
on the entry line.
y1(x)–y99(x)*
xt1(t)–xt99(t)*
ui1–ui99*
tc
y1'(t)–y99'(t)* yi1–yi99*
yt1(t)– yt99(t)* z1(x,y)–z99(x,y)* u1(n)–u99(n)*
r1(q)–r99(q)*
Graph
xc
yc
zc
nc
rc
qc
xfact
xmax
ymax
@x
zscl
ncontour
tmin
tplot
Estep
yfact
xscl
yscl
zfact
xgrid
ygrid
zmin
eyef
qmax
tstep
diftol
fldres
plotStep
xmin
ymin
xres
zmax
eyeψ
qstep
t0
dtime
nmin
sysMath
@y
eyeq
qmin
tmax
ncurves
fldpic
plotStrt
nmax
zxmin
zymin
zxres
zxmax
zymax
zqmin
ztmax
ztstepde
zzscl
zxscl
zyscl
zxgrid
zygrid
zqstep
zt0de
zzmin
zeyef
zpltstrt
Graph Zoom
zqmax
ztstep
ztplotde
zeyeq
znmax
ztmin
ztmaxde
zzmax
zeyeψ
zpltstep
znmin
x
y
Gxy
corr
medx1
medy2
nStat
regEq(x)*
Sy
Gx
Gy
maxX
medx2
medy3
q1
sx
sy
maxY
medx3
minX
q3
Statistics
Gx2
Gy2
medStat
medy1
minY
regCoef*
Sx
seed1
seed2
R2
tblStart
c1–c99
main
@tbl
tblInput
Table
sysData*
ok
Data/Matrix
Miscellaneous
Solver
errornum
eqn*
exp*
Appendix B: Reference Information
567
EOS (Equation Operating System) Hierarchy
This section describes the Equation Operating System
(EOSé) that is used by the TI-89 / TI-92 Plus. Numbers,
variables, and functions are entered in a simple,
straightforward sequence. EOS evaluates expressions and
equations using parenthetical grouping and according to the
priorities described below.
Order of Evaluation
Level Operator
1
2
3
4
Parentheses ( ), brackets [ ], braces { }
Indirection (#)
Function calls
Post operators: degrees-minutes-seconds (ó,',"), factorial (!),
percentage (%), radian (ô), subscript ([ ]), transpose ( )
î
5
6
Exponentiation, power operator (^)
Negation (ë)
7
String concatenation (&)
Multiplication (ù), division (/)
Addition (+), subtraction (ì)
8
9
10
Equality relations: equal (=), not equal (ƒ or /=),
less than (<), less than or equal ( or <=), greater than (>),
greater than or equal (‚ or >=)
11
12
13
14
15
Logical not
Logical and
Logical or, exclusive logical xor
Constraint “with” operator (|)
Store (!)
All calculations inside a pair of parentheses, brackets, or braces are
evaluated first. For example, in the expression 4(1+2), EOS first
evaluates the portion of the expression inside the parentheses, 1+2,
and then multiplies the result, 3, by 4.
Parentheses,
Brackets, and
Braces
The number of opening and closing parentheses, brackets, and
braces must be the same within an expression or equation. If not, an
error message is displayed that indicates the missing element. For
example, (1+2)/(3+4 will display the error message “Missing ).”
Note: Because the TI-89 / TI-92 Plus allows you to define your own
functions, a variable name followed by an expression in parentheses
is considered a “function call” instead of implied multiplication. For
example a(b+c) is the function a evaluated by b+c. To multiply the
expression b+c by the variable a, use explicit multiplication: aù(b+c).
568
Appendix B: Reference Information
The indirection operator (#) converts a string to a variable or
function name. For example, #(“x”&”y”&”z”) creates the variable name
xyz. Indirection also allows the creation and modification of
variables from inside a program. For example, if 10!r and “r”!s1, then
#s1=10.
Indirection
Post operators are operators that come directly after an argument,
such as 5!, 25%, or 60ó15' 45". Arguments followed by a post operator
are evaluated at the fourth priority level. For example, in the
expression 4^3!, 3! is evaluated first. The result, 6, then becomes the
exponent of 4 to yield 4096.
Post Operators
Exponentiation (^) and element-by-element exponentiation (.^) are
evaluated from right to left. For example, the expression 2^3^2 is
evaluated the same as 2^(3^2) to produce 512. This is different from
(2^3)^2, which is 64.
Exponentiation
Negation
To enter a negative number, press · followed by the number. Post
operations and exponentiation are performed before negation. For
example, the result of ëx2 is a negative number, and ë92 =ë81. Use
parentheses to square a negative number such as (ë9)2 to produce
81. Note also that negative 5 (ë5) is different from minus 5 (ì5), and
ë3! evaluates as ë(3!).
The argument following the “with” (|) operator provides a set of
constraints that affect the evaluation of the argument preceding the
“with” operator.
Constraint (|)
Appendix B: Reference Information
569
Regression Formulas
This section describes how the statistical regressions are
calculated.
Most of the regressions use non-linear recursive least-squares
techniques to optimize the following cost function, which is the sum
of the squares of the residual errors:
Least-Squares
Algorithm
N
2
J =
residualExpression
[
]
∑
i=1
where: residualExpression is in terms of xi and yi
xi is the independent variable list
yi is the dependent variable list
N is the dimension of the lists
This technique attempts to recursively estimate the constants in the
model expression to make J as small as possible.
For example, y=a sin(bx+c)+d is the model equation for SinReg. So
its residual expression is:
a sin(bxi+c)+dì yi
For SinReg, therefore, the least-squares algorithm finds the
constants a, b, c, and d that minimize the function:
N
2
J =
a sin(bx +c) +d −y
i
[
]
i
∑
i=1
Regressions
Regression
CubicReg
Description
Uses the least-squares algorithm to fit the third-order
polynomial:
y=ax3+bx2+cx+d
For four data points, the equation is a polynomial fit;
for five or more, it is a polynomial regression. At
least four data points are required.
ExpReg
LinReg
Uses the least-squares algorithm and transformed
values x and ln(y) to fit the model equation:
y=abx
Uses the least-squares algorithm to fit the model
equation:
y=ax+b
where a is the slope and b is the y-intercept.
570
Appendix B: Reference Information
Regression
LnReg
Description
Uses the least-squares algorithm and transformed
values ln(x) and y to fit the model equation:
y=a+b ln(x)
Logistic
MedMed
Uses the least-squares algorithm to fit the model
equation:
y=a/(1+b e^(c x))+d
*
*
Uses the median-median line (resistant line)
technique to calculate summary points x1, y1, x2, y2,
x3, and y3, and fits the model equation:
y=ax+b
where a is the slope and b is the y-intercept.
PowerReg
QuadReg
Uses the least-squares algorithm and transformed
values ln(x) and ln(y) to fit the model equation:
y=axb
Uses the least-squares algorithm to fit the second-
order polynomial:
y=ax2+bx+c
For three data points, the equation is a polynomial fit;
for four or more, it is a polynomial regression. At
least three data points are required.
QuartReg
Uses the least-squares algorithm to fit the fourth-
order polynomial:
y=ax4+bx3+cx2+dx+e
For five data points, the equation is a polynomial fit;
for six or more, it is a polynomial regression. At least
five data points are required.
SinReg
Uses the least-squares algorithm to fit the model
equation:
y=a sin(bx+c)+d
Appendix B: Reference Information
571
Contour Levels and Implicit Plot Algorithm
Contours are calculated and plotted by the following method.
An implicit plot is the same as a contour, except that an implicit
plot is for the z=0 contour only.
Based on your x and y Window variables, the distance between xmin
and xmax and between ymin and ymax is divided into a number of grid
lines specified by xgrid and ygrid. These grid lines intersect to form a
series of rectangles.
Algorithm
z3 =f(x2 ,y1 )
z1 =f(x1 ,y1 )
For each rectangle, the equation is
evaluated at each of the four
corners (also called vertices or
grid points) and an average value
(E) is calculated:
E
z4 =f(x2 ,y2 )
z2 =f(x1 ,y2 )
z
1 + z2 + z3 + z4
4
E =
The E value is treated as the value of the equation at the center of the
rectangle.
For each specified contour value
(Ci):
z
3 ìCi
z
1 ìCi
¦
¦
At each of the five points
shown to the right, the
difference between the point’s
z value and the contour value
is calculated.
EìCi
z
4 ìCi
z
2 ìCi
A sign change between any two adjacent points implies that a
contour crosses the line that joins those two points. Linear
interpolation is used to approximate where the zero crosses the
line.
¦
¦
Within the rectangle, any zero
crossings are connected with
straight lines.
This process is repeated for
each contour value.
Each rectangle in the grid is treated similarly.
572
Appendix B: Reference Information
Runge-Kutta Method
For Runge-Kutta integrations of ordinary differential equations,
the TI-89 / TI-92 Plus uses the Bogacki-Shampine 3(2) formula
as found in the journal Applied Math Letters, 2 (1989), pp. 1–9.
The Bogacki-Shampine 3(2) formula provides a result of 3rd-order
accuracy and an error estimate based on an embedded 2nd-order
formula. For a problem of the form:
Bogacki-Shampine
3(2) Formula
y' = ƒ(x, y)
and a given step size h, the Bogacki-Shampine formula can be
written:
F1 = ƒ(xn, yn)
1
2
1
2
F2 = ƒ(xn + h , yn + h F1)
3
4
3
4
F3 = ƒ(xn + h , yn + h F2)
1
3
4
9
yn+1 = yn + h(2 F1 + F2 + F3)
9
xn+1 = xn + h
F4 = ƒ(xn+1 , yn+1
)
errest = h(752 F1 ì F2 ì F3 + F4)
1
12
1
9
1
8
The error estimate errest is used to control the step size
automatically. For a thorough discussion of how this can be done,
refer to Numerical Solution of Ordinary Differential Equations by
L. F. Shampine (New York: Chapman & Hall, 1994).
The TI-89 / TI-92 Plus software does not adjust the step size to land on
particular output points. Rather, it takes the biggest steps that it can
(based on the error tolerance diftol) and obtains results for
xn x xn+1 using the cubic interpolating polynomial passing through
the point (xn , yn) with slope F1 and through (xn+1 , yn+1) with slope F4.
The interpolant is efficient and provides results throughout the step
that are just as accurate as the results at the ends of the step.
Appendix B: Reference Information
573
574
Appendix B: Reference Information
Service and Warranty Information
Battery Information ............................................................................... 576
In Case of Difficulty ............................................................................... 579
Support and Service Information......................................................... 580
Warranty Information............................................................................ 581
C
This appendix provides supplemental information that may be
helpful as you use the TI-89 / TI-92 Plus. It includes procedures that
may help you correct problems with the TI-89 / TI-92 Plus, and it
describes the service and warranty provided by Texas
Instruments.
BATT indicator
When the BATT indicator appears in the status line, it is time to
change the batteries.
Appendix C: Service and Warranty Information
575
Battery Information
The TI-89 / TI-92 Plus uses two types of batteries: four alkaline
batteries, and a lithium battery as a backup for retaining
memory while you change the alkaline batteries.
As the alkaline batteries run down, the display will begin to dim
(especially during calculations). To compensate for this, you will
need to adjust the contrast to a higher setting. If you find it necessary
to increase the contrast setting frequently, you will need to replace
When to Replace
the Batteries
the alkaline batteries. To assist you, a BATT indicator (
display in the status line area when the batteries have drained down
) will
Note: The TI-89 uses four
AAA size alkaline batteries.
to the point when you should replace them soon. When the BATT
The TI-92 Plus uses four AA
size alkaline batteries.
indicator is displayed in reverse text (
alkaline batteries immediately.
), you must replace the
Note: To avoid loss of
information stored in
memory, the
TI-89 / TI-92 Plus must be
off. Do not remove the
alkaline batteries and the
lithium battery at the same
time.
BATT indicator
To avoid loss of data, do not remove the lithium battery unless four
fresh alkaline batteries are installed. Replace the lithium backup
battery about every three or four years.
If you do not remove both types of batteries at the same time or
allow them to run down completely, you can change either type of
battery without losing anything in memory.
Effects of Replacing
the Batteries
Take these precautions when replacing batteries:
Battery Precautions
¦
¦
Do not leave batteries within the reach of children.
Do not mix new and used batteries. Do not mix brands (or types
within brands) of batteries.
¦
¦
¦
¦
¦
Do not mix rechargeable and non-rechargeable batteries.
Install batteries according to polarity (+ and - ) diagrams.
Do not place non-rechargeable batteries in a battery recharger.
Properly dispose of used batteries immediately.
Do not incinerate or dismantle batteries.
576
Appendix C: Service and Warranty Information
1. If the TI-89 is on, turn it off (press 2 ®) to avoid loss of
Replacing the
Alkaline Batteries in
the TI-89
information stored in memory.
2. Slide the protective cover over the keyboard.
3. Holding the calculator upright, push down on the battery cover
latch, and then remove the cover.
4. Remove all four discharged AAA batteries.
5. Install four new AAA alkaline batteries, arranged according to the
polarity (+ and -) diagram inside the battery compartment.
Lithium battery
AAA alkaline
batteries
6. Replace the battery cover by inserting the two prongs into the
two slots at the bottom of the battery compartment, and then
push the cover until the latch snaps closed.
To replace the lithium backup battery, remove the battery cover and
unscrew the tiny screw holding the BACK UP BATTERY cover in
place.
Replacing the
Lithium Battery in
the TI-89
Remove the old battery and install a new CR1616 or CR1620 battery,
positive (+) side up. Replace the cover and the screw.
Appendix C: Service and Warranty Information
577
1. If the TI-92 Plus is on, turn it off (press 2 ®) to avoid loss of
Replacing the
Alkaline Batteries in
the TI-92 Plus
information stored in memory.
2. Holding the TI-92 Plus unit upright, slide the latch on the top of the
unit to the left unlocked position; slide the rear cover down about
one-eighth inch and remove it from the main unit.
top
Slide to open.
I/O
3. Remove all four discharged AA batteries.
4. Install four new AA batteries as shown on the polarity diagram
located in the battery compartment.
AA alkaline batteries
Lithium battery
5. Replace the rear cover, and slide the latch on the top of the
TI-92 Plus to the locked position to lock the cover back in place.
6. Turn the TI-92 Plus on, and adjust the display contrast, if
necessary.
To replace the lithium backup battery, remove the back cover from
the unit and unscrew the tiny screw holding the lithium battery cover
in place.
Replacing the
Lithium Battery in
the TI-92 Plus
Remove the old battery and install a new CR2032, positive (+) side
up. Replace the cover and the screw.
578
Appendix C: Service and Warranty Information
In Case of Difficulty
If you have difficulty operating the TI-89 / TI-92 Plus, the
following suggestions may help you correct the problem.
Suggestions
If:
You cannot see anything
Suggested action:
Press ¥ « to darken or ¥ | to lighten
on the display.
the display contrast.
The BATT indicator is
Replace the batteries. If BATT is
displayed.
displayed in reverse text (
),
replace the batteries as soon as
possible.
The BUSY indicator is
A calculation is in progress. If you
displayed.
want to stop the calculation, press ´.
The PAUSE indicator is
displayed.
A graph or program is paused and the
TI-89 / TI-92 Plus is waiting for input;
press ¸.
An error message is
displayed.
Refer to Appendix B for a list of error
messages. Press Nto clear.
The TI-89 / TI-92 Plus does
not appear to be working
properly.
Press Nseveral times to exit any
menu or dialog box and to return the
cursor to the entry line.
— or —
Be sure that the batteries are installed
properly and that they are fresh.
Note: Correcting a “lock up”
will reset your
TI-89 / TI-92 Plus and clear
its memory.
The TI-89 appears to be
“locked up” and will not
respond to keyboard
input.
1. Remove one of the four AAA
batteries.
2. Press and hold ·and d as you
reinstall the battery.
3. Continue holding ·and d for
five seconds before releasing.
The TI-92 Plus appears to
be “locked up” and will
not respond to keyboard
input.
Press and hold 2 and ‚. Then press
and release ´.
— or —
If 2 ‚ and ´ do not correct the
problem:
1. Remove one of the four AA
batteries.
2. Press and hold · and d as you
reinstall the battery.
3. Continue holding · and d for five
seconds before releasing.
Appendix C: Service and Warranty Information
579
Support and Service Information
For additional information about TI support, service, and
products, please see below.
E-mail:
For General
Information
Phone:
1-800-TI-CARES (1-800-842-2737)
For U.S., Canada, Mexico, Puerto Rico, and
Virgin Islands only
Home Page:
Phone:
1.972.917.8324
For Technical
Questions
Customers in the U.S., Canada, Mexico, Puerto Rico and
Virgin Islands: Always contact Texas Instruments Customer
Support before returning a product for service.
For Product
(hardware) Service
All other customers: Refer to the leaflet enclosed with this product
580
Appendix C: Service and Warranty Information
Warranty Information
See the information below concerning the warranty for your
TI-89 / TI-92 Plus.
One-Year Limited Warranty for Commercial Electronic Product
Customers in the
U.S. and Canada
Only
This Texas Instruments (“TI”) electronic product warranty extends
only to the original purchaser and user of the product.
Warranty Duration. This TI electronic product is warranted to the
original purchaser for a period of one (1) year from the original
purchase date.
Warranty Coverage. This TI electronic product is warranted
against defective materials and construction. THIS WARRANTY IS
VOID IF THE PRODUCT HAS BEEN DAMAGED BY
ACCIDENT OR UNREASONABLE USE, NEGLECT,
IMPROPER SERVICE, OR OTHER CAUSES NOT ARISING
OUT OF DEFECTS IN MATERIALS OR CONSTRUCTION.
Warranty Disclaimers. ANY IMPLIED WARRANTIES ARISING
OUT OF THIS SALE, INCLUDING BUT NOT LIMITED TO
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS FOR A PARTICULAR PURPOSE, ARE LIMITED IN
DURATION TO THE ABOVE ONE-YEAR PERIOD. TEXAS
INSTRUMENTS SHALL NOT BE LIABLE FOR LOSS OF USE
OF THE PRODUCT OR OTHER INCIDENTAL OR
CONSEQUENTIAL COSTS, EXPENSES, OR DAMAGES
INCURRED BY THE CONSUMER OR ANY OTHER USER.
Some states/provinces do not allow the exclusion or limitation of
implied warranties or consequential damages, so the above
limitations or exclusions may not apply to you.
Legal Remedies. This warranty gives you specific legal rights, and
you may also have other rights that vary from state to state or
province to province.
Warranty Performance. During the above one (1) year warranty
period, your defective product will be either repaired or replaced
with a reconditioned model of an equivalent quality (at TI’s option)
when the product is returned, postage prepaid, to Texas Instruments
Service Facility. The warranty of the repaired or replacement unit
will continue for the warranty of the original unit or six (6) months,
whichever is longer. Other than the postage requirement, no charge
will be made for such repair and/or replacement. TI strongly
recommends that you insure the product for value prior to mailing.
Software. Software is licensed, not sold. TI and its licensors do not
warrant that the software will be free from errors or meet your
specific requirements. All software is provided “AS IS.”
Copyright. The software and any documentation supplied with this
product are protected by copyright.
Appendix C: Service and Warranty Information
581
One-Year Limited Warranty for Commercial Electronic
Product
Australia & New
Zealand Customers
only
This Texas Instruments electronic product warranty extends only to
the original purchaser and user of the product.
Warranty Duration. This Texas Instruments electronic product is
warranted to the original purchaser for a period of one (1) year from
the original purchase date.
Warranty Coverage. This Texas Instruments electronic product is
warranted against defective materials and construction. This
warranty is void if the product has been damaged by accident or
unreasonable use, neglect, improper service, or other causes not
arising out of defects in materials or construction.
Warranty Disclaimers. Any implied warranties arising out of
this sale, including but not limited to the implied warranties
of merchantability and fitness for a particular purpose, are
limited in duration to the above one-year period. Texas
Instruments shall not be liable for loss of use of the product
or other incidental or consequential costs, expenses, or
damages incurred by the consumer or any other user.
Some jurisdictions do not allow the exclusion or limitation of implied
warranties or consequential damages, so the above limitations or
exclusions may not apply to you.
Legal Remedies. This warranty gives you specific legal rights, and
you may also have other rights that vary from jurisdiction to
jurisdiction.
Warranty Performance. During the above one (1) year warranty
period, your defective product will be either repaired or replaced
with a new or reconditioned model of an equivalent quality (at TI’s
option) when the product is returned to the original point of
purchase. The repaired or replacement unit will continue for the
warranty of the original unit or six (6) months, whichever is longer.
Other than your cost to return the product, no charge will be made
for such repair and/or replacement. TI strongly recommends that you
insure the product for value if you mail it.
Software. Software is licensed, not sold. TI and its licensors do not
warrant that the software will be free from errors or meet your
specific requirements. All software is provided “AS IS.”
Copyright. The software and any documentation supplied with this
product are protected by copyright.
For information about the length and terms of the warranty, refer to
your package and/or to the warranty statement enclosed with this
product, or contact your local Texas Instruments retailer/distributor.
All Other Customers
582
Appendix C: Service and Warranty Information
Programmer’s Guide
setMode( ) and getMode( ) ................................................................... 584
setGraph( ) .............................................................................................. 587
setTable( ) ............................................................................................... 589
D
The parameter/mode strings used in the setMode( ), getMode( ),
setGraph( ), and setTable( ) functions do not translate into other
languages when used in a program. For example, when you write
a program in the French Language mode then switch to the Italian
Language mode, the program will produce an error. To avoid this
error, you must substitute digits for the alpha characters. These
digits operate in all languages. This appendix contains the digit
substitutions for these strings.
The following examples show how to substitute digits in the
setMode( ) function.
Example 1: A program using alpha parameter/mode strings:
setMode("Graph","Sequence")
Example 2: The same program, substituting digits for those
strings:
setMode("1","4")
Appendix D: Programmer’s Guide
583
setMode( ) and getMode( )
Parameter/Mode Setting
ALL
Strings
0
1
1
2
3
4
5
6
Graph
FUNCTION
PARAMETRIC
POLAR
SEQUENCE
3D
DIFF EQUATIONS
DisplayDigits
FIX 0
2
1
FIX 1
2
FIX 2
3
FIX 3
4
FIX 4
5
FIX 5
6
FIX 6
7
FIX 7
8
FIX 8
9
FIX 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
FIX 10
FIX 11
FIX 12
FLOAT
FLOAT 1
FLOAT 2
FLOAT 3
FLOAT 4
FLOAT 5
FLOAT 6
FLOAT 7
FLOAT 8
FLOAT 9
584
Appendix D: Programmer’s Guide
Parameter/Mode Setting
FLOAT 10
Strings
24
25
26
3
FLOAT 11
FLOAT 12
Angle
RADIAN
1
DEGREE
2
Exponential Format
NORMAL
4
1
SCIENTIFIC
ENGINEERING
Complex Format
REAL
2
3
5
1
RECTANGULAR
POLAR
2
3
Vector Format
RECTANGULAR
CYLINDRICAL
SPHERICAL
Pretty Print
6
1
2
3
7
OFF
1
ON
2
SplitScreen
FULL
8
1
TOP-BOTTOM
LEFT-RIGHT
Split1App
2
3
9
(applications are not numbered)
Split2App
10
(applications are not numbered)
Number of Graphs
1
11
1
2
2
Appendix D: Programmer’s Guide
585
Parameter/Mode Setting
Strings
Graph 2
12
1
2
FUNCTION
PARAMETRIC
POLAR
3
4
SEQUENCE
3D
5
6
DIFF_EQUATIONS
Split Screen Ratio
13
1
1:1
1:2
2
3
2:1
14
1
Exact/Approx
AUTO
EXACT
APPROXIMATE
Base
2
3
15
1
DEC
2
HEX
3
BIN
586
Appendix D: Programmer’s Guide
setGraph( )
Parameter/Mode Setting
Strings
Coordinates
RECT
1
1
2
3
2
1
2
3
1
2
4
POLAR
OFF
Graph Order
SEQ
SIMUL
Grid
OFF
ON
Axes
In 3D Mode:
OFF
1
2
3
AXES
BOX
Not in 3D Mode:
OFF
1
2
5
1
2
6
1
1
7
1
2
3
8
1
2
ON
Leading Cursor
OFF
ON
Labels
OFF
ON
Seq Axes
TIME
WEB
Custom
Solution Method
RK
EULER
Appendix D: Programmer’s Guide
587
Parameter/Mode Setting
Fields
Strings
9
1
SLPFLD
DIRFLD
2
FLDOFF
3
DE Axes
10
1
TIME
Y1-VS-Y2
2
T-VS-Y'
3
Y-VS-Y'
4
Y1-VS-Y2'
5
Y1'-VS-Y2'
6
XR Style
11
1
WIRE FRAME
HIDDEN SRUFACE
CONTOUR LEVELS
WIRE AND CONTOUR
IMPLICIT PLOT
2
3
4
5
588
Appendix D: Programmer’s Guide
590
Appendix D: Programmer’s Guide
Index
index.
Symbols
í, exponent, 441
%, percent, 528
4Bin, display as binary, 345, 417
4Cylind, display as cylindrical vector, 429
4DD, display as decimal angle, 432
4DMS, display as degree/minute/second, 438
‰f(x)dx (graph math tool), 122, 124
4Hex, display as hexadecimal, 345, 456
@list( ), list difference, 463
qmax window variable, 137
qmin window variable, 137
4Polar, display as polar vector, 480
4Rect, display as rectangular vector, 489
qstep window variable, 137
@tbl, table increment, 224
86, 514
inside back cover
', minute notation, 536
', prime, 536
+, add, 526
.†, dot multiplication, 531
.+, dot addition, 530
.^, dot power, 531
<, less than, 294, 529
<<...>>, insufficient display memory, 103
=, equal, 294, 529
@, arbitrary integer, 80. inside front cover,
inside back cover
^, power, 534, 569
@x window variable, 119, 566
@y window variable, 119, 566
back cover
", second notation, 536
Π( ), product, 75, 533
_, underscore, 536
|, with, 10, 58, 60, 67, 538, 569
0b, binary indicator, 539
0h, hexadecimal indicator, 539
10^( ), power of ten, 537
xê, reciprocal, 538
‡( ), square root, 533
Σ( ), sum, 75, 533
3D graphing, 153 – 173. inside front cover,
inside back cover
animation, 154, 164. inside front cover,
inside back cover
CONTOUR LEVELS, 155, 166
HIDDEN SURFACE, 155, 166
WIRE AND CONTOUR, 155, 166
WIRE FRAME, 155, 166
ƒ, à=, not equal, 294, 529, 1
, <=, less than or equal, 294, 530. inside
front cover, inside back cover
‚, >=, greater than or equal, 294, 530. inside
front cover, inside back cover
±, angle, 535
¦, comment, 282, 539. inside front cover,
inside back cover
4, convert, 85, 537
ó, degree notation, 400, 535, 536
à, divide, 527
A
abs( ), absolute value, 402, 414
accented characters, 21, 324, 325, 326. inside
back cover
accuracy, 566
activities. See examples, previews, activities
add, +, 526
#, indirection, 293, 534, 569. inside front
cover, inside back cover
ˆ, infinity, 80
†, multiply, 527
M, negate, 25, 528
Algebra menu, 70, 72
ô, radian, 535
!, store, 289, 539
algebra operations, 410
and, Boolean and, 67, 294, 347, 414
AndPic, and picture, 306, 415
Angle mode, 41, 108, 551
N, subtract, 526
î
, transpose, 509
Index 591
web, Build Web, 146
A (continued)
angle( ), angle, 415
angle, ±, 535
angle, angle( ), 415
ans( ), last answer, 50, 416
APD (Automatic Power Down), 14
back cover
APPLICATIONS menu, 34, 38
approx( ), approximate, 70, 416
approximate answer. inside front cover, inside
back cover
Calc menu, 75
Calculator-Based Ranger. See CBR
activity, 399
Approximate mode, 29, 41, 54, 62, 553
approximate, approx( ), 70, 416
inside back cover
Arc (graph math tool), 122, 125, 138
arc length, arcLen( ), 75, 416
arccosine, cosê( ), 424
get/return, Get, 451
programs, 309, 399
send list variable, Send, 494
statistical data, 272, 273
CBR
programs, 309, 399
Archive, archive variables, 289, 361, 416
arcLen( ), arc length, 75, 416
arcsine, sinê( ), 501
send list variable, Send, 494
statistical data, 272, 273
ceiling( ), ceiling, 389, 418
certificate, 369, 373, 374, 375, 376, 377, 378
char( ), character string, 293, 419, 555
codes, 555
Greek, 325, 326, 327. inside front cover,
inside back cover
arctangent, tanê( ), 511
assembly language, 313, 314, 444
augment( ), augment/concatenate, 388, 417
augment/concatenate, augment( ), 388, 417
Auto mode, 29, 41, 54, 63, 553
automatic simplification, 64
automatic tables, 226
auto-paste, 52, 95
axes (sequence), CUSTOM, 146
Axes graph format, 114, 181, 190, 191
Axes settings, 162, 165
menu, 34
numeric code, ord( ), 293, 476, 555
special, 21, 324, 325
string, char( ), 293, 419, 555
symbols, 21, 325
uppercase/lowercase, 21, 319. inside front
cover
circle
drawing, 214
B
base code, 373, 374, 375, 376
Base mode, 42, 554
BATT message, 54, 576, 579
batteries, 2, 3, 14, 15, 54, 576, 577, 578, 579
binary
graphing, 106
Circle, draw circle, 308, 420
Circular definition error, 289
Clean Up menu, 43
display, 4Bin, 345, 417
indicator, 0b, 539
rotate, rotate( ), 348
shift, shift( ), 348
clear
drawing, ClrDraw, 213, 307, 420
error, ClrErr, 310, 420
graph, ClrGraph, 205, 305, 340, 420
home, ClrHome, 421
I/O, ClrIO, 279, 302, 421
clipboard, 95, 96, 321
BldData, build data, 193, 289, 418
Bogacki-Shampine formula, 573
Boolean
and, and, 67, 294, 347, 414
exclusive or, xor, 294, 347, 518
not, not, 294, 473
ClrDraw, clear drawing, 213, 307, 420
ClrErr, clear error, 310, 420
ClrGraph, clear graph, 205, 305, 340, 420
ClrHome, clear home, 421
ClrIO, clear I/O, 279, 302, 421
cobweb plot. See web plots
or, or, 294, 347, 475
Box Plot, 266
build
data, BldData, 193, 289, 418
table, Table, 305, 510
592 Index
CUSTOM menu, 34, 37
custom toolbar. See toolbar
C (continued)
colDim( ), matrix column dimension, 421
colNorm( ), matrix column norm, 421
combinations, nCr( ), 470
comDenom( ), common denominator, 70, 71,
74, 421
Custom Units mode, 42, 554
Custom, define toolbar, 302, 429
cut, 95, 321. inside back cover
command mark, 328
command scripts, 94, 328, 329
activity, 392
cylindrical vector display, 4Cylind, 429
cZeros( ), complex zeros, 61, 71, 430, 564
commands, 409 – 540
back cover
74, 421
complex
d ( ), first derivative, 10, 66, 75, 76, 432
back cover
data (new), NewData, 471
data filtering, 396
data plots, 254
Data/Matrix Editor, 203, 237 – 252. See also
conjugate, conj( ), 422
factor, cFactor( ), 71, 406, 419, 564
mode, Complex Format, 41, 551
modulus surface, 170
numbers, 8, 563 – 565
solve, cSolve( ), 61, 425, 564
tables, 227
zeros, cZeros( ), 61, 71, 430, 564
Complex Format mode, 41, 551
Complex menu, 71
conj( ), complex conjugate, 422
Constant Memory, 14
cell width, 245
copying, 252
creating, 241, 242
constants, 81 – 92, 83
predefined, 89, 90, 91
deleting, 246, 247
contour plots, 167, 168, 169
DrwCtour, draw contour, 168
contour-level graphing, 155, 166, 572
inside back cover
filling, 244
inserting, 246, 247
list variable, 239, 241, 242
locking, 248
scrolling, 244
shift, shift( ), 250, 499
sorting columns, 251
statistical plots, 264
convert, 4, 85, 537
Coordinates graph format, 114, 137
copy, 95, 96, 321. inside back cover
CopyVar, copy variable, 289, 358, 422
cosê( ), arccosine, 424
cos( ), cosine, 423
values, 243
coshê( ), hyperbolic arccosine, 424
cosh( ), hyperbolic cosine, 424
crossP( ), cross product, 425
cSolve( ), complex solve, 61, 425, 564
CubicReg, cubic regression, 261, 428, 570
cumSum( ), cumulative sum, 250, 428
Current folder mode, 41, 550
cursor
3D graph, 160
free-moving, 116, 132, 138, 145, 159, 183
hidden surface, 161
moving, 16, 17, 32. inside front cover, inside
back cover
off the curve, 161
variables, 240, 241, 242
decimal
angle display, 4DD, 432
integer display, 4Dec, 345, 432
define toolbar, Toolbar, 302, 515
Define, define, 77, 97, 110, 130, 142, 157, 179,
196, 204, 207, 287, 289, 305, 384, 433
degree notation, ó, 400, 535, 536
degree/minute/second display, 4DMS, 438
deleting
folder, DelFold, 102, 289, 434
variable, DelVar, 60, 77, 102, 289, 291, 434
DelFold, delete folder, 102, 289, 434
DelVar, delete variable, 60, 77, 102, 289, 291,
434
trace, 117
CustmOff, custom toolbar off, 37, 428
CustmOn, custom toolbar on, 37, 428
denominator, 421
Index 593
DrawFunc, draw function, 212, 308, 439
drawings and drawing
D (continued)
derivatives, 10
first derivative, d ( ), 10, 66, 75, 76, 432
numeric derivative, nDeriv( ), 75, 470
138
deSolve( ), solution, 75, 196, 434
det( ), matrix determinant, 436
diag( ), matrix diagonal, 436
dialog boxes, 35
Dialog, define dialog box, 302, 437
differential equations
DIRFLD, direction field, 180, 185, 198
first order, 186, 196
clearing, ClrDraw, 307, 420
freehand, 213
function, DrawFunc, 212, 308, 439
line, Line, 308, 461
lines, 214, 215
on a graph, 307
Pencil, 213
FLDOFF, field off, 180, 185, 199
graphing, 175 – 199
tangent line, LineTan, 308, 462
vertical line, LineVert, 308, 462
DrwCtour, draw contour, 168, 308, 441
dtime window variable, 182
initial conditions, 184
second order, 187, 196
SLPFLD, slope field, 180, 185, 197
solution methods, 180, 193, 573
third order, 189
troubleshooting, 197
diftol window variable, 182
dim( ), dimension, 293, 437
DIRFLD, direction field, 180, 185, 198
437, 555
DispG, display graph, 302, 305, 438
DispHome, display Home screen, 302, 438
display
E
e, natural log base, 80
graph, DispG, 302, 305, 438
Home screen, DispHome, 302, 438
table, DispTbl, 302, 305, 438
display as
binary, 4Bin, 345, 417
cylindrical vector, 4Cylind, 429
decimal angle, 4DD, 432
decimal integer, 4Dec, 345, 432
degree/minute/second, 4DMS, 438
hexadecimal, 4Hex, 345, 456
polar vector, 4Polar, 480
rectangular vector, 4Rect, 489
spherical vector, 4Sphere, 506
Display Digits mode, 31, 41, 550
DispTbl, display table, 302, 305, 438
Distance (graph math tool), 122, 125, 132, 138
divide, à, 527
domain constraints, 69
dot
addition, .+, 530
division, .à, 531
multiplication, .†, 531
power, .^, 531
product, dotP( ), 439
subtraction, .N, 531
e^( ), e to a power, 441
editing, 32
eigVc( ), eigenvector, 442
eigVl( ), eigenvalue, 442
Else, else, 296, 456
ElseIf, else if, 207, 296, 442
end
custom, EndCustm, 302, 429
dialog, EndDlog, 302, 437
for, EndFor, 283, 297, 450
function, EndFunc, 207, 286, 451
if, EndIf, 283, 295, 456
loop, EndLoop, 299, 466
program, EndPrgm, 276, 287, 481
toolbar, EndTBar, 302, 515
try, EndTry, 310, 515
while, EndWhile, 298, 518
EndCustm, end custom, 302, 429
EndDlog, end dialog, 302, 437
EndFor, end for, 283, 297, 450
EndFunc, end function, 207, 286, 451
EndIf, end if, 283, 295, 456
EndLoop, end loop, 299, 466
EndPrgm, end program, 276, 287, 481
EndTBar, end toolbar, 302, 515
EndTry, end try, 310, 515
EndWhile, end while, 298, 518
dotP( ), dot product, 439
594 Index
preditor-prey model, 150, 191
prime factors, 8
programming, 276, 277, 311, 312
Pythagorean theorem, 384
rational factors, 406
real factors, 406
reducing expressions, 9
sampling, 407
sequence graphing, 140
solving linear equations, 9, 10, 73
split screen, 232, 400
statistics, 254 – 257
symbolic manipulation, 58
tables, 222
text operations, 316
third-order differential equation, 189
time value of money, 405
trees and forest, 140
E (continued)
entry( ), entry, 50, 443
EOS (Equation Operating System), 568
equal, =, 294, 529
Equation Operating System (EOS), 568
equations, solving, 333 – 341
errors and troubleshooting, 579, 580
Circular definition, 289
clear error, ClrErr, 310, 420
Memory error, 364
messages, 542 – 549
Out-of-memory, 79
pass error, PassErr, 310, 479
programs, 310
transmission, 369, 377
warnings, 549
Estep window variable, 182
Euler method, 180, 193
evaluate polynomial, polyEval( ), 480
exact( ), exact, 443
Exact/Approx mode, 29, 41, 54, 61, 62, 63, 553
examples, previews, activities
3D graphing, 154, 390
baseball, 400
CBL 2/CBL program, 399
complex factors, 406
complex modulus surface, 170
complex numbers, 8
tutorial script with the text editor, 392
units of measurement, 82
variable management, 350, 351, 352
exclusive or (Boolean), xor, 294, 347, 518
Exec, execute assembly language, 314, 444
execute program, Prgm, 276, 287, 481
Exit, exit, 444
complex zeroes, 402
exponent, í, 441
Exponential Format mode, 31, 41, 551
expr( ), string to expression, 292, 293, 301, 381,
446
ExpReg, exponential regession, 261, 446, 570
expressions, 26, 27, 32
expanding, 9
expression to list, exp4list( ), 444
reducing, 9
string to expression, expr( ), 292, 293, 301,
381, 446
constants, 82
converging web plots, 148
cos(x)=sin(x) activity, 389
cubic polynomial, 402
data filtering, 396
data/matrix editor, 238
decomposing a rational function, 394
derivatives, 10
differential equations, 176
diverging web plots, 148
expanding expressions, 9
factorial, 8
factoring polynomials, 9, 72
Fibonacci sequence, 151
function graphing, 106
graphing functions, 11
implicit plots, 173
Extract menu, 71
eyeψ rotation window variable, 158, 162, 163
eyeq x-axis window variable, 158, 162
eyef z-axis window variable, 158, 162, 163
integrals, 10
memory management, 350, 351, 352
number bases, 344
numeric solver, 334
oscillating web plots, 149
parametric graphing, 128, 400
path of a ball, 128
piecewise functions, 202
polar rose, 134
F
factor( ), factor, 8, 9, 61, 70, 72, 387, 406, 447
factorial, !, 8, 531. inside front cover, inside
back cover
factoring, 9, 72
activity, 406
false message, 80
family of curves, 208, 209
Fibonacci sequence, 151
Field graph format, 180
pole-corner problem, 384
population, 254 – 257
Index 595
configuration, getConfg( ), 300, 452
folder, getFold( ), 289, 300, 453
mode, getMode( ), 300, 453
units, getUnits( ), 300, 454
getConfg( ), get/return configuration, 300, 452
getNum( ), get/return number, 71, 453
getType( ), get/return type, 59, 454
getUnits( ), get/return units, 300, 454
F (continued)
field off, FLDOFF, 180, 185, 199
field picture, fldpic, 183
Fill, matrix fill, 448
front cover, inside back cover
deleting, 369
Flash, upgrading product code, 373, 374
fldpic, field picture, 183
fldres window variable, 182
floor( ), floor, 389, 448
fMax( ), function maximum, 61, 75, 448
fMin( ), function minimum, 61, 75, 449
FnOff, function off, 111, 305, 449
FnOn, function on, 111, 305, 449
folders, 41, 100, 550
delete, DelFold, 102, 289, 434
deleting, 357
get/return, getFold( ), 453
locking/unlocking, 358
Graph 2 mode, 41, 553
179, 550
new, NewFold, 101, 289, 471
pasting name, 359
Graph Order graph format, 114, 180
graphical user interface, GUI, 302
graphs and graphing
‰f(x)dx, 122, 124
3D, 153 – 173
animation, 219
renaming, 358
setting, setFold( ), 101, 300, 495
transmitting, 367, 368
VAR-LINK, 102, 356, 357, 358
For, for, 283, 297, 450
format( ), format string, 293, 302, 450
FORMATS dialog box, 114, 155, 165, 166, 167,
171, 176, 245, 325. inside front cover, inside
back cover
contour plots, 167, 168, 169
inside back cover
fpart( ), function part, 451
fractions, 70, 74, 394, 482
free-moving cursor, 116, 132, 138, 145, 159, 183
Frobenius norm, norm( ), 473
Func, program function, 207, 286, 451
functions, 26, 409 – 540
delayed simplification, 66
graphing, 105 – 126
maximum, fMax( ), 61, 75, 448
minimum, fMin( ), 61, 75, 449
multistatement, 207
custom axes, 146
custom plots, 142, 190, 191
Derivatives, 122, 124, 132, 138
differential equations, 175 – 199
Distance, 122, 125, 132, 138
drawing, 213 – 216, 307
family of curves, 208, 209
formats, 114, 137, 144, 180
functions, 105 – 126
off, FnOff, 111, 305, 449
on, FnOn, 111, 305, 449
functions off, FnOff, 305, 449
functions on, FnOn, 305, 449
graph databases, 220
graph, Graph, 205, 305, 455
Home screen, 204, 205
part, fpart( ), 451
program function, Func, 207, 286, 451
user-defined, 46, 77, 78, 97 – 99, 157, 205,
207, 285, 286, 433
implicit plots, 171, 172, 173
independent variable, 204
Inflection, 122, 124
Intersection, 122, 123
inverse functions, 212
G
Garbage collection message, 362, 363
gcd( ), greatest common divisor, 451
Get, get/return CBL/CBR value, 272, 309, 451
get/return
line styles, 112, 131, 136, 143, 157, 179
math functions, 122
calculator, GetCalc, 309, 371, 452
596 Index
G (continued)
matrix data, 203
hexadecimal
Maximum, 122, 123
Minimum, 11, 122, 123
display, 4Hex, 345, 456
indicator, 0h, 539
550
native independent variable, 204
nested functions, 206
hidden surface, 155, 161, 166
inside back cover
operations, 410
overview, 107, 129, 135, 141, 156, 178
panning, 118
history area, 6, 23, 329
parametric, 127 – 132
pausing, 115
pictures, 217, 218
piecewise functions, 206
pixels, 566
arccosine, coshê( ), 424
polar, 133 – 138
tangent, tanh( ), 511
programs, 305
QuickCenter, 118
I
sequence, 139 – 151
ID number, 55, 373, 378, 379
identity( ), identity matrix, 456
imag( ), imaginary part, 457
implicit plots, 171, 172, 173, 572
independent auto/ask, Independent AUTO/ASK,
224, 226, 229
inside back cover
infinity, ˆ, 80
Inflection (graph math tool), 122, 124
Input, input, 301, 305, 457
InputSt, input string, 292, 301, 371, 458
inString( ), within string, 293, 458
instructions, 26
insufficient display memory, <<...>>, 103
int( ), integer, 458
intDiv( ), integer divide, 346, 458
integer part, iPart( ), 140, 459
integer, int( ), 458
integrate, ‰( ), 10, 61, 62, 63, 66, 75, 76, 532
Intersection (graph math tool), 122, 123
inverse, xê, 538
iPart( ), integer part, 140, 459
isPrime( ), prime test, 459
Item, menu item, 302, 303, 459
setting, setGraph( ), 300, 305, 495
Shade, 122, 126
shading, Shade, 308, 498
simultaneous graphs, 208
split screen, 209, 211, 233
store graph database, StoGDB, 306, 507
style, Style, 305, 508
Tangent, 122, 125, 132, 138
text, 216
time plots, 142, 146, 190, 191
trace, Trace, 117, 305, 390, 398, 399, 402,
515
tracing, 11, 117, 118, 132, 138, 145, 159, 183
two-graph mode, 209, 210, 233
Value, 122, 123, 132, 138, 145, 159, 183
viewing window, 113, 131, 137, 143, 144, 158
web plots, 142, 146, 147
window variables, 113, 131, 137, 143, 144,
158
Y= editor, 106, 109, 130, 136, 142, 157, 179,
204
Zero, 122, 123
zoom, 119, 132, 138, 145, 159, 305
zoom factors, 119, 121
zoom Memory, 119, 121
greater than or equal, ‚, >=, 294, 530. inside
front cover, inside back cover
greater than, >, 294, 530
greatest common divisor, gcd( ), 451
Greek characters, 325, 326, 327. inside front
cover, inside back cover
Grid graph format, 114
GUI, graphical user interface, 302
Index 597
augment/concatenate, augment( ), 417
copying, 252
K
keyboard, 16, 17
j (alpha) key, 18
¥ (diamond) key, 18
‚ (hand) key, 18
creating, 241, 242
cumulative sum, cumSum( ), 250, 428
deleting, 246, 247
difference, @list( ), 463
dimension, dim( ), 437
2 (second) key, 18
¤ (shift) key, 18
key codes, 301, 556 – 562
map, 324, 325, inside front cover, inside back
cover
dot product, dotP( ), 439
expression to list, exp4list( ), 444
cover
locking, 248
minimum, min( ), 469
new data, NewData, 240, 249, 289, 471
new, newList( ), 471
operations, 410
product, product( ), 482
sort ascending, SortA, 506
sorting columns, 251
summation, sum( ), 492, 508
table variables, 230
L
lab reports, 330, 331
label, Lbl, 287, 296, 299, 459
Labels graph format, 114
language, 4
Language mode, 42, 554
last answer, 20, 28, 49, 51
last entry, 20, 49, 50
Lbl, label, 287, 296, 299, 459
lcm, least common multiple, 460
Leading Cursor graph format, 114
least common multiple, lcm, 460
left( ), left, 71, 293, 460
less than or equal, , <=, 294, 530. inside front
cover, inside back cover
less than, <, 294, 529
back cover
limit( ), limit, 66, 75, 76, 460
Line, draw line, 308, 461
linear regression, LinReg, 261, 462, 570
LineHorz, draw horizontal line, 308, 461
LineTan, draw tangent line, 308, 462
LineVert, draw vertical line, 308, 462
linking and transmitting, 365 – 381, 494
calculator to calculator, 309, 366, 367, 371,
372
LnReg, logarithmic regression, 261, 464, 571
localization, 4
log( ), logarithm, 465
logarithms, 463, 465
Logistic, logistic regression, 261, 465, 571
Loop, loop, 299, 466
LU, matrix lower-upper decomposition, 466
M
cancelling, 368
compatibility, 380, 381
errors, 369, 376, 377
Flash applications, 367, 370
folders, 367, 368, 369
mat4list( ), matrix to list, 467
MATH menu, 34, 122
math operations, 411
matrices. See also data/matrix editor
augment/concatenate, augment( ), 388, 417
Auto-calculate, 249
get/return CBL/CBR value, Get, 272, 309, 451
incompatibility, 380, 381
column dimension, colDim( ), 421
column header, 248, 249, 250
column norm, colNorm( ), 421
copying, 252
creating, 241, 242
cumulative sum, cumSum( ), 250, 428
data from a graph, 203
deleting, 246, 247
determinant, det( ), 436
diagonal, diag( ), 436
program, 309, 371
send chat, SendChat, 309, 371
send list variable, Send, 309, 494
send to calculator, SendCalc, 309, 371
variables, 367, 368
LinReg, linear regression, 261, 462, 570
list difference, @list( ), 463
list4mat( ), list to matrix, 249, 463
lists. See also data/matrix editor
598 Index
menus, 34
Algebra, 70, 72
CATALOG, 44
CHAR (character), 34
Complex, 71
CUSTOM, 34, 37, 303, 304
Extract, 71
MATH, 34, 122
M (continued)
dimension, dim( ), 437
dot addition, .+, 530
dot division, .à, 531
dot multiplication, .†, 531
dot power, .^, 531
dot subtraction, .N, 531
eigenvalue, eigVl( ), 442
eigenvector, eigVc( ), 442
filling, Fill, 448
identity, identity( ), 456
inserting, 246, 247
toolbar, 34, 37
Trig, 71
using, 34
list to matrix, list4mat( ), 463
locking, 248
messages. See also errors and troubleshooting
BATT, 54, 576, 579
false, 80
Garbage collection, 362, 363
true, 80
lower-upper decomposition, LU, 466
matrix to list, mat4list( ), 467
maximum, max( ), 467
minimum, min( ), 469
new data, NewData, 289, 471
new, newMat( ), 471
mid( ), mid-string, 293, 468
min( ), minimum, 469
minute notation, ', 536
mod( ), modulo, 469
Angle, 41, 108, 551
Auto, 29, 41, 54, 63, 553
Current folder, 41, 550
Custom Units, 42, 554
Display Digits, 31, 41, 550
Exact/Approx, 29, 41, 54, 61, 62, 63, 553
Exponential Format, 31, 41, 551
get/return, getMode( ), 300, 453
Graph, 41, 54, 108, 130, 136, 142, 157, 179,
550
operations, 411
pretty print, 240
product, product( ), 482
QR factorization, QR, 485
493
row addition, rowAdd( ), 492
row dimension, rowDim( ), 492
row echelon form, ref( ), 490
row multiplication and addition,
mRowAdd( ), 470
row norm, rowNorm( ), 493
row operation, mRow( ), 469
row swap, rowSwap( ), 493
sorting columns, 251
submatrix, subMat( ), 508
summation, sum( ), 492, 508
î
transpose, , 509
variables, 239, 240, 241, 242
matrix to list, mat4list( ), 467
max( ), maximum, 467
Graph 2, 41, 553
Language, 42, 554
Number of Graphs, 41, 553
Pretty Print, 29, 41, 552
setting in programs, 300
setting, setMode( ), 300, 305, 496
Split App, 41, 553
Maximum (graph math tool), 122, 123
mean( ), mean, 467
median( ), median, 467
MedMed, medium-medium line regression, 262,
468, 571
Split Screen, 41, 552
Unit System, 42, 82, 554
Vector Format, 41, 552
modulo, mod( ), 469
MoveVar, move variable, 289, 469
mRow( ), matrix row operation, 469
mRowAdd( ), matrix row multiplication and
addition, 470
memory, 349 – 364
archiving, Archive, 289, 361, 416
checking, 353, 354
insufficient display memory, <<...>>, 103
resetting, 353, 354
unarchive, Unarchiv, 289, 361, 516
VAR-LINK screen, 355, 356, 357, 358, 361
Memory (zoom), 119, 121
Memory error, 364
multiply, †, 527
multistatement functions, 207
menu item, Item, 302, 303, 459
Index 599
operators, 26
N
natural log base, e, 80
Output, output, 302, 476
natural logarithm, ln( ), 463
ncontour window variable, 158
nCr( ), combinations, 470
ncurves window variable, 182
nDeriv( ), numeric derivative, 75, 470
negate, M, 25, 528
P
new
P4Rx( ), rectangular x coordinate, 476
panning, 118
data, NewData, 240, 249, 273, 289, 471
folder, NewFold, 101, 289, 471
list, newList( ), 471
parallelepiped activity, 390
parametric graphing, 127 – 132
parentheses, brackets, and braces, 27, 568
PassErr, pass error, 310, 479
paste, 95, 96, 321. inside back cover
PAUSE indicator, 54
Pause, pause, 302, 310, 479
percent, %, 528
permutations, nPr( ), 474
and, AndPic, 306, 415
cycle, CyclePic, 306, 429
deleting, 218
exclusive or, XorPic, 306, 519
new, NewPic, 289, 306, 471
recall, RclPic, 306, 489
replace, RplcPic, 306, 493
storing, StoPic, 306, 507
piecewise functions, 202, 206
pixel
change, PxlChg, 307, 483
horizontal line, PxlHorz, 308, 484
line, PxlLine, 216, 308, 484
off, PxlOff, 307, 484
on, PxlOn, 216, 307, 484
test, pxlTest( ), 307, 484
text, PxlText, 307, 485
vertical line, PxlVert, 308, 485
plots
matrix, newMat( ), 471
picture, NewPic, 289, 306, 471
plot, NewPlot, 266, 305, 472
problem, NewProb, 43, 472
NewFold, new folder, 101, 289, 471
newList( ), new list, 471
newMat( ), new matrix, 471
NewPic, new picture, 289, 306, 471
NewPlot, new plot, 266, 305, 472
NewProb, new problem, 43, 472
nInt( ), numeric integral, 75, 472
nmax window variable, 143, 144
nmin window variable, 143, 144
norm( ), Frobenius norm, 473
not (Boolean), not, 294, 473
not equal, ƒ, à=, 294, 529, 1
not, Boolean not, 294, 473
nPr( ), permutations, 474
number bases, 343 – 348
Boolean operations, 347
conversions, 345
math operations, 346
Number of Graphs mode, 41, 553
numbers
complex, 563 – 565
irrational, 61, 62
negative, 25
rational, 61, 62, 63
numeric
clearing, 265
derivative, nDeriv( ), 75, 470
integral, nInt( ), 75, 472
solution, nSolve( ), 70, 474
numeric solver, 333 – 341
equations, 335, 336
graphing, 340
split screens, 340
variables, 336
data, 254 – 257
new, NewPlot, 266, 305, 472
off, PlotsOff, 111, 305, 480
on, PlotsOn, 111, 305, 480
selecting, 265, 268
tracing, 269
viewing window, 269
Y= Editor, 268, 269
PlotsOff, plots off, 111, 305, 480
PlotsOn, plots on, 111, 305, 480
plotStep window variable, 143, 144
plotStrt window variable, 143, 144
O
on/off, 4, 7, 14. inside front cover, inside back
cover
OneVar, one-variable statistics, 261, 475
600 Index
deleting, 281
P (continued)
display graph, DispG, 302, 305, 438
437, 555
point
change, PtChg, 307, 482
off, PtOff, 307, 483
on, PtOn, 307, 483
display table, DispTbl, 302, 305, 438
else if, ElseIf, 207, 296, 442
else, Else, 296, 456
end dialog, EndDlog, 302, 437
end for, EndFor, 283, 297, 450
end function, EndFunc, 207, 286, 451
end loop, EndLoop, 299, 466
end toolbar, EndTBar, 302, 515
end try, EndTry, 310, 515
test, ptTest( ), 307, 483
text, PtText, 307, 483
polar
coordinate, R4Pq( ), 487
coordinate, R4Pr( ), 487
graphing, 133 – 138
vector display, 4Polar, 480
polyEval( ), evaluate polynomial, 480
polynomials, 9, 72, 76
activity, 402
evaluate, polyEval( ), 480
random, randPoly( ), 488
PopUp, popup menu, 301, 481
power of ten, 10^( ), 537
power, ^, 534, 569
PowerReg, power regression, 262, 481, 571
pretty print, 6, 11, 23, 29
Pretty Print mode, 29, 41, 552
previews. See examples, previews, activities
Prgm, execute program, 276, 287, 481
prime number test, isPrime( ), 459
prime numbers, 8
end while, EndWhile, 298, 518
entering, 280, 281, 282, 283
exit, Exit, 444
format string, format( ), 302, 450
function, Func, 207, 286, 451
functions, 280, 285, 286
go to, Goto, 287, 296, 299, 455
graphical user interface, GUI, 302
graphs, 305
if, If, 207, 283, 295, 296, 456
input, 279, 283, 301
input, Input, 301, 305, 457
label, Lbl, 287, 296, 299, 459
local, Local, 286, 288, 289, 290, 464
loop, Loop, 299, 466
looping, 283, 297, 298
menu item, Item, 302, 303, 459
menus, 303, 304
prime, ', 536
problems (new), NewProb, 43, 472
problems in operation. See errors and
troubleshooting
product code, upgrading, 373, 374
product ID, 55
product( ), product, 482
product, Π( ), 75, 533
programs and programming, 275 – 314
arguments, 284
assembly language, 313, 314
branching, 283, 295, 296
calling another program, 287
CBL 2/CBL, 309, 399
CBR, 309, 399
clear error, ClrErr, 310, 420
clear graph, ClrGraph, 205, 305, 420
clear home, ClrHome, 421
clear I/O, ClrIO, 279, 302, 421
clear table, ClrTable, 421
comment, ¦, 282, 539
conditional tests, 294
copying, 281
custom toolbar off, CustmOff, 37, 302, 428
custom toolbar on, CustmOn, 37, 302, 428
debugging, 310
multicommand lines, 282
operations, 412
output, 279, 283, 301, 302
output, Output, 302, 476
pass error, PassErr, 310, 479
passing values, 284
pause, Pause, 302, 310, 479
popup menu, PopUp, 301, 481
prompt, Prompt( ), 301, 482
request, Request, 301, 302, 490
define dialog box Dialog, 302, 437
define toolbar, Custom, 302, 429
define toolbar, Toolbar, 302, 515
define, Define, 287, 305, 384, 433
Index 601
picture, RclPic, 306, 489
P (continued)
return, Return, 286, 287, 491
running, 278. inside front cover, inside back
cover
stop, Stop, 282, 507
rectangular y coordinate, P4Ry( ), 476
reduced row echelon form, rref( ), 73, 388, 493
ref( ), row echelon form, 490
regressions, 462
stopping, 278
subroutines, 287
tables, 305
text, Text, 302, 513
Then, Then, 295, 296, 456
title, Title, 302, 513
cubic, CubicReg, 261, 428, 570
try, Try, 310, 515
variables, 288
while, While, 298, 518
linear regression, LinReg, 261, 462, 570
logarithmic, LnReg, 261, 464, 571
logistic, Logistic, 261, 465, 571
medium-medium line, MedMed, 262, 468, 571
power regression, PowerReg, 262, 481, 571
quadratic formula activity, 386
quadratic, QuadReg, 262, 486, 571
quartic, QuartReg, 262, 487, 571
selecting, 261
Prompt( ), prompt, 301, 482
propFrac, proper fraction, 9, 70, 74, 394, 482
PtChg, point change, 307, 482
PtOff, point off, 307, 483
PtOn, point on, 307, 483
ptTest( ), point test, 307, 483
PtText, point text, 307, 483
PxlChg, pixel change, 307, 483
PxlCrcl, pixel circle, 308, 483
PxlHorz, pixel horizontal line, 308, 484
PxlLine, pixel line, 216, 308, 484
PxlOff, pixel off, 307, 484
PxlOn, pixel on, 216, 307, 484
pxlTest( ), pixel test, 307, 484
PxlText, pixel text, 307, 485
PxlVert, pixel vertical line, 308, 485
remain( ), remainder, 490
Rename, rename, 289, 490
Request, request, 301, 302, 490
row echelon form, ref( ), 490
rowAdd( ), matrix row addition, 492
rowDim( ), matrix row dimension, 492
rowNorm( ), matrix row norm, 493
rowSwap( ), matrix row swap, 493
RplcPic, replace picture, 306, 493
rref( ), reduced row echelon form, 73, 388, 493
Runge-Kutta method, 180, 191, 193, 573
Q
QR, QR factorization, 485
QuadReg, quadratic regression, 262, 486, 571
QuartReg, quartic regression, 262, 487, 571
QuickCenter, 118
Quick-Find Locator, 410
R
R4Pq( ), polar coordinate, 487
R4Pr( ), polar coordinate, 487
radian, ô, 535
rand( ), random number, 488
randMat( ), random matrix, 388, 488
randNorm( ), random norm, 488
random
S
sampling activity, 407
Scatter plots, 266
matrix, randMat( ), 388, 488
norm, randNorm( ), 488
number seed, RandSeed, 388, 488
number, rand( ), 488
scientific notation, 25
scripts, 94, 328, 329
activity, 392
tutorial, 392
scrolling, 7, 103, 227. inside front cover, inside
back cover
second notation, ", 536
Send, send list variable, 309, 494
SendCalc, send to calculator, 309, 371, 494
SendChat, send chat, 309, 371, 494
polynomial, randPoly( ), 488
randPoly( ), random polynomial, 488
RandSeed, random number seed, 388, 488
rational functions activity, 394
RclGDB, recall graph database, 220, 306, 488
RclPic, recall picture, 306, 489
602 Index
standard annuity activity, 404
standard deviation, stdDev( ), 506
statistics, 253 – 273. See also regressions
Box Plot, 266
categories, 270, 271
Category, 259, 260
factorial, !, 8, 531
Histogram plots, 267
mean, mean( ), 467
S (continued)
seq( ), sequence, 494
sequence graphing, 139 – 151
serial number, 55
service information, 580
set
folder, setFold( ), 101, 300, 495
graph, setGraph( ), 300, 305, 495
mode, setMode( ), 300, 305, 496
table, setTable( ), 225, 300, 305, 497
units, setUnits( ), 300, 497
Set factors (zoom), 119, 121
setFold( ), set folder, 101, 300, 495
setGraph( ), set graph, 300, 305, 495
setMode( ), set mode, 300, 305, 496
setTable( ), set table, 225, 300, 305, 497
setUnits( ), set units, 300, 497
Shade (graph math tool), 122, 126
Shade, shade, 308, 498
operations, 412
overview, 258
permutations, nPr( ), 474
plots, 264, 265, 266, 267, 268, 269
plots off, PlotsOff, 111, 305, 480
plots on, PlotsOn, 111, 305, 480
random norm, randNorm( ), 488
random number seed, RandSeed, 388, 488
Scatter plots, 266
shift( ), shift, 250, 293, 348, 499
ShowStat, show statistical results, 262, 500
sign( ), sign, 500
simplification
delayed, 66
rules, 64
stopping, 65
standard deviation, stdDev( ), 506
two-variable results, TwoVar, 261, 516
variables, 260, 263
variance, variance( ), 517
xyline plots, 266
sinê( ), arcsine, 501
sin( ), sine, 501
sinhê( ), hyperbolic arcsine, 502
sinh( ), hyperbolic sine, 502
SinReg, sinusoidal regression, 262, 503, 571
SLPFLD, slope field, 180, 185, 197
Smart Graph, 115
status line, 53, 54, 108
stdDev( ), standard deviation, 506
StoGDB, store graph database, 220, 306, 507
Stop, stop, 282, 507
StoPic, store picture, 306, 507
stopping a calculation, 28
storing
software version, 55
Solution Method graph format, 180
solution, deSolve( ), 75, 196, 434
solve( ), solve, 9, 58, 61, 62, 63, 66, 68, 70, 73,
196, 503
graph database, StoGDB, 220, 306, 507
picture, StoPic, 306, 507
symbol, !, 289, 539
string( ), expression to string, 293, 508
strings
solving linear equations, 9, 10, 73
SortA, sort ascending, 506
SortD, sort descending, 506
sorting
ascending, SortA, 506
descending, SortD, 506
append, &, 293, 532
character code, ord( ), 293, 476, 555
character string, char( ), 293, 419, 555
dimension, dim( ), 293, 437
expression to string, string( ), 293, 508
format, format( ), 293, 302, 450
indirection, #, 293, 534, 569
inputting, InputSt, 292, 301, 371
left, left( ), 293, 460
special characters, 21, 324, 325
spherical vector display, 4Sphere, 506
Split App mode, 41, 553
split screen, 209, 211, 231 – 236, 329, 341
entry line, 235, 236
exiting, 234
pixel coordinates, 234
setting, 233
mid-string, mid( ), 293, 468
operations, 292, 293, 413
right, right( ), 293, 491
switch, switch( ), 300, 509
switching, 235
Split Screen mode, 41, 552
square root, ‡( ), 533
rotate, rotate( ), 293, 491
Index 603
text editing, 315 – 331
computer, 322
cut, copy, paste, 95, 96, 321
find, 321
highlighting, 320. inside front cover, inside
back cover
S (continued)
shift, shift( ), 293, 499
381, 446
within, InString, 293, 458
Style, style, 112, 305, 508
subMat( ), submatrix, 508
submenus, 35
Text, text, 302, 513
Then, Then, 295, 296, 456
animation, 154, 164
WIRE AND CONTOUR, 155, 166
time value of money activity, 405
TIME, time plots, 142, 146, 190, 191
Title, title, 513
tmin window variable, 131
tmpCnv( ), temperature conversion, 86, 514
toolbar
substitutions, 67, 68, 69
subtract, N, 526
sum( ), summation, 492, 508
sum, Σ( ), 75, 533
switch( ), switch, 300, 509
symbolic manipulation, 57 – 80
sysdata, system data, 203
system variables, 567, 568
T
t0 window variable, 181
TABLE SETUP, table setup, 224
Table, build table, 305, 510
table-graph, Graph<->Table, 224
tables, 221 – 230
define, Custom, 302, 429
off, CustmOff, 37, 428
on, CustmOn, 37, 428
@tbl, 224
automatic, 226
build, Table, 305, 510
cell width, 227, 230
transmitting. See linking and transmitting
clearing, ClrTable, 421
complex numbers, 227
differential equations, 199
displaying, DispTbl, 302, 305, 438
functions, 228
generating with sequence, 151
incrementing, @tbl, 224
Independent AUTO/ASK, 224, 226, 229
manual, 229
trigonometric expansion, tExpand( ), 71, 513
troubleshooting. See errors and troubleshooting
true message, 80
Try, try, 310, 515
tstep window variable, 131, 181
TwoVar, two-variable results, 261, 516
overview, 223
programs, 305
setTable( ), 225
setting, setTable( ), 300, 305, 497
setup, 225
setup, TABLE SETUP, 224
starting, tblStart, 224
U
Unarchiv, unarchive variables, 289, 361, 516
undef (undefined) message, 80
underscore, _, 536
tblStart, 224
Unit System mode, 42, 82, 554
unit vector, unitV( ), 516
units, 83
converting, 85
defaults, 87, 89
tanê( ), arctangent, 511
tan( ), tangent, 510
Tangent (graph math tool), 122, 125, 132, 138
tanhê( ), hyperbolic arctangent, 511
tanh( ), hyperbolic tangent, 511
taylor( ), Taylor polynomial, 75, 76, 512
tblStart, table start, 224
tCollect( ), trigonometric collection, 71, 512
temperature conversion, tmpCnv( ), 86, 514
temperature-range conversion, @tmpCnv( ), 86,
514
displaying, 87
get/return, getUnits( ), 454
measurement, 81 – 92
modes, 42, 82, 554
setting, setUnits( ), 300, 497
user-defined, 88
unitV( ), unit vector, 516
604 Index
U (continued)
W
Unlock, unlock, 289, 516
web plots
upgrading product code, 373, 374
user-defined functions, 46, 77, 78, 97 – 99, 157,
205, 207, 285, 286, 433
convergence, 148
divergence, 148
user-defined units, 88
oscillation, 149
WEB, 142, 146, 147
WEB, web plots, 142, 146, 147
when( ), when, 202, 206, 517
While, while, 298, 518
window variables
qmax, 137
qmin, 137
qstep, 137
@x, 566
diftol, 182
Estep, 182
eyeq (x axis), 158, 162
eyef (z axis), 158, 162, 163
fldres, 182
ncontour, 158
nmax, 143, 144
nmin, 143, 144
plotStep, 143, 144
plotStrt, 143, 144
t0, 181
tmax, 131, 181
tmin, 131
tplot, 181
tstep, 131, 181
V
159, 183
variables, 47, 48
archiving and unarchiving, 360
archiving, Archive, 289, 361, 416
clearing, 341
copy, CopyVar, 289, 358, 422
copying, 358
data, 240, 241, 242
defined, 59, 337
delayed simplification, 66
deleting, 369
in applications, 359
list, 239, 241, 242
local, Local, 286, 288, 289, 290, 464
locking, Lock, 289
locking/unlocking, 54, 358
matrix, 239, 240, 241, 242
moving, MoveVar, 289
overriding, 60
pasting name, 359
renaming, 358
reserved names, 567, 568
statistical, 260, 263
storing, 100
xgrid, 158
system, 567, 568
xmax, 113, 131, 137, 143, 144, 158, 182, 566
xmin, 113, 131, 137, 143, 144, 158, 182, 566
xres, 113, 131, 158
xscl, 113, 131, 137, 143, 144, 158, 182
ygrid, 158
ymax, 113, 131, 137, 143, 144, 158, 182, 566
ymin, 113, 131, 137, 143, 144, 158, 182, 566
yscl, 113, 131, 137, 143, 144, 158, 182
zmax, 158
text, 94
transmitting, 366, 368
unarchive, Unarchiv, 289, 361, 516
undefined, 59, 337
unknown, solving for, 337, 339
unlocking, Unlock, 289
VAR-LINK, 102, 355, 356, 357, 358, 361
variance( ), variance, 517
Vector Format mode, 41, 552
vectors
cross product, crossP( ), 425
cylindrical vector display, 4Cylind, 429
dot product, dotP( ), 439
unit, unitV( ), 516
zmin, 158
wire-and-contour graphing, 155, 166
wire-frame graphing, 155, 166
with, |, 10, 58, 60, 67, 538, 569
within string, inString( ), 293, 458
Vector Format mode, 41, 552
viewing angle, 162
viewing orbit, 164
Index 605
ZoomRcl, zoom recall, 121, 524
ZoomSqr, zoom square, 119, 524
ZoomStd, zoom standard, 119, 525
ZoomTrig, zoom trig, 119, 525
X
xgrid window variable, 158
xmax window variable, 113, 131, 137, 143, 144,
158, 182, 566
xmin window variable, 113, 131, 137, 143, 144,
158, 182, 566
xor, Boolean exclusive or, 294, 347, 518
XorPic, exclusive or picture, 306, 519
xres window variable, 113
xscl window variable, 113, 131, 137, 143, 144,
182, 566
xyline plots, 266
Y
ygrid window variable, 158
158, 182, 566
ymin window variable, 113, 131, 137, 143, 144,
158, 182, 566
yscl window variable, 113, 131, 137, 143, 144,
182, 566
Z
Zero (graph math tool), 122, 123
zeroes
activity, 402
zeroes( ), zeroes, 61, 70, 74, 384, 519
zmax window variable, 158
zmin window variable, 158
zoom
box, ZoomBox, 119, 120, 521
data, ZoomData, 119, 522
decimal, ZoomDec, 119, 522
factors, 119, 121
fit, ZoomFit, 119, 523
in, ZoomIn, 119, 120, 523
integer, ZoomInt, 119, 523
Memory, 119, 121
out, ZoomOut, 119, 120, 524
previous, ZoomPrev, 121, 524
recall, ZoomRcl, 121, 524
square, ZoomSqr, 119, 524
standard, ZoomStd, 119, 525
store, ZoomSto, 121, 525
trig, ZoomTrig, 119, 525
Zoom menu, 119
ZoomBox, zoom box, 119, 120, 521
ZoomData, zoom data, 119, 522
ZoomDec, zoom decimal, 119, 522
ZoomFit, zoom fit, 119, 523
ZoomIn, zoom in, 119, 120, 523
ZoomInt, zoom integer, 119, 523
ZoomOut, zoom out, 119, 120, 524
ZoomPrev, zoom previous, 121, 524
606 Index
|