background image

"A system cannot do everything: There will always be some extremely nasty polynomials
which will frustrate it and cause it to fail to find some of the roots. A system should handle
most of the polynomials it is apt to encounter, but we cannot insist on perfection, lest the
program become a monster that demands more than its share of library space and
requires large amounts of running time looking for subtle difficulties that are not usually
present. We must, however, insist that in the nasty situations the system should
announce its difficulty, lest the trusting user be misled into thinking that all the roots have
been found, and with the precision he desires."

Considering that the TI-89 and TI-92 Plus are intended for educational applications, it is perhaps
reasonable that it fail to solve our example polynomial, which is, however, taken from a problem in
mechanical engineering (strength of materials).  However, as Mr. Acton says, it is not acceptable that it
returns a clearly incorrect root without a warning message.

This situation is somewhat puzzling considering that the TI-86 returns, very quickly, three correct
solutions. The TI-89 / TI-92 Plus probably use a more general algorithm, while the TI-86 uses an
algorithm specifically designed for polynomials.

Some references claim that it is better to normalize the polynomial coefficients by dividing them by the
leading coefficient, so that coefficient becomes one.  Other references claim that normalization
introduces additional rounding errors, and so is best avoided. 

Sometimes your polynomial may be in the form of an expression instead of a list of coefficients.  There
are available TI Basic which extract the coefficients from an expression with repeated differentiation.
This is a clever technique which works great for symbolic coefficients, but it adds round-off error which
will affect the solutions. The ideal solution would be to extract the coefficients with part(), which avoids
any round-off error. I am working on such a program, but as it is not finished, the derivative method is
better than nothing. Here is one version, written by J.M. Ferrard:

polyc(p,x)
Func
©(f(x),x) polynomial coefficients
©J.M. Ferrard

Local c,k
0

k

While when(p=0,false,true,true)
 p/k!|x=0

c[k+

1

]

 

(p,x)

p

 k+

1→

k

EndWhile

seq(c[k],k,dim(c),

1

,

⁻1

)

EndFunc

I have added the final seq() line so that the coefficients are returned in descending order of the
independent variable powers. A call of

polyc(3*x^2+2*x-

1

,x)

returns {3,2,-1}

6 - 125

Summary of Contents for TI-92+

Page 1: ...longer appropriate but it stands for now The tip list is not a buglist a wishlist or a FAQ I maintain a wishlist and good FAQs are available While a FAQ is by definition frequently asked questions thi...

Page 2: ...en 5 Graph Link Cable and Software Using the TI GraphLink cables and software 6 Math Mostly numerical mathematics 7 TI Basic programming Programming techniques tricks and work arounds 8 String variabl...

Page 3: ...2 2 Try constraints or solve in symbolic equality tests 2 1 2 1 Force complete simplification with repeated evaluation 2 0 Computer Algebra System CAS tips 1 51 1 23 Ray Kremer interview on TI Student...

Page 4: ...lists and matrices 3 28 3 25 Internal error with seq and Boolean operators in list index calculation 3 27 3 24 Use equations to build lists of lists and matrices 3 21 3 23 Use single bits as flags to...

Page 5: ...y step programs 6 24 6 22 Linear Interpolation 6 24 6 21 Evaluating polynomials 6 23 6 20 Generating random numbers 6 22 6 19 Sub divide integration range to improve accuracy 6 22 6 18 Use iPart and i...

Page 6: ...then else endif 7 16 7 15 Avoid For EndFor loops 7 14 7 14 Determine calculator model and ROM version in programs 7 13 7 13 Write to program function arguments 7 12 7 12 Access a variable from any fo...

Page 7: ...any custom menu 9 10 9 10 Group fraction digits for easier reading 9 10 9 9 Display all 14 significant digits 9 9 9 8 Dialog box limitations 9 6 9 7 Creating dynamic dialog boxes 9 5 9 6 Position curs...

Page 8: ...n expressions with AMS 2 05 12 1 12 1 Advantages of TIGCC over TI SDK 12 0 C Programming Tips 11 11 11 12 nSolve may ignore solution constraints 11 11 11 11 exp list fails with solve in user functions...

Page 9: ...uart Dawson George Dorner ES Fabrizio Larry Fasnacht Glenn E Fisher Lars Frederiksen Gp John Gilbertson Mike Grass Frank Mori Hess Titmit Hassan Rick Homard Sam Jordan Paul King Eric Kobrin Kevin Kofl...

Page 10: ...FAQs contents not just topics B 4 New bibliography C Many corrections and additions D Correct entries for avgRC setMode Table Logistic New tips added 1 15 Permission to copy TI guidebooks 1 16 Use you...

Page 11: ...undef and get correct results 7 38 Why use TI Basic 7 39 Quickly delete locked archived variables 7 40 Recall expression without variable value substitution 7 41 Indirection bug with local variables...

Page 12: ...ask Check the manual for an answer to your question Check tifaq calc org for an answer to your question Check the FAQs at http education ti com product tech 89 faqs faqs html and http education ti co...

Page 13: ...ou tried to make Only if it s not there should you hit Submit Message again In addition to Ray s good suggestions consider these Replies Remember that people all over the world use the TI discussion g...

Page 14: ...xt1 t plotStrt corr ztmin xscl plotStep c1 c99 ztmaxde xres ok step ztmax xmin nStat min zt0de xmax nmin max zscl xgrid nmax c zplstrt xfact ncurves y zplstep xc ncontour x znmin nc y znmax ui1 ui99...

Page 15: ...s or tabs From a spreadsheet you can select the data range then choose File Save As and select the text file type The actual procedure depends on which spreadsheet you are using It the PC application...

Page 16: ...l E5 cell E6 Prgm Cell E7 is a spreadsheet formula that creates a TI Basic instruction which in turn creates the first matrix row If the matrix has three columns contents of cell E7 are TEXT A7 TEXT B...

Page 17: ...ulator and run it The program makemat can be deleted after the matrix is created To create the matrix program in Lotus 123 different formulas are required in cells E7 and E8 The formula for cell E7 is...

Page 18: ...tures or strings 4 Paste the data to the screen which opens 5 Save As yourname 9xt for a text file for example 6 Drag and drop the new file to Graphlink If you are in Auto mode numbers will be taken a...

Page 19: ...t will be imported into the Image File Viewer program 4 To put text in my pictures I use the font called Small Fonts with a point size of 5 This seems a nice compromise between readability and size an...

Page 20: ...error in Appendix D page 585 The codes for Angle should be Angle 3 Radian 1 Degree 2 The manual mistakenly gives the Angle code as 0 and omits the codes for Radian and Degree 1 7 Undocumented error co...

Page 21: ...hair dryer blow dryer on the medium setting just until the plastic softens and conforms to the keys Don t over do it the LCD display can be permanently damaged by too much heat Credit to Tip DS 1 9 P...

Page 22: ...1 LCD display physical width 4 LCD display physical height 4 LCD display area 4 LCD display aspect ratio 4 White on gray White on blue White on black Yellow on black Green on black White on gray White...

Page 23: ...of up to 12 decimal digits The decimal digits are serially displayed at a speed compatible with the calculator operations The parts of the calculator are so adapted electrically and mechanically in re...

Page 24: ...ted until the selected time period is reached 4115705 Electronic calculator with push button on off system Inventor s McElroy David J Issued Filed Dates Sept 19 1978 June 14 1976 An electronic calcula...

Page 25: ...ularly with scientific calculators which provide an alphanumeric display of entered equations This invention provides a different set of commands and displayed characters for performing exponentiation...

Page 26: ...eration capability TI 82 table feature also on 89 92 V200 Inventor s Phipps Ann E Santucci David M Issued Filed Dates July 2 1996 September 11 1995 A digital computer or calculator is equipped with a...

Page 27: ...ion The first level at the highest battery voltage is displayed as BATT The second level at a lower voltage is displayed as BATT in inverse video white characters on a black background This table show...

Page 28: ...long term failures through corrosion If your calculator is under warrantee or you are not confident in your ability to disassemble your calculator consider sending it to TI for repair or replacement...

Page 29: ...the back up battery The battery is spring loaded so place your finger over the battery as you pry it out or it may go zinging up in the air like mine did 4 Remove the six T 6 Torx fasteners around th...

Page 30: ...f the back up battery area 6 Lift out the PCB 7 Remove the rubber keypad sheet Assembly 1 Install the rubber keypad sheet Make sure that the plastic alignment pins are through the holes in the keypad...

Page 31: ...nd the correct copyright year for xx If the material is extracted from several documents and consolidated in the same reproduction Assign sequential reference numbers to the individual documents used...

Page 32: ...9 H Copy the measurement to the home screen STO Display the measurement Push 5 on the TI 89 M Move cursor right ten pixels 2ND RIGHT Move cursor right one pixel RIGHT Move cursor left ten pixels 2ND L...

Page 33: ...press ENTER to copy it to the entry line then type 2 ENTER and 578 is entered in the history This feature is accomplished with the copyto_h utility which must be installed in a folder named util One...

Page 34: ...etConf to find the calculator screen width If the width is 240 then the calculator is a TI 92 Plus otherwise it is a TI 89 The expression to find the model is if getconfg dim getconfg 14 240 then The...

Page 35: ...ls util copyto_h Global variables main ox Origin cursor x coordinate main oy Origin cursor y coordinate main tx Target cursor x coordinate main ty Target cursor y coordinate main x Maximum x coordinat...

Page 36: ...inate with wrap around Endif EndPrgm move_y mode distance Move cursor target or origin in y direction Define move_y m i Prgm If m 1 then Move target cursor PxlHorz main ty 0 erase old cursor line mod...

Page 37: ...9 main x For TI 89 set maximum x dimension 77 main y set maximum y dimension 45 ko set O key code 53 km set M key code 56 kh set H key code 277 khm set HOME key code 01381 main scl set scale factor in...

Page 38: ...splay help screen help ElseIf key km Then M Display measurement results dist p Calculate measurements if p 3 undef then Set angle measurement display string undef r handle undef else else format radia...

Page 39: ...se b logarithm of x use logb x log x log b ln x ln b 9 To plot a vertical line in the Y function editor at x a use y1 x when x a 9E999 9E999 10 There are no built in functions for secant cosecant and...

Page 40: ...is an experiment and it may last for a long time or for only a short time The sage Ray Kremer saw the new land and he said to the people There has been much Off Topicing in the land of 89 and 92 and i...

Page 41: ...he encounters pirates from the land of HP he will cower and refuse to proclaim the superiority of the TI 89 The gods will look down from Mount Texas with anger and bring Kremer to his knees with a 2KB...

Page 42: ...y in the deep nights of the days of rest And their posts would be foul and profane and certainly off topic and they reveled and cavorted in an orgy of wanton abandon And their obscene destruction did...

Page 43: ...ers into the fray and verily it came to pass that the HP empire did prevail with those who toiled for coin at the arcane arts and the TI empire did prevail with the young apprentices This even though...

Page 44: ...merce with the teachers of apprentices and were in fact aloof to them and snubbed them And the HP wizards were slow to share all secrets of the new king at length in massive tomes and indeed said only...

Page 45: ...hing else Soon came the beginning of the next week time and from atop Mount Texas the great creator Paul King looked down and saw the evil that had been wrought and he cast down his lightning bolt upo...

Page 46: ...dess had spake but alas she was not wholly swayed by the pronouncement of her wise yet obstinate counsel Thus ensued a longsome deliberation twixt the two obdurate goddesses At long last a resolution...

Page 47: ...aused and they felt much anguish knowing that the lords of Mount Texas had been terribly inconvenienced by their foolishness and they evacuated the city and closed its gates while they searched for th...

Page 48: ...e a token for Eks Roots of Power which can be used to find the Roots of Greater Power Where is the token for Eks Roots of Power on the leviathans which are greater in every way The sages of the land o...

Page 49: ...ue his search for the long gone Slayer While much rejoicing was there the flooding continued off and on for many months to come 1 19 Kraftwerk s Pocket Calculator song I have to include a bit about th...

Page 50: ...m the operator with my pocket calculator I am adding and subtracting I m controlling and composing By pressing down a special key it plays a little melody By pressing down a special key it plays a li...

Page 51: ...1 20 TI 92 Plus internal photographs These photographs show the internal assembly of a TI 92 Plus hardware version 2 Inside the back cover Component side of PCB with shield 1 40...

Page 52: ...Component side of PCB GraphLink I O connector detail 1 41...

Page 53: ...LCD connector detail PCB switch side 1 42...

Page 54: ...Key pad sheet contact side Key pad sheet key side 1 43...

Page 55: ...Key cap detail 1 44...

Page 56: ...rnal photographs In case you re curious the photographs in this tip show a disassembled TI 89 hardware version 1 Back cover with batteries and battery covers removed Back cover removed Inside view of...

Page 57: ...Component side of PCB with shield removed A detail view of the intergrated circuits 1 46...

Page 58: ...Detail view of the GraphLink I O connector PCB switch contact side Case front cover with keypad rubber sheet in place 1 47...

Page 59: ...Keypad rubber sheet key cap side Inside front cover showing keycaps in place Detail of a key cap 1 48...

Page 60: ...leg of his trip After introductions all around and some general chatting we revised our itinerary The original plan was to explore Fort Harrison s hiking paths then have a bit of a picnic but unfortun...

Page 61: ...ge I brought pretty much my entire calculator collection so Ray and Bhuvanesh got a chance to see and play with many HP calculators including the HP 49G This prompted many interesting stories and obse...

Page 62: ...Home Algonquin IL Current field of study Material Science Master s Program Purdue University Field of undergraduate degree Chemistry Bradley University Peoria IL Motivation for choosing chemistry The...

Page 63: ...n I first got a TI GraphLink cable it took some time and research to get it properly configured on my computer and I m a computer savvy person Naturally lots of people also have trouble hooking up the...

Page 64: ...ou read I m currently working my way through a rather large stack of Star Trek novels Disregarding those I read Good Omens by Neil Gaiman and Terry Pratchett during the holidays What is the best movie...

Page 65: ...lex it goes as far as it can and leave it in a bit simpler state but doesn t finish it If you only paste the partially simplified answer back into the input line and hit ENTER again it will finish the...

Page 66: ...expressions on the left and right hand sides of the equality For the example above frctest x 1 x 1 x 2 x 1 x 1 returns true Alternatively try solving the expression for a variable in the expression F...

Page 67: ...ct mode to ensure Limit success This is mentioned in the manual but it is worth repeating here because you can get wrong results without warning For example consider this limit expressed in two differ...

Page 68: ...a 2 b 2 a 2 5 b z 7 a 2 b 3 a b 2 2 and also warns that Memory full simplification might be incomplete but this takes less than 4 seconds expand 3 a 2 b 2 a 2 5 b z 7 a 2 b 3 a b 2 2 z and returns the...

Page 69: ...y Rectangular Exact returns answer not as fast warning message Memory full some simplification might be incomplete Real Approx can t find integral Rectangular Approx can t find integral Mode settings...

Page 70: ...los Becker for straightening me out on this 2 11 Force getnum and getdenom to return correct results with part The part function is used to return the parts of an expression In some cases it does not...

Page 71: ...t can indicate that expressions are equal when they are not or vice versa For example round off errors in evaluating the functions may return a result that is very small but not zero Further you need...

Page 72: ...x 1 and the limit function can find the limit of this expression like this limit 1 x 1 x x 1 x 0 1 2 Credit to Olivier Miclo 2 14 Define functions that CAS can manipulate The CAS will not be able to m...

Page 73: ...t be evaluated limit when x 0 1 sin x x x 0 If the limit is expressed as limit when X k L f X X 0 then substitute x 1 for X to obtain limit when x 1 k L f x 1 x 1 The example above becomes limit when...

Page 74: ...h the Mode key or setfold command Perform the CAS operations as needed 2 18 Delay evaluation to simplify expressions Sometimes the CAS will not simplify expressions because it assumes general conditio...

Page 75: ...list of constraints then each constraint is evaluated in the while loop The call to evaluate our example is delay ln t n ln t t p 2 and n q 2 p 2 t and q 2 n which returns n Finally note there is a si...

Page 76: ...In this example a and b are simple expressions but the method also works if a and b are also lists Credit to Bhuvanesh Bhatt 2 21 Differentiation and integration fail with part The part function is us...

Page 77: ...emporarily set to complex so that complex factors are sought and not rejected comDenom Term by term comDenom a b c d reduces a d b c b d to lowest terms and repeats this process for each additional te...

Page 78: ...fraction expansion much as described by J Moses Symbolic Integration The Stormy Decade Communications of the ACM August 1971 Volume 14 Number 8 pp 548 559 Antiderivatives are NOT computed by any of th...

Page 79: ...r infinite summation limits taylor taylor series taylor u x n a is limit d u x k x a x a k k k 0 n computed iteratively to avoid redundant computation of lower order derivatives tCollect trig collect...

Page 80: ...1 x is not infinity it is undefined There are actually different degrees of infinity A denumerably infinite set is equivalent to the set of all natural numbers The German mathematician Georg Cantor de...

Page 81: ...for consistency the computer algebra must implement one place along this spectrum of sophistication Unless the place is discard as little information as is practical people will be disappointed that...

Page 82: ...bove For this example use factor a x 2 c x e b x 2 d x f where i is the complex i not the alphanumeric i 2 26 limit fails with piecewise functions The CAS has problems with limits of piece wise functi...

Page 83: ...If x 0 6 then the search routine should return 0 22 0 33 or both depending on the purpose of the program For example an interpolation routine would need 0 22 and 0 33 In the most general case the pro...

Page 84: ...s the matrix and r is the number of the row to delete You will get a Domain error message if r is less than or equal to zero or greater than the number of rows of matrix m You can also use mrowdel to...

Page 85: ...RP SPP 1 3 0 RP 2 1 0 RP 1 2 RECTANGULAR or POLAR Non real result 3 1 Non real result 1 3 0 RP 2 1 0 RP 1 2 REAL SPHERICAL 0 RP 0 3 1 0 RP 0 1 3 0 RP 2 1 0 RP 1 2 REAL RECTANGULAR or POLAR CYLINDRICA...

Page 86: ...write to single elements in data variables This can be limiting since data variables are used in the statistics and regression functions However you can write to elements indirectly with this procedu...

Page 87: ...this NewData adata alist1 alist2 3 9 Replace matrix rows and columns Sometimes you need to replace an entire matrix row with a different set of values For example suppose you have this matrix a 1 2 3...

Page 88: ...m executes in about 9 8 seconds and the agmnt program finishes in about 17 9 seconds However if your list element expression is simple enough to be used in the seq function this is much faster than ei...

Page 89: ...The 89 92 have no built in functions to find the minor and adjoint of a matrix but these are easily accomplished with the built in functions The minor of an n x n square matrix A aij is the determina...

Page 90: ...a Dimension error occurs if the matrix is not square The process of finding the matrix minor is built into adjoint but mminor returns the minor if needed mminor m r c Func m r c Return first minor r c...

Page 91: ...1 dim m n sorta n m EndPrgm n1 and n2 are the starting and ending values for the list elements The resulting list is stored in the list m For example the call randlist 0 4 might return this for m 4 2...

Page 92: ...o are useful in many cases For example arrays of rank 3 can represent fields and other physical models Arrays of rank 3 and 4 can be used to represent tensors This tip shows how to create and store ar...

Page 93: ...m d 3 d 2 l 1 1 l 2 1 l 3 m EndFunc where v is the value to store in the array l is a 3 element list that specifies the element location as a1 a2 a3 d is a 3 element list that specifies the list dime...

Page 94: ...t note that the the location and dimension lists have dimension 4 since the routines work on a 4 dimensional array In general for an n dimensional array you will sum n terms to find k The terms are 1s...

Page 95: ...he general expression is slow it is useful to find a symbolic expression for the list index For example to find the index expression for a rank 5 array set a 1 a 2 a 3 a 4 a 5 a d 1 d 2 d 3 d 4 d 5 d...

Page 96: ...3 d 4 d 3 d 4 1 a2 intdiv i 1 a1 1 d 2 d 3 d 4 a2 1 d 3 d 4 d 4 1 a3 a1 a2 a3 i d 4 d 3 d 2 a1 1 a2 1 a3 1 EndFunc Find element address for array of any rank mnaind i d Func mnaind i dims returns the...

Page 97: ...t is correct The 89 92 do not have built in functions for higher dimension arrays but the simple list storage method means that simple array operations are trivial These examples show operations on tw...

Page 98: ...lts for transpos transpos a b c d e f g h 2 2 2 2 3 returns a c b d e g f h transpos a b c d e f g h 2 2 2 1 2 returns a b e f c d g h transpos is limited to rank 3 arrays but it can be extended by ch...

Page 99: ...r dims i1 i2 Performs an internal inner dot product on indices i1 and i2 of arr Outer f arr1 dims1 arr2 dims2 Performs an outer tensor Kronecker product of arr1 and arr2 using the function f to combin...

Page 100: ...example this works If L1 L2 then code for L1 L2 goes here else code for L1 L2 goes here endif The other conditional operators also work for lists for example L1 L2 evaluates to true if each L1 elemen...

Page 101: ...a list of the differences between the elements then compare that result to a list of zeros This function works if the list elements are numbers including complex numbers or strings but does not work...

Page 102: ...st m 1 EndFunc Or to convert a matrix to a row vector use this mat2rvec m Func m convert matrix to row vector 2april01 dburkett infinet com list mat mat list m 1 EndFunc mat2cvec converts a matrix to...

Page 103: ...le list1 Next use seq k k 0 n xlist f list1 ylist to make lists of x coordinate plot values and function values respectively Finally set up a data plot not a function plot in the Y Editor using xlist...

Page 104: ...in VarOrList to 0 Clear a bit bitclr VarOrList bit Set bit in VarOrList to 1 Set a bit bitset VarOrList bit Results Function For all four routines VarOrList is a 32 bit integer variable or constant o...

Page 105: ...flags If you need more than 32 flags you can use the same functions but use a list of 32 bit integers instead of a single integer For example if we need 96 flags we would use a list of three integers...

Page 106: ...s and boolean operators needed to perform different tests and manipulations as shown flags 0b0101 mask 0b0110 flags and mask 0b0100 result true flags and mask 0 0 ignore the flag bit in the test 1 inc...

Page 107: ...t of integers Any other type will return an error message The bit number must be greater than 1 and one less than the total number of flags If the flags argument is an integer the bit number must be l...

Page 108: ...dOrList bit clear bit 21may01 dburkett infinet com local k msg type bitclr err msg gettype x type when type NUM when b 0 or b 31 msg exact x and not 2 b when type LIST when b 0 or b 32 dim x 1 msg aug...

Page 109: ...ooses the correct bit from 0 to 31 in list element k The list element k is found from the expression 1 intdiv b 32 where b is the bit number input argument In either case the desired bit is set cleare...

Page 110: ...e 1 2 3 4 On the other hand you can use the equation variables to label the lists result1 1 2 result2 3 4 You can build nested lists of lists 1 2 3 4 5 6 To extract the individual list elements use th...

Page 111: ...ible to this error In most cases you can work around this limitation I found the limitation while attempting this command sum seq t shift n k 4 and 0hF 1 k 0 7 s The equivalent work around is 0 s for...

Page 112: ...t in min and max functions To find the indices of the minimum list element use indexlst mylist min mylist which for the example above returns 6 7 To find the indices of the maximum list element use in...

Page 113: ...ts As with the list index function we can use indexmat to find the indices of the minimum and maximum matrix elements but we must first use mat list in the argument of min and max because those functi...

Page 114: ...a specified item If the target item is found the function returns a list containing the position of item If the item is found more than once the function returns a list containing all the indices of...

Page 115: ...each element to see if it matches target item if it does add its position to the list while listPointer END_TAG compare_expressions returns 0 if the items match if compare_expressions listPointer ite...

Page 116: ...derably I also defined the function is_0 within the function so it is self contained I changed the returned error message strings My modified routine is shown below det2a m Func mat symbolic determina...

Page 117: ...ol Fill matrix or list 23jun02 dburkett infinet com local gettype d This expression is all one line when LIST seq e k 1 d 1 when MAT list mat seq e k 1 d 1 1 d 1 2 d 1 2 fil l_lm err EndFunc fill_lm r...

Page 118: ...he dimension of list is zero if column k does not exist This condition exits the loop The only error checking ensures that all the data variable columns have the same number of rows since this must be...

Page 119: ...the output svd aa Prgm sdv m u d v m u d v Hernan Rivera Local st i k n m ut sc Define sc st1 n Prgm Local st2 i seq i i 1 n st2 SortD st1 st2 newMat n n e1 1 i While i n 1 e1 st2 i i i 1 i EndWhile E...

Page 120: ...ts beyond a list s current dimension if the new index is only one more than the dimension For example suppose we have a list of three elements a b c mylist then we can store a new fourth element even...

Page 121: ...line is very large and the line will appear to be vertical B must be much larger than the range of interest of x Method 2 A variation on this theme defines B as global variable _vert like this 1 100 _...

Page 122: ...both with and without the DispG instruction For the case labeled 1 the values shown are whatever they happened to be before test was run the assignment of 0 and 50 to the min max variables has no eff...

Page 123: ...ots to view window coordinates not absolute pixel coordinates This program has a hard coded plot resolution of 2 which means that the function is evaluated at every other y and x coordinate This resul...

Page 124: ...ersion of the truth plot program can be very slow especially when every pixel is tested using res 1 in truthd The 92 LCD has 24 617 pixels and the 89 display has 12 243 pixels truth is slow because th...

Page 125: ...spec is the matrix or name of the matrix of the data points to plot fplot is the function to plot which must have an argument of x xyn and fpn specify which plot number to use for the data and functio...

Page 126: ...tion regardless of the current display mode settings Unfortunately this program leaves the plot definition behind for xlist and ylist Since the variables are deleted the plot will not display but an e...

Page 127: ...know this as the unit step function mathematicians call it Heaviside s step function You can use the unit step function to turn on various graph segments This is done by multiplying the function by t...

Page 128: ...l00 dburkett infinet com local dxx k Find x step and make x y lists Change all 239 to 159 for TI89 res xh xl 239 dxx seq k 1 dxx xl k 1 ceiling 239 res xx seq expr fname x xx k k 1 ceiling 239 res yy...

Page 129: ...to plot an integral function with an independent variable x Such a function might be in the form x0 x f t dt where x0 is a constant For example the sine integral function is defined as Si x 0 x sin t...

Page 130: ...ssion or a string if gettype fname STR then when x0 xl 0 nint expr fname x x0 xl yy 1 else when x0 xl 0 nint fname x x0 xl yy 1 endif Find integral at remaining points For each plotted point find the...

Page 131: ...ntegrand fname as an expression or a string This flexibility is provided so that expressions plot quickly but the program still works for integrands that cannot be passed as expressions This is a limi...

Page 132: ...hown STR 5 14 1 97 EXP 3 58 1 50 Not finished in 35 minutes Questionable accuracy shown ln x sin x x0 xl 0 1 xh 3 1 res 1 STR 4 21 1 09 EXP 2 34 0 64 15 07 3 78 STR 3 59 1 50 EXP 3 27 1 30 14 25 5 41...

Page 133: ...ialog box string igrand igrand string lil lil string lpl lpl string upl upl string res res string dpn dpn Prompt for all parameters dialog title PLOT INTEGRAL request Integrand f x igrand text or f x...

Page 134: ...is program works on both the 89 and 92 The input dialog box looks like this on the 92 Note that all the input parameters can be entered as expected and that the integrand can be entered as an expressi...

Page 135: ...data points and scale the x and y axis maxima and minima so that the x axis coordinates are the matrix row indices and the y axis coordinates are the matrix column indices The steps to create the plot...

Page 136: ...e the viewing angle Credit to anonymous poster on TI 89 92 Discussion Group 4 12 Random scatter plots of noisy functions The function plot feature of the TI 89 92 will plot at most one point for each...

Page 137: ...ints for k 1 n if getkey 0 exit xh xl rand xl xn expr f x format xn S12 yn if yn ymin or yn ymax then true e pxltext range error 0 0 disp Range error string yn else pton xn yn endif endfor Delete glob...

Page 138: ...Bode plots are commonly used in electrical engineering applications to show the performance of filters or other transfer functions The 89 92 do not have built in logarithmic scaling for function plot...

Page 139: ...ic frequency list using loglist from tip 3 22 We will plot 50 points between the frequencies of 62 and 6300 Since I have loglist stored in the util folder the command is util loglist 62 6300 50 flist...

Page 140: ...lot Type to Scatter set the Mark to Box set x to xcoord and set y to mag Push ENTER ENTER to finish editing 5 Press F2 to display the Zoom menu then press 9 to select ZoomData This is the resulting ma...

Page 141: ...a different symbol such as the symbol so that you can easily distinguish the two plots Display the phase plot by pressing F2 then 9 to select ZoomData 5 With the phase plot still shown press F1 to op...

Page 142: ...ams may require completely clearing the Graph screen of plots functions axes and so on This program does it graphClr Prgm Completely clear Graph screen local StoPic XorPic DelVar EndPrgm The method wo...

Page 143: ...iables include all the programs and data you want to restore later Record the folders in which the variables are located It may help to create directories on your PC with the same names as the calcula...

Page 144: ...ack GraphLink cables The TalkTI SDK can be downloaded here http education ti com developer talkti high hilight html TI hosts a related discussion group http www s ti com cgi bin discuss sdbmessage cgi...

Page 145: ...ays the risk of damage particularly if the cable is incorrectly assembled Neither Frank nor I accept any responsiblity for any damage that may result Almost all of the information for this tip is take...

Page 146: ...he connection to the computer may be either a DB9 or a DB25 connector the DB25 pin numbers are shown in parentheses The GraphLink plug which connects to the calculator is a 3 conductor stereo 2 5 mm c...

Page 147: ...m many sources including Radio Shack Digikey www digikey com and Mouser Electronics www mouser com Mouser carries a very nice 2 5mm jack 161 3307 1 47 which I use As an alternative to this jack you co...

Page 148: ...age of resistor will work also any value from 82K to 120K 100kohm 1 8W 10 R1 R2 R3 R4 Any PNP transistor with at least 25V collector emitter voltage rating 2N3906 Q3 Q4 Q6 Q7 May also be 2N3904 or any...

Page 149: ...2 pack of 10 1N914 1N4148 D1 D2 D3 D4 Total cost US RadioShack part number Value Designator All of these parts should be in stock at any RadioShack but your particular RadioShack may have to order som...

Page 150: ...jumper so that both are connected to the base and TX The general assembly procedure is 1 Lightly polish the copper pads with very fine steel wool or sandpaper or ScotchBrite This removes the oxidatio...

Page 151: ...bit may be transmitted Note that precise timing is not required because this is an asynchronous data link Since the GraphLink is designed for communications between two calculators the purpose of the...

Page 152: ...CC operates in much the same way except that Q5 and Q6 form a push pull output stage to drive the CTS line Testing the cable The simplest way to test the BCC is to plug it into you calculator and comp...

Page 153: ...show the correct results as well as my measured results when using a 9V battery Note that V is the positive terminal of the battery or power supply and V is the negative terminal Test results for tip...

Page 154: ...the schematic and verify that you have in fact built the circuit shown Some circuit flaws are caused by soldering problems 1 Carefully check the circuit for shorts unintentional solder bridges betwee...

Page 155: ...swapping Because of the low currents involved SW1 should be a dry circuit switch with gold contacts Unfortunately 3PDT switches with gold contacts are not easy to get The alternative is to use a swit...

Page 156: ...the string COPY is DIAMOND C on the TI 92 and DIAMOND SHIFT on the TI 89 4 The special character string is now in the clipboard and can be pasted where needed for example in a program or function in...

Page 157: ...ich is 5 9 GraphLink software sends either TI 89 or TI 92 Plus files There are two versions of TI s GraphLink software one for the TI 89 and one for the TI 92 Plus By default the Link Send dialog box...

Page 158: ...98 Windows ME then check the Disable Visual Themes box and finally click OK Repeat for all the exe files in the TIConnect folder Mr Thornton also reports that as of this writing Feb 02 the USB Graph...

Page 159: ...ion Thank you for your recent correspondence with Texas Instruments Yes this behavior is possible We internally calculate with expressions in the rectangular forms that are then converted to a polar f...

Page 160: ...tute into 3 to get 4 A dx A x dx b Since we know everything on the right hand side of 4 we can solve 4 for dx 5 dx A 1 A x dx b So if we subtract dx from the original solution x dx we get a better est...

Page 161: ...5 9E 9 Minimum residual 7 8E 10 The residual is the difference between the actual b values and the calculated b values The RMS residual is a deviation measurement of all the residuals and the minimum...

Page 162: ...min floor abs x 10 n If n 0 x n x approx x 0 5 ln x x 0 5 ln 2 polyEval 0 0005952380952381 0 00079365079365079 0 0 027777777777778 0 083333333333333 x 2 x when n 0 0 ln 1 x k k 1 n y approx when real...

Page 163: ...dim s instring s 1 elseif gettype x LIST then dim x n1 newlist n1 xlm for k 1 n1 sigdig x k n xlm k endfor return xlm elseif gettype x MAT then rowdim x n1 coldim x n2 newmat n1 n2 xlm for j 1 n1 for...

Page 164: ...William W Kolb Syntek Inc which is unfortunately out of print xl and yl are lists that specify the x y data points to fit h and k specify the point h k through which to force the best fit line linreg...

Page 165: ...k 1 dim xl mean yl 2 Endfunc For example if the correlation equation coefficients are b a as returned by linreghk use corrhk polyeval b a x xlist ylist where xlist and ylist are the lists of data poin...

Page 166: ...ons can also be expressed in exponential form but the results are more complicated The principle is to use complex numbers for the function arguments then eliminate the imaginary parts of the argument...

Page 167: ...exact str Func Convert string argument to exact number Local b t s sign expr str s if inString str 1 right str dim str 1 str inString str b If b 0 then right str dim str b t Return s exact iPart expr...

Page 168: ...M Then If w 0 Then If p 0 Then 1 u 1 v Else 0 u 0 v EndIf Else a 3 u a 3 v EndIf Else a 3 u a 3 v EndIf p 3 2 3 2 p 3 2 3 2 p 3 u v w Copyright 1998 1999 Glenn E Fisher EndFunc quartic quartic pp Func...

Page 169: ...v Make list of coefficents p polynomial v independent var Local If getType VAR Return p coef 2nd arg must be a VAR If inString string 0 Then left Else EndIf 0 1 1 Loop If getType NUM and 0 Exit 1 aug...

Page 170: ...ular or Polar To help prevent Memory errors these routines should be the only variables in the folder and there should be no other variables in the folder These routines can take a long time to return...

Page 171: ...9 2 3 2 1 3 6 3 1 6 2 1 3 12 9 69 1 3 i These solutions can be verified by substituting them back into the original polynomial For another example try quartic x4 x 1 x The results are quite long and...

Page 172: ...fic number of fractional decimal digits use fcode of Fd where d is the number of digits For example for three fractional digits use expr format 1 23456789 F3 which returns 1 235 To round a number to a...

Page 173: ...nm Set maximum iterations error string 30 nm fipoly iterations erstr Find list of derivative coefficients dim clist dm seq clist k dm k k 1 dm 1 fd Find first guess and absolute error polyeval fguess...

Page 174: ...is the same as specifying the number of significant digits For example if you specify a relative error of 0 0001 and the y values are on the order of 1000 then fipoly will stop when the y error is les...

Page 175: ...is function we don t gain much by setting the error limit to less than 1E 9 Note that this program is much faster than using nsolve compare these execution times of about 1 3 seconds to those of about...

Page 176: ...ion that is updated by the regression command It is the regression equation itself and I use it in both routines to calculate needed values regcoef is the list of regression equation coefficients and...

Page 177: ...unction to find RMS RMS 1 n norm dmatrix where dmatrix is the matrix of data values and n is the size of the matrix This function performs the calculation rms m func if gettype m LIST list mat m m nor...

Page 178: ...16 0 and y 16 x2 or x2 16 0 and y 16 x2 This shows a general issue when converting from one coordinate system to the other which is that extraneous solutions may be introduced The only general soluti...

Page 179: ...not directly support this angle format you need a conversion routine to convert the entered angle to decimal degrees or radians The routine called dms is dms a1 func Convert angle in D MS format to de...

Page 180: ...nteger that is less than or equal to the argument So int 4 2 iPart 4 2 4 but int 4 2 5 and iPart 4 2 4 If you are trying to find the integer part of any number use iPart 6 19 Sub divide integration ra...

Page 181: ...h summed subintervals dburkett infinet com 6 nov 99 ffx function to integrate xv variable of integration xx1 xx2 lower and upper integration limits nx number of subintervals local dx xx2 xx1 nx dx sum...

Page 182: ...2 8 ln x 3 4 sin x 3 6 sin x 2 3 use polyEval 4 6 0 3 sin x 6 22 Linear Interpolation Linear interpolation is the least sophisticated least accurate interpolation method However it has the advantages...

Page 183: ...e Finally the numeric solver is started with the last program line To use this program enter linterp at the command line then press ENTER at the solver eqn prompt The prompts for the six variables are...

Page 184: ...ector Format is set to RECTANGULAR then coordinates entered in polar format are converted to rectangular coordinates when the vector is entered For example if the mode is RECTANGULAR and 2 4 in polar...

Page 185: ...led nder1 Diagnosing nder1 with nder1p Shows how to fix errors that might occur with the Ridders method program General comments on numerical differentiation General concerns with any numerical differ...

Page 186: ...he central difference over an interval h where h defaults to 0 001 Since the limit of the nDeriv formula is the derivative it makes sense that the smaller we make h the better the derivative result Un...

Page 187: ...6 More accurate results with Ridders method nder1 Ridders method Advances in Engineering Software vol 4 no 2 1982 is based on extrapolating the central difference formula to h 0 This method also has...

Page 188: ...a good step size based on the function and evaluation point nder1 returns a list with two elements The first element is the derivative estimate and the second element is the error estimate nder1 is c...

Page 189: ...to setting is about 1 108E 4 If we try nder1 with a starting interval of about 1 10 of this value we get nder1 tan 1 5707 1E 5 1 07771965667E8 1 62341 Since the error estimate is much smaller we can t...

Page 190: ...d be stored in the same folder Run nderui like this nder nderui and this input dialog box is shown The Function Name is entered without quotes as shown Eval point is the point at which the derivative...

Page 191: ...h ENTER to return to the home screen The results screen looks like this The Starting interval hh shows the first value for h which is especially helpful when the auto option is used The string SAFE li...

Page 192: ...est disp error string err disp amat column string i disp fac string fac pause disphome endprgm General comments on numerical differentiation Any numerical derivative routine is going to suffer accurac...

Page 193: ...a simple function such as tan x The 89 92 can easily find the symbolic derivative which can then be evaluated numerically However you may have complex programmed functions for which 89 92 cannot find...

Page 194: ...ng the tan x function in nDeriv we call the function indirectly like this nDeriv ftan xx xx h xx 1 where ftan is just a user function defined to return tan x This results in the following 3 43E 00 0 1...

Page 195: ...6 x 1 3 6x 2 Notice that in this case h drops out completely because the central difference formula calculates derivatives of 2nd order equations exactly While this is a laudable approach in terms of...

Page 196: ...erivative of the function f x While we don t know this we don t even know the first derivative we can estimate it with an expansion of the central difference formula modified to find the second deriva...

Page 197: ...itten Bhuvanesh Bhatt has also written a function to find both Bernoulli numbers and polynomials Bhuvanesh function is smaller and handles complex arguments You can get it at his site see the More Res...

Page 198: ...dburkett infinet com if n 0 return 1 if n 1 return 1 2 if n 0 return undef if fpart n 2 0 return 0 z n z 1 2 n 1 n 2 1 2 n EndFunc The first three executable lines handle the special cases for B0 1 B...

Page 199: ...g g g x 0 1 f endfor return f EndFunc bnpolys may not return the polynomial in the form you want For example bnpolys 3 returns x 2x2 3x 1 2 Use expand to convert this result to x3 3x2 2 x 2 or use com...

Page 200: ...derive Bernoulli polynomials if nxx bpdim then augment spfn bpoly newlist nxx bpdim spfn bpoly for k bpdim 1 nxx k spfn bpoly k 1 x ff1 ff1 ff1 x 0 1 spfn bpoly k disp k disp spfn bpoly k endfor endi...

Page 201: ...ll unarchive it for you This table gives you some idea of the memory required for tables of various orders of polynomial The size is in bytes with the list archived The size of the last polynomial in...

Page 202: ...Kim and Betty Alexandra Toole Scientific American magazine May 1999 This very interesting article describes a program written in 1843 by Ada countess of Lovelace for Charles Babbage s Analytical Engi...

Page 203: ...x and y like this and t x x1 x2 x1 u y y1 y2 y1 With this scaling t 0 when x x1 and t 1 when x x2 Similarly u 0 when y y1 and u 1 when y y2 This equation system to solve simplifies to this d z1 or a z...

Page 204: ...f xb ya zbb f xb yb As an example given this data zbb 0 5394 zba 0 5534 xb 0 6 zab 0 4580 zaa 0 4699 xa 0 5 yb 0 3 ya 0 2 to interpolate for x 0 52 and y 0 28 the call is bilinint 5 6 2 3 4699 4580 5...

Page 205: ...e user input in dialog boxes and displays the result in a dialog box The previous inputs are saved in global variables so they can be used as defaults the next time you run the program These global va...

Page 206: ...ynomial fit on the function 1 z a x2 y2 b x2 y c x y2 d x2 e y2 f x y g x h y i Since the interpolating polynomial includes squared terms of each independent variable it can match some curvature in th...

Page 207: ...equires inverting the X matrix We can avoid inverting the matrix and get the solution more quickly if we scale the x and y coordinates such that 5 x1 h u1 0 x2 h u2 1 x3 h u3 2 6 y1 h v1 0 y2 h u2 2 y...

Page 208: ...exactly with 89 92 BCD arithmetic so they do not contribute to round off error in the final result Once we have the polynomial coefficients it is straight forward to interpolate for z with 11 z a u2 v...

Page 209: ...solution vector is converted to a list so that the built in list multiplication can be used to find each term of the sum in 11 As an example suppose that we want to interpolate with this table at x 0...

Page 210: ...riables dialog title INTRP9UI request x1 x2 x3 x123 request y1 y2 y3 y123 request z row 1 zz1 request z row 2 zz2 request z row 3 zz3 request x y xy enddlog if ok 0 return Extract x variables util rq3...

Page 211: ...res ERR then errdisp z row 2 if ok 0 then return else goto in1 endif else res 1 zmat 2 1 res 2 zmat 2 2 res 3 zmat 2 3 endif Extract row 3 z variables util rq3v zz3 res if res ERR then errdisp z row 3...

Page 212: ...erpolate again if ok 0 return goto in1 EndPrgm Refer to the comments at the start of the program it requires that a few functions be installed in the math and util folders When the program is run an i...

Page 213: ...right hand entry is the interpolated result This feature is made possible by Samuel Stearly s copyto_h function as described in tip 7 8 If you forget to enter one of the commas that separate the argum...

Page 214: ...easured from the x axis to the projection of the ray in the xy plane For a picture refer to the sphere command in your 89 92 manual This definition is unambiguous However there is considerable ambigui...

Page 215: ...gamma 1 895 We choose the three table x values which bracket our desired x value of 1 895 where the middle x value is the one closest to the desired x value From the table the three points are x1 1 84...

Page 216: ...y data points dialog title ENTER DATA POINTS request x1 y1 x1y1 request x2 y2 x2y2 request x3 y3 x3y3 request x x text Push ESC to quit enddlog if ok 0 goto exit1 Give user a chance to quit here Conve...

Page 217: ...x to quit the program The interpolation result is saved in a global variable res which can be recalled at the home screen after exiting quadint The global list variables are deleted when the user quit...

Page 218: ...Accurate approximate solutions to quadratic equations with large coefficients This tip shows a method to calculate the approximate roots of the quadratic equation ax2 bx c when a and b are very small...

Page 219: ...method quadrtic will return complex results if the complex format is set to RECTANGULAR or POLAR Otherwise equations with complex results will result in an execution error quadrtic returns these solut...

Page 220: ...oint of was selected more for reasons of execution time than anything else Above that point nint takes significantly longer to execute The routines must be installed in a folder called spfn Set the mo...

Page 221: ...utines is 1E12 radians This limit results from the use of the built in sin and cos functions The evaluation of ci x and si x is also complicated by the fact that nInt evaluates the integrals very slow...

Page 222: ...i x x real x 1 12 Must be in folder spfn 23jan01 dburkett infinet com if x 0 return undef if x 0 return spfn ci x if x then polyeval 1 0 38 027264 0 265 187033 0 335 677320 0 38 102495 x polyeval 1 0...

Page 223: ...1 3637083 912029 2 1 2617121980876 1 7 1828654414196 2 5 4039791770217 1 1 06420880400 84 1 1 x 1 when x 2 8571428571429 1 1 x x x 5625 polyeval 9 8143293441 691 8 1287435506307 1 1 8460509290671 2 1...

Page 224: ...cumulative normal distribution You can find the cumulative normal distribution by integrating equation 1 with the nint function The function below cndint does this cndint x m s Func x mean std dev fi...

Page 225: ...d as expected just use 1 cnd For example to find the upper tail normal distribution for x 2 mean 0 and standard deviation 1 use 1 cnd 2 0 1 which returns 0 0227501319482 For some other problems you mi...

Page 226: ...me can be considerably reduced by providing nSolve with a good initial guess for the value of x If the initial guess is good enough we don t need to use nSolve at all and the result is returned very q...

Page 227: ...19 898826537593 We can check this answer with cnd cnd 19 898826537593 20 15 returns p 0 25000000025933 cndif is fast since it simply uses two polyeval functions to calculate the estimating rational p...

Page 228: ...80 Odeh and Evans approximation for the inverse cumulative normal distribution is shown on p95 6 36 Integration may return undef for identical integration limits By definition a a f x dx 0 for any a a...

Page 229: ...er P Efficient and Portable Combined Random Number Generators Communications of the ACM Vol 31 Number 6 June 1988 pp 742 749 774 6 38 Finance Flash Application function finds days between two dates If...

Page 230: ...operate on numbers expressions and lists For example sin a returns sin a sin 2 returns 0 1987 sin 0 2 returns 0 0 1987 This is very convenient in that you can use a single function to handle various a...

Page 231: ...list If the argument is a matrix two nested For EndFor loops are used to evaluate the function of each matrix element and the matrix is returned If the argument type is not supported f1demo returns t...

Page 232: ...tial form instead of using the square root operator Applying this to example 1 correctly returns 5 7x 4 3 2 2 7x 4 5 2 35 and for the definite integral of example 4 correctly returns 6 2 9 7x 4 3 dx 8...

Page 233: ...called Sx is displayed with the ShowStat command To display the population standard deviation called x after using OneVar you must manually recall x as follows TI 89 DIAMOND alpha S x ENTER TI 92 2ND...

Page 234: ...e of list 28apr01 dburkett infinet com variance x 1 1 dim x EndFunc The built in stddev and variance functions can both accept an optional second argument which is a list of the frequencies of the fir...

Page 235: ...of the second argument must be taken to get the correct result However suppose we apply this technique to the vector 1 i 1 i where i is the square root of 1 Then dotp 1 i 1 i 4 as expected but dotp 1...

Page 236: ...t we have a triangle defined by the three points A B and C with rectangular coordinates xa ya xb yb and xc yc We have another point P at x y and we want to know if P is inside the triangle ABC In gene...

Page 237: ...The absolute difference between the two areas is 2E30 but the relative difference is 2E 10 If we call PntTrian with tol 1E 12 it will correctly return false in this case Disregarding the tolerance po...

Page 238: ...11x 6 sin 3x which has these three real roots when f x 0 x1 0 71379958487236 x2 1 1085563021699 x3 2 14042730947 Suppose we use nsolve in a function to find the third root x3 The function might look...

Page 239: ...g 6 48 Use R P for four quadrant arc tangent function The built in arc tangent function tan 1 cannot return the correct quadrant of an angle specified by x and y coordinates because the argument does...

Page 240: ...uments if rowdim x rowdim y or coldim x coldim y return m Validate dimensions return list mat math atan2 mat list x mat list y coldim x elseif x NUM then Handle numeric arguments return t x y else Ret...

Page 241: ...nd the Taylor polynomial for the expression This is the case for complicated user defined functions In this case you can find the derivative numerically see for example tip 6 26 then solve for the tan...

Page 242: ...natural logarithm base e exponentiation function e x ln is the natural logarithm function sqrt is the square root function n is the number of loop iterations and the calculation is performed with the...

Page 243: ...st 2 054E 7 87 SysRPL 12 digit Display off HP 49G Ralf Fritzsch 2 054E 7 96 SysRPL 12 digit Display on HP 49G Ralf Fritzsch 2 054E 7 120 UserRPL HP 49G Jonathon Busby 3 572E 9 62 Saturn ASM display of...

Page 244: ...eally measured the function evaluation time anyway Instead we have measured the combined execution time of the function evaluation and the loop overhead For the TI 89 TI 92 Plus TI Basic programs this...

Page 245: ...defined to be double BCD16 is the recommended type for declaring floating point variables in applications This type uses a 16 digit mantissa and provides more accuracy Thus BCD16 variables provide th...

Page 246: ...for the evaluated functions some other statistical measure would be a better indication of the relative accuracy Some candidates are the RMS error over some range or even the mode Of course the best d...

Page 247: ...variable Thus it is easy to explore the local behavior of a curve in 2 space and related topics of geometry such as the evolute The section on integration will be very useful at the outset of learning...

Page 248: ...respect to the two axes and the equal products of inertia This terminology is straight from a mechanics or physics book and doesn t appear in most calculus books where moments of inertia _are_ discus...

Page 249: ...y 3 y2 use 4 x 2 6 x y x 3 y x 2 x or 4 x 2 6 x y 3 y 2 x y y x which both return 6 y x 6 x d dx y x 6 y x 8 x Note that the derivative occurs as a single term so you can solve for it First copy the...

Page 250: ...g may be shown in the status line Warning Differentiating an equation may produce a false equation Credit to Bhuvanesh Bhatt and Kevin Kofler 6 54 Delete variables after using numeric solver The varia...

Page 251: ...Find variable names used in expressions This program will not work if you change folders after using the numeric solver 6 55 Algorithms for factor and isPrime The following description of the algorith...

Page 252: ...der splice uses a point in the interval interior which controls the splice behavior This splice is useful to join two functions such as regression models resulting in a model with three equations whic...

Page 253: ...x1 5 Set the first derivatives equal at x3 for a smooth transition d dx f2 x3 d dx s x3 so we solve these five equations for a b c d and e condition 1 3 a x1 4 b x1 3 c x1 2 d x1 e f1 x1 condition 2...

Page 254: ...3 y1s y3s We solve 14 for c as 15 c M 1 v x1s x2s and x3s are always 1 0 and 1 so M 1 is a constant matrix 16 M 1 0 5 1 5 0 25 0 25 0 25 0 0 25 0 25 0 25 1 2 1 0 25 0 25 0 75 0 0 75 0 25 0 25 0 1 0 0...

Page 255: ...I have described to develop higher order splices For example you could use a 6th order splice which forces the second derivatives to match at the interval endpoints or an 8th order splice that forces...

Page 256: ...0 546 18 f1 x k1 x3 k2 x2 k3 x k4 k1 0 15972286692682 k3 1 0003712707863 k2 0 00312600795332 k4 4 74007298E 6 for x 0 546 and x 0 78 19 f2 x k5 x2 k6 x k7 k5 0 3073521499375 k7 0 04107647476031 k6 1 1...

Page 257: ...steps In the Y editor define some functions to make the calculations and plotting easier Note that the coefficients k1 to k6 have already been stored y1 polyEval k1 k2 k3 k4 x y2 polyEval k5 k6 k6 x...

Page 258: ...olid traces are f1 x and f2 x relative to sin x and the dotted trace is the splice function relative to sin x Note that the splice slope appears to match f1 and f2 at the endpoints and it passes throu...

Page 259: ...xs 2 c 23 d3 dx3 s x 1 h3 24 a xs 6 b 24 d4 dx4 s x 24 h4 a The following function can be used to find the splice derivative of any order spli4de x x2 h cl o Func x x2 h k list order 4th order splice...

Page 260: ...29 1 Error at x3 f2 x3 Error at x1 f1 x1 Derivative order As expected the first derivative errors at the splice boundaries are small but the errors are so large for derivatives of orders two and great...

Page 261: ...d x x2 splice interval midpoint h splice interval half width cl list of splice coefficients nSolve polyEval cl xs y xs xs 1 and xs 1 h x2 EndFunc This method is satisfactory if you only need a few val...

Page 262: ...error in x is about 2 4E 10 so this inverse is accurate to about 9 significant digits Note that the error is zero at the endpoints and in the center as it should be The function spli4inv shown below f...

Page 263: ...use left list1 5 to extract just the polynomial coefficients and list 6 to get y2 and list 7 to get hy User interface program for splice4 The user interface program shown below spli4ui automates the...

Page 264: ...ve error at x3 Test for existing user input defaults variable spl4v create if necessary if gettype spl4v NONE then 0 001 0 spl4v endif Extract user input defaults spl4v 1 f1 spl4v 2 f2 spl4v 3 x2 spl4...

Page 265: ...nd splice errors at bounds and midpoint polyeval splc 0 yy2 errx2 polyeval splc k x3 x2 yy3 errx3 k polyeval splc 1 yp1 errd1 Find derivative errors at bounds k polyeval splc 1 yp3 errd3 clrio Display...

Page 266: ...sets s x2 f1 x1 f2 x2 2 so use the center method to force the splice midway between two functions which do not intersect or to force the splice through f1 x2 f2 x2 The mean method sets s x2 f1 x1 f1...

Page 267: ...or simply dys dxs r p d dx f x which is the relation we wanted In this splice application we scale only x not y so r 1 In terms of the actual scaling variables x2 and h the scaling is xs 1 h x x2 1 h...

Page 268: ...e scaling is defined by xsa 1 h xa x2 xsb 1 h xb x2 which we can solve for h h xa xb xsa xsb and comparison with 5B gives h c so we have the final desired result I h Is 6 57 Sum binary 1 digits in an...

Page 269: ...sive survey of seven methods is the article Quibbles and Bits by Mike Morton Computer Language magazine December 1990 I chose the table lookup method because it has a simple TI Basic implementation Th...

Page 270: ...convergence to the limit Different methods are effective for different series and an excellent overview is presented by Gourdon and Sebah in reference 1 below As that paper is quite thorough I will r...

Page 271: ...nal result by nearly three orders of magnitude No convergence acceleration works well if the series terms are increasing In this case find the point at which the terms begin decreasing sum the increas...

Page 272: ...tial integral Ei 13jul02 dburkett infinet com local eps euler fpmin maxit k fact prev sum1 term 6 12 eps Desired relative accuracy 57721566490153 euler Euler s constant 100 maxit Maximum iterations al...

Page 273: ...for Ei x and you can get it at http tiger towson edu bbhatt1 ti This is a C function called ExpIntEi found in his C Special Functions package You will need the usual hacks to use this as a true funct...

Page 274: ...resolution of floating point arithmetic and its round off errors 2 x such that f x is as small as required For problems based on physical measurements it may be a waste of time to find the true minim...

Page 275: ...s of y1 x e and y1 x e are different for the first two roots they are at least plausible However the third root of zero fails the test To verify that zero is not a root we plot the function over the r...

Page 276: ...ed and the coefficient for x has the wrong sign let alone the right value By now you should be starting to suspect that solve has failed us You might be tempted to try factor or cFactor to find the ro...

Page 277: ...d so use a specific algorithm to find its roots in any event it doesn t work for our example and Laguerre s algorithm does The function shown below polyroot combines the code for the programs laguer a...

Page 278: ...e for iter 1 maxit Loop to find a root a m 1 b abs b err 0 d 0 f abs x abx for j m 1 1 Evaluate the polynomial and first two derivatives x f d f x d b d x b a j b abs b abx err err endfor epss err err...

Page 279: ...as degree of one less than the original since one root is divided out Finding the smallest roots first reduces errors from round off otherwise the small roots might disappear completely Since deflatin...

Page 280: ...tive it branches into the complex plane Hence a sound decision would be based on the possible roundoff level in the evaluation of this expression in the first position on the possible roundoff errors...

Page 281: ...0 0 1 0 0 0 0 1 0 where the eigenvalues will be the roots of the polynomial P x i 1 m 1 aixi 1 cybernesto has written a function called proots which implements this method proots aa Func Local nn am d...

Page 282: ...Since we usually do not know in advance what the roots are we might be led to believe that the returned roots were correct The main advantage to polyroot is that it attempts to find the roots to meet...

Page 283: ...ions The TI 89 TI 92 Plus probably use a more general algorithm while the TI 86 uses an algorithm specifically designed for polynomials Some references claim that it is better to normalize the polynom...

Page 284: ...thod They proceed to the methods of Muller and Cauchy before developing procedures for finding approximate values of roots including Descarte s rule of signs Sturm sequences and the Lehmer Schur metho...

Page 285: ...polynomial and those of its derivative Nth roots Polynomial sweep at the WWW Interactive Mathematics Server http wims unice fr wims wims cgi session RNC912CC8A 3 lang en module tool 2Falgebra 2 Fswee...

Page 286: ...ies and some solutions However since we are only interested in a numeric approximation our task is a little easier Since 3 is defined for every value of n 1 2 3 we find a0 by letting n 0 then 3 become...

Page 287: ...on would use all the still decreasing terms Even though the terms above are still decreasing I decided to check the expansion with the terms through a9 This plot shows the original function as points...

Page 288: ...cSeries html also has a good bibliography 6 63 Faster numerical matrix inverses The calculator has a built in matrix inverse operator 1 but the C program inv by Rafael Humberto Padilla Velazquez is mu...

Page 289: ...ivalent resistance of a set of parallel resistors where the list elements are the individual resistance values Suppose list 2 4 6 12 then the expression returns 1 as expected But if list 2 4 6 12 0 th...

Page 290: ...aced Any variables which are not defined will remain variables Note that it is not necessary to define the ex variable this works too expr define y1 x string a x 2 b x c credit declined 7 2 Using the...

Page 291: ...this information in the status line but the dialog box will display 13 lines of about 30 characters each 7 3 Using language localization This section was written by Lars Fredericksen There are basica...

Page 292: ...uage independent program just make sure that the program is executed one time before transferring it with GraphLink 3 Testing for a specific variable type in an unknown language using getType The foll...

Page 293: ...o return an error code if the program cannot run normally As a simple example consider a function that finds the reciprocal of the argument recip x func return 1 x endfunc If x 0 this function will re...

Page 294: ...onsider when you write a program that call routines which are external to that program For example suppose we have a program A which calls program or function B If both A and B are in the same folder...

Page 295: ...did my testing with a TI 92 Plus AMS version 2 05 7 7 Use return instead of stop in programs for better flexibility and to avoid a crash Note this bug has been fixed in AMS 2 05 stop now works correc...

Page 296: ...am containing the stop instruction is not archived Note that the bug also occurs if stopit is called indirectly using expr like this app1 prgm expr stoptry endprgm stoptry prgm stopit endprgm stopit p...

Page 297: ...me screen For the latest version search for copyto_h on ticalc org The call syntax for copyto_h is copyto_h name1 name2 name1 and name2 are variable name strings If no arguments are passed copyto_h di...

Page 298: ...is to be congratulated for this accomplishment Mr Stearly has also written sendstr which works only with keyboard programs kbdprgmx to send a string to the entry line http www ticalc org archives fil...

Page 299: ...parameters f1 p1 p2 p3 p4 but if the user doesn t supply a value for the third parameter f1 p1 p2 p4 then the program supplies a default value for p3 or takes some other action Note that this feature...

Page 300: ...the numeric solver In general you can t do this There is a work around but calling the built in application must be the last action of the program and you cannot return control to the program after th...

Page 301: ...fore you run it the operating system has to recompile the program each time it is run If you run it once before archiving it then the OS saves the compiled version On the other hand if code size is mo...

Page 302: ...able y not the address of y or a pointer to y myprog can write to y but if y is a global variable y is not changed For example suppose you have a global variable y and you call this program with mypro...

Page 303: ...his code to identify the calculator model Identify Model Local j tmp timodel list mat getConfg 2 tmp For j 1 rowDim tmp If tmp j 1 Screen Width Then If tmp j 2 240 Then TI 92 timodel ElseIf tmp j 2 16...

Page 304: ...se the function returns undef example func local timodel model timodel if timodel TI 89 or timodel TI 92 and version 1 05 return func1 return undef endfunc This function returns the product ID as a st...

Page 305: ...evaluate polynomials use seq to generate a list of function values use sum to add the elements of a list use sigma to sum the values of an expression use upper case pi to find the product of expressi...

Page 306: ...te that lists may contain not only numbers and expressions but other lists and matrices if the elements are expressed as equality expressions for example return x 1 2 y 3 4 z 5 6 w 7 8 The assignment...

Page 307: ...ion launchers I wrote the first one which sets the application folder Daniel Lloyd wrote the second one which is smaller Daniel s method does not set the application s folder which doesn t matter if t...

Page 308: ...rix called pmat One column is used for each application For the example applications above pmat looks like this rtdeqs RTD385 cubspline spline voltdiv vdiv RTD resistance Cubic Spline Voltage divider...

Page 309: ...ve the file and open it in Graphlink 5 If there doesn t appear to be anything to worry about delete the copy and load the original Frank also says I just used this procedure to check a whole groupfile...

Page 310: ...played with the Contents command in Var Link Check here for more details http members web o net westlake ti intdoc html The basic idea is to use char 10 and char 12 to format the text to make it easy...

Page 311: ...ed in local variable fstring which is then used in expr t can be be a function or a program Using indirection Instead of using expr you can use indirection The function name must still be passed as a...

Page 312: ...xx 2 x 3 which is then correctly evaluated later However if the function performs a conditional test on x the program will fail For example if we have f1 x Func if x 0 then 2 x 3 else 2 x 3 endif EndF...

Page 313: ...nction call as a command in the script file This also makes regression testing easier Regression testing is a software engineering term that refers to verifying that a function still works properly af...

Page 314: ...uctions take a long time to return the dimensions This is true even if the number of elements is small If the elements are too large a Memory error message occurs As an example I wrote a program that...

Page 315: ...custom menu to set the Exact Approx modes to Auto Exact or Approximate You might try this program but it will not work custom1 Prgm custom title Modes item setmode Exact Approx Auto item setmode Exac...

Page 316: ...F1 that looks like this 1 Set Auto 2 setmode 14 1 3 Set Exact 4 setmode 14 2 5 Set Approx 6 setmode 14 3 There are a few problems with this method First it makes the menu twice as long as it really ne...

Page 317: ...e or you may want to check the amount of archive memory available before your program archives a large variable This type of information is easily extracted from the list that getConfg returns For exa...

Page 318: ...s 12 in either case the index points to the screen width 7 30 sign function is not compatible with other programming languages Most programming languages have a sign function that returns 1 if the arg...

Page 319: ...e program how do I run it how do I fix this error The warnings are less obvious but just as important You need to inform the user as to side effects that might not be obvious Some examples of these si...

Page 320: ...What are the units Are the results stored anywhere How accurate are calculated results How can I check the accuracy Does the accuracy degrade for some input ranges How long does it typically take for...

Page 321: ...teraction as well as the characteristics of each of attribute Data documentation consists of Choosing a variable name Ideally variable names are long and descriptive On the 89 92 memory is limited so...

Page 322: ...st commonly documented with a separate readme file This certainly works but then the user might not have access to the documentation when they really need it most Creating an 89 92 text file that incl...

Page 323: ...ance and readability To create the linefeed character evaluate char 10 on the command line char 10 ENTER which puts the linefeed character in a string in the history display Use UP to highlight the st...

Page 324: ...programs These programs can be executed from any folder by pressing DIAMOND 1 for kbdprgm1 DIAMOND 2 for kbdprgm2 and so on Unlike other programs keyboard programs cannot have input arguments However...

Page 325: ...ed on the value of an integer variable For example some versions of Basic implement this structure as an ON GOTO statement ON i GOTO l1 l2 l3 Program control is transferred to l1 l2 or l3 when i 1 2 o...

Page 326: ...rted web page for the TI 89 92 SDK has the only TI reference to TI Basic I have found but I will use that term since it is common and well understood in the calculator community Some programmers claim...

Page 327: ...efinition for BASIC BASIC bay sic n A programming language originally designed for Dartmouth s experimental timesharing system in the early 1960s which for many years was the leading cause of brain da...

Page 328: ...hiv or use the VAR LINK screen This simple program deletes any variable or list of variables regardless of whether they are archived or locked delvar1 n Prgm v v Delete v locked archived 26dec01 dburk...

Page 329: ...ine the result a b c is returned as expected However if you store numeric values to 1 2 and 3 to a b and c respectively then evaluating eqn1 returns true since 1 2 3 You can recall the original expres...

Page 330: ...his program demonstrates the bug testtype n Func Local t getType n t Return t EndFunc Note that n is a local variable since it is the argument and t is declared as a local variable For these following...

Page 331: ...and so on Timit Hassan and Bhuvanesh Bhatt have both written functions to extract variable names This tip discusses both methods Timit s TI Basic version Timit s function getvars returns the variable...

Page 332: ...tring and need not be a valid expression The variable names are returned as string elements of a list For example the call exprvars a b c sin d e 22 2 f returns a b c d e f Timit Hassan s original get...

Page 333: ...n Return true Endif False EndFunc varin varin c Func Local cc ord c cc If c a and c z then Return true Elseif c 0 and c 9 then Return true Elseif cc 128 and cc 148 and cc 140 then Return true Elseif c...

Page 334: ...lculators run about 17 slower I tested lists and matrices with random floating point integer elements so execution times will be different if the elements are integers or symbolic elements Matrix argu...

Page 335: ...ce instead of by value For the timing results and model equation above the matrix was passed by value that is the matrix itself was passed as the function argument A typical function call is f matrix...

Page 336: ...execution times for each function call and element access More specifically the total execution times for each method are Value method Tv NcvTcv NavTav Reference method Tr NcrTcr NarTar The break even...

Page 337: ...arguments the call overhead can also be considerable as this table shows 459 8 mS 700 269 1 mS 400 84 6 mS 100 22 mS 0 Overhead function call Number of list elements Timing data for lists of 11 sizes...

Page 338: ...nts are equal If you know that your application tends to access elements at a particular list index you need to account for that in the break even analysis Execution time data for matrix element acces...

Page 339: ...thod mS Access time Tav value method mS Element accessed Matrix dimensions Table 3 shows the mean time required to access each element of matrices of various sizes Element indices are local variables...

Page 340: ...m relative error of about 6 7 but the RMS error is about 1 5 so it may be useful to estimate access times for matrices not shown in the table The graph below shows the points used to generate the mode...

Page 341: ...aster than global subroutines TI Basic subroutines can be defined outside of the calling routine an global subprogram or they can be defined within the calling routine a local subprogram As an example...

Page 342: ...m Bhuvanesh Bhatt s web site at http tiger towson edu bbhatt1 ti The C source code is included The zip file includes versions for both the TI 89 write 89z and the TI 92 Plus write 9xz Make sure you us...

Page 343: ...black text on white background XOR mode 3 gray text on white background 4 black text on white background over write mode In over write mode the text and background replace any pixels previously displa...

Page 344: ...ne as shown with this example clrio disp ABCDEFGHIJKLMNOPQRSTUVWXYZ s util write 0 20 s s 2 1 You may also embed the carriage return character char 13 in strings This will force a line break as shown...

Page 345: ...4 c util write 50 40 c x 2 y 3 z The control code is saved as the variable c for convenience but this is not necessary If you are coding directly on the calculator you can insert the character with CH...

Page 346: ...neral the number of expressions must equal the number of control characters This syntax for write can also be used to display pretty print expressions on multiple lines Each format_string starts a new...

Page 347: ...EN Save Restore LCD Contents include tigcclib h Include All Header Files short _ti89 Produce 89Z File short _ti92plus Produce 9XZ File include nostub h include estack h include wingraph h include erro...

Page 348: ..._throwVar 40 if f 0 f 1 tag ap ap1 top_estack if tag LIST_TAG ap w Flags WF_TTY if error ER_catch err_frame if c 0 attr WinAttr w c if f 1 WinFont w f while ap END_TAG if ap STR_TAG ER_throwVar 130 s...

Page 349: ...ppose you have written a program which manipulates graphic objects on the screen The objects can be moved and rotated and there is a help feature You want to provide quick obvious access to these feat...

Page 350: ...reen is shown The dialog boxes are only examples your program would instead perform the code needed to perform the desired function Another feature of tooltab is restoring a custom menu tooltab replac...

Page 351: ...rgm Expected operation ensues if you supply a number for x at the Request prompt For example if you enter 4 22 at the prompt then the Program I O screen shows x is 4 22 However suppose you have previo...

Page 352: ...nesh documentation Syntax TxtWrite expression_or_string varname write_mode str_format If you wish to prevent evaluation or auto simplification of the expression input it as a string To insert a newlin...

Page 353: ...intenance it can sometimes result in smaller code For example this loop will never terminate because the index i never reaches the terminal value n 1 n For i 1 n i 1 n EndFor You can change the index...

Page 354: ...x o endif endif endfor endwhile The processing details are not relevant the point is that the For loop will execute until the index reaches the current dimension of e which is updated each pass throug...

Page 355: ...example string above Instead of using string n use string exact n which will return just the integer without decimal points trailing zeroes or the E symbol regardless of the mode settings 8 2 String...

Page 356: ...embed the double quote character because that is also the character that delimits strings Suppose you need to create the string ab cd Just typing that in won t work you ll get the missing error messa...

Page 357: ...Float 12 then string x returns 1 23456789012E15 However note that you have lost the last two significant digits of 34 8 6 Convert strings to upper and lower case The two functions below convert an al...

Page 358: ...ons use position instead of count The built in mid function has the syntax mid string start count when used with a string argument count characters are returned from string beginning at character star...

Page 359: ...er of the TI 89 TI 92 Plus character codes as found in Appendix B of the Guidebook For example these comparisons all return true A a character code 65 is less than code 97 a character code 60 is less...

Page 360: ...mg and areaimg Note that the icon circimg is used in both the toolbar title and in the third menu item The icons are PIC variables 16 pixels high by 16 pixels wide The icons can be created in a number...

Page 361: ...de those limits display a warning and let the user try again If a program needs lots of inputs from the user save those as global variables so they can be used as defaults with Request in dialog boxes...

Page 362: ...m This gives the program a chance to delete global variables restore the mode settings and restore the folder If your program displays output on the program I O screen use DispHome when the program ex...

Page 363: ...ly update display screens in your programs when only a small part of the screen changes You can squeeze 11 lines on the display by changing 10 lcdrow to 9 lcdrow but this is not as legible because the...

Page 364: ...values Request Enter w w Request Enter x x Request Enter y y Request Enter z z EndDlog if ok 0 return Just quit if user presses ESC expr w w w defaults 1 Convert string to expression update global co...

Page 365: ...char 2 created in this way cannot be sent to a PC with GraphLink because GraphLink does not convert the character correctly 1 Enter this in the command line and press ENTER char 2 char 2 char 2 char...

Page 366: ...dialog box functions To explain each option as well as make it easier to build the dialog box I have defined these functions dbttl Dialog box title Title dbreq Dialog box request Request dbdrd Dialog...

Page 367: ...menu and some text Note that the first argument of each function is the dialog box string dbox Each function simply appends the appropriate string to the current dbox The table below shows the argumen...

Page 368: ...wn and Request functions There are limits to the number of functions you can include in a single Dialog box 1 maximum Title 7 maximum Request 9 maximum DropDown 10 maximum Text This table shows the ma...

Page 369: ...the history area though just return it to the command line For example if the display mode is set to Float 12 then entering pi will display 3 14159265359 but if you select it in the history area it is...

Page 370: ...x g func grpfrc Group fraction digits 12 May 99 dab dburkett infinet com x number to format g number of fraction digits in group local n dp el ex mn fn f1 Convert argument to string string x n Initia...

Page 371: ...tom menus You can create any number of custom menus and display them by running the program that creates them If you have several custom menus for different topics you can display all your custom menu...

Page 372: ...sing F8 2 then ENTER Credit to Andrew Cacovean 9 12 Use one Request in a Dialog box for more than one variable The Request command is used in Dialog boxes to get input from the user However there is a...

Page 373: ...sions expr left xy s 1 x expr right xy dim xy s y Just for a demo display x and y Your application probably won t do this dialog title SHOW X AND Y text x is string x text y is string y enddlog EndPrg...

Page 374: ...n Let user quit by pressing ESC Find the comma positions in xyz instring xyz s1 s1 is the position of the first comma instring xyz s1 1 s2 s2 is the position of the second comma Test for commas if s1...

Page 375: ...st dim st s endif EndFunc Use rq3v for three parameters rq3v st Func Convert a b c to a b c 31mar01 dburkett infinet com local s1 s2 instring st s1 instring st s1 1 s2 if s1 0 or s2 0 then return ERR...

Page 376: ...not multiple lists or matrices because the programs do not distinguish between the commas that separate the expressions and the commas within the expressions 9 13 Disable ALPHA default in TI 89 AMS 2...

Page 377: ...to and so on If I use kbdprgm2 to change the angle mode then pressing DIAMOND 2 changes the setting through RAD DEG RAD and so on We use getMode to find the current mode then setMode to change the set...

Page 378: ...es of modeString and n for the modes which can be set with this method modeString and number of options for various modes 3 15 Base 3 14 Exact Approx 2 for TI 89 3 for TI 92 13 Split screen ratio 6 12...

Page 379: ...gnment 9 15 2nd ENTER quickly selects copies entries to command line Push and hold 2nd then repeatedly press ENTER With each ENTER press each entry in the history display is shown in the command line...

Page 380: ...y need a little amount of memory some kernels will uninstall them without freeing the memory used For all these reasons I have thought to follow an alternative and IMHO simpler way to change the value...

Page 381: ...the default values set by the AMS I have searched in all the ROMs the addresses of these instructions move w 150 something and move w 24 something Then I have modified the values 150 and 24 with the...

Page 382: ...s a and b then use the UP and ENTER keys to paste the expression to the entry line and execute it Alternatively you can use 2nd ENTRY to choose and paste the expression For expressions which generate...

Page 383: ...expressions as it is with numeric ones RPN calculators also have various stack manipulation functions such as swap drop dup and rotate which make calculations even more efficient There can be no argu...

Page 384: ...h works with EQW For more information see http www warp2k com eqlib description htm 9 21 Programs for simple equation libraries An equation library is a collection of equations together with a user in...

Page 385: ...ialize pop up menu index to zero to allow use of ESC key to quit 0 k Extract and display equation labels as a pop up menu popup mat list subMat main eqdef 1 1 rowDim main eqdef 1 k Quit if ESC pressed...

Page 386: ...numeric solver In general use UP and DOWN to choose the known variables and enter their values then select the unknown variable and press F2 Solve to find the solution The numeric solver works more q...

Page 387: ...us The first menu shows the names of the different libraries The second menu shows the equations in the chosen library The library names are stored in the list variable main eqlxmenu For example you m...

Page 388: ...the first menu is shown If we press 2 to choose the electricity menu item a second menu is shown from which the desired equation is selected After the equation is selected the numeric solver is start...

Page 389: ...that y1 y99 z1 z99 and t0 are reserved system variable names and cannot be used Take advantage of the custom toolbar menus The default toolbar menu set includes many common commands but using your ow...

Page 390: ...e units in terms of base units Some examples _coul _s 1 _A 1 _s _J _N 1 _m 1 _N _F 1 _V 1 _coul 1 _V _W 1 _s 1 _J 1 _s _henry 1 _s 1 _kg 1 m 1 _A 1 _coul 1 _s _Wb 1 _A 1 _J 1 _A If the converted to un...

Page 391: ...to numbers For example to create a variable tf with units of F use tf _ F The important point is to explicitly multiply the variable name by the units This is not necessary when applying units to num...

Page 392: ...a user defined unit For example to save a cubic inches unit as a unit called _in3 use _in 3 _in3 Note the use of the underscore character _ which defines a unit Now the Volume units menu shows _galUK...

Page 393: ...define all the units it includes Note that the density units will not be put in the built in menus since there is no Density category These units can be used by typing them in the command line or by...

Page 394: ...complex solutions In some cases the zeros function will ignore constraints that require a complex solution and return a general solution instead of False For example zeros x2 xy 1 x x y 1 returns two...

Page 395: ...s rather involved tip relates to using the solve function in programs when multiple equations to be solved are generated within the program The basic idea is to build a string of the equations to be u...

Page 396: ...k t vk vloc dloc dim vlist vdim Build expression to solve s for k 1 vdim 1 s string eqlist k 0 and s endfor s string eqlist vdim 0 s Solve for unknown variables string expr solve s string vlist s Con...

Page 397: ...ng that can be used in solve and then expr is used to evaluate the string and solve for unknown variables However the result of solve is returned as a string that looks something like this a 4 0 and b...

Page 398: ...an answer See the manual for examples Like any numeric solver nsolve can be faster if you supply a guess or bound the solution interval Note that the guess need not a simple number but can be a functi...

Page 399: ...ating function coefficients I tested three different conditions 1 No initial guess and bounds of 1 48 2 52 mean execution time 4 3 seconds 2 Initial guess function and same bounds as 1 mean execution...

Page 400: ...7 Saving multiple answers with solve in program solve returns multiple answers for simultaneous equations The answers are returned as an expression for example x1 1 234 and x2 5 678 This works well fr...

Page 401: ...arning even with good solutions nSolve is a reasonably robust numeric solver but some equations give it difficulty even when there are no obvious problems such as singularities Futher nSolve may give...

Page 402: ...arch in the neighborhood of t 100 17 On the Y screen define y1 x vfts120 x vfts120 100 17 On the Window screen set the following window dimensions xmin 100 17 1 2E 7 xmax 100 17 1 2E 7 xscl 1 E 8 ymin...

Page 403: ...ers is also called destructive cancellation and refers to computation errors that result from subtracting two nearly equal numbers This results in a loss of significant digits during the calculation N...

Page 404: ...case involves the ordering of the conditional constraint if it uses local variables and the second case relates to whether or not the independent variable is declared local or not AMS 2 05 is used fo...

Page 405: ...st low x and high x undef 0 and x x2 or undef 0 and x x1 or x x3 even longer solution time and warning More solutions may exist x low and high x x3 returned Indpendent variable local declaration In wh...

Page 406: ...root of 100 17 is included in the bounds As shown above solvebug returns about 63 673 which is a root but outside of the constraints Note that the constraint conditional expressions are ordered corre...

Page 407: ...use ROM_CALLs only introduced in AMS 2 04 or 2 05 Starting from TIGCC 0 94 TIGCC now optionally allows the programmer to use those functions if they wish to abandon AMS 1 compatibility but does not fo...

Page 408: ...es magic numbers are bad Alphabetical order highly recommended define NUMBER_OF_EXTENSIONS 2 define FRAME_ENTRIES_PER_EXTENSION 2 define EXTENSION1 _OFFSET 0 define EXTENSION2 _OFFSET 1 define HELP_OF...

Page 409: ...static value in app pFrame TIBasicExtensionFrame pFrame tibasicextFrame Some defines that might be useful if you are used to TIGCC define GetArgType p unsigned char p define malloc sz HeapDeref HeapA...

Page 410: ...void extensionroutine2 void Credit to Bhuvanesh Bhatt 10 4...

Page 411: ...p 7 8 10 You cannot reference single row or single column matrices vectors with a single index Example matrix 3 won t work This works matrix 3 1 11 You cannot use just ans in a function The TI Basic t...

Page 412: ...compatible with the TI 92 and TI 92 Plus Which ViewScreen LCD does the TI 89 use Does the TI 89 work with the TI GRAPH LINK What Data Collection tools is the TI 89 compatible with How much memory does...

Page 413: ...I 89 will works with the TI GRAPH LINK cables What Data Collection tools is the TI 89 compatible with The TI 89 is compatible with CBL CBL2 and the CBR How much memory does the TI 89 have The TI 89 pr...

Page 414: ...0 will reject earlier versions of the operating system software Texas Instruments FAQ for the original TI 92 http education ti com product tech 92 faqs faqs html This FAQ applies to the original TI 9...

Page 415: ...rmat on the Program I O screen Display does it scratch Differential equations why doesn t the TI 92 have them DERIVE does the TI 92 have ALL of DERIVE s features Define a function from a program promp...

Page 416: ...onal term Changing the order of steps gives different answers sometimes why There are times that changing the order of steps in a problem are valid and do not affect the mathematics In these cases the...

Page 417: ...n unacceptable amount of time or exhaust memory Simplification is necessarily a compromise between these conflicting goals Minor appearing differences between expressions can cause dramatic difference...

Page 418: ...etermine if the paths are referencing the same variable For example with the main folder current x main x ENTER will not simplify to 2x even though they are really the same variable Scrolling a long a...

Page 419: ...nality of the TI 92 It is available for free download The library is currently divided into the following three TI GRAPH LINK group files UNIT 92G implements automatic units algebra and conversion ELE...

Page 420: ...s x moves toward infinity However the solutions are not periodic and in general can only be approximated A very useful technique when using the solver is to graph the left and right sides of the equat...

Page 421: ...very difficult requiring more program ROM than is available Moreover it is theoretically impossible to express all anti derivatives as a finite composition of the functions and operators built into th...

Page 422: ...m solve uses factoring together with the inverses of functions such as ln sin etc Except in exact mode these techniques might be supplemented by heuristics to isolate solutions followed by nSolve to r...

Page 423: ...mplifies to x 1 2 expected result h f x simplifies to abs x 1 expected result If the arguments in a function or program call are not symbolic then all simplification will work as expected Composition...

Page 424: ...y an angle in DMS format on the Program I O screen You can only display values in Degrees Minutes Seconds format on the Home Screen Display does it scratch Yes the display can scratch Please be carefu...

Page 425: ...alues where minimums or maximums occur then it is easy to get the expression values at those points by using the with operator If we were to return instead the expression values that are maximum or mi...

Page 426: ...tant and the derivative is zero hence the answer Here is a first derivative implicit differentiating function based on a more general function found in DERIVE define impdif uu xx yy d uu xx d uu yy wh...

Page 427: ...dialog box choices why The purpose of locked variables was to keep the variable from changing All of the editors Program Geometry Data Matrix Text edit the variable directly in memory they don t work...

Page 428: ...long to find a solution The nSolve function uses symbolic techniques to simplify the equation before applying the search technique Depending on the equation this simplification can take significant t...

Page 429: ...hase planes are not possible on the TI 92 Verifying a symbolic result When a symbolic result is different than what you expected you can use several tools in the TI 92 to help verify that the result i...

Page 430: ...nd to lighten the display Hold the unit at a different angle to change what is being reflected in the display We used this type of display to increase the the brightness of the pixels in the display I...

Page 431: ...show something to the class on the teacher s remote display panel It will also allow teachers to purchase a TI 92 for evaluation and easily upgrade to the ViewScreen capability later TI 92s sold in E...

Page 432: ...w much does the TI 92 Plus cost What do Flash and electronically upgradable mean Does the TI 92 Plus work with the TI Graph Link What types of 1st and 2nd order Ordinary Differential Equations will th...

Page 433: ...ata Are there any engineering applications for the TI 92 Plus Yes Currently there are three Flash Applications regarding engineering 1 EE200 Designed primarily for 1st year and 2nd year college studen...

Page 434: ...s sysdata and other system variables and data variable datatypes Also lists matrices and data variables that are strictly numeric data should transfer between platforms Is the TI 92 Plus allowed on Co...

Page 435: ...instead of Modem port on Macintosh Site license for the TI GRAPH LINK StudyWorks how does it work with the Graph Link System requirements for the Graph Link Transmission errors with Graph Link Mac ver...

Page 436: ...f each line To avoid these spaces Ungroup the group file instead of Opening it File size limitations why can large files from my calculator not be opened Part of the difficulty here is tokenized size...

Page 437: ...ound on the TIDBITS disk that came with the Mac If you are running system 7 simply drag the fonts from the Graph Link disk to a closed SYSTEM FOLDER The Mac should then automatically move the fonts to...

Page 438: ...computer as needed StudyWorks how does it work with the Graph Link Steps to use the Graph Link with StudyWorks Upload a list or matrix to computer via the Graph Link Export list from Graph Link into a...

Page 439: ...s For example the DOS version may work while the Windows version does not Windows port setting under the Control Panel could have changed the com port setups Check the Startup group to see if any addi...

Page 440: ...SB to Serial adapters you can visit the following web sites http www keyspan com http www usbstuff com http www entrega com http www belkin com B 2 TI documentation In a web page redesign in March 200...

Page 441: ...cal systems differential equations Fourier series and approximation and interpolation theory This book is expensive but worth it If you don t care to buy it for yourself you could ask your school or l...

Page 442: ...the Virtual TI emulator VTI This is PC software that emulates the calculator You ll need to do a ROM dump from your calculator to run it ROM dump means uploading the calculator ROM image to the PC wi...

Page 443: ...n also get the current version of the 89 92 wishlist there Andrew also has some very good tutorials on using the 89 92 to solve basic and more advanced problems Kevin Kofler s web site http ti89prog k...

Page 444: ...n prices are in US dollars as of May 2002 The last section of the bibliography lists general calculator books not specifically related to TI calculators but they may be interesting or useful The bibli...

Page 445: ...eir classrooms Our goal is to provide innovative and practical examples of how to begin using the new features of the TI 92 in high school math classes The workbook is designed to meet the needs of a...

Page 446: ...901769 03 X Solving Systems of Linear Equations with the TI 92 Bernard Kutzler Eric Armin Inc ISBN 3 901769 05 6 Calculus and Differential Equations Advanced Placement Calculus with the TI 89 Ray Bart...

Page 447: ...34 34970 6 Not found on Brooks Cole web site CalcLabs With the TI 92 for Stewart s Calculus Concepts and Contexts Single Variable Selwyn Hollis Brooks Cole Pub Co 1997 Not found on Brooks Cole web sit...

Page 448: ...mewhat complicated machine in a minimally obtrusive way To help instructors think about what their students are actually learning and to provide an environment that may suggest some alternative instru...

Page 449: ...One and Two Samples The F Distribution Analysis of Variance ANOVA One and Two Way Multiple Linear Regression Forecasting Some Non parametric Procedures More Fits to Bivariate Data Appendices Installin...

Page 450: ...njugates Pappus Desargues Pascal s Mystic Hexagram Miquel Carnot Centroids Galore and What Point Is It Anyway Wallace Line Tritangent Circles Gergonne Nagel Feuerbach The Tritangent Circles and the Ni...

Page 451: ...Analysis The s domain The Convolution Fourier Series Vectors Vector Calculus Electromagnetics Transmission Lines Antennas Manipulating Lab Data The Diode Financial Calculations Index Engineering and T...

Page 452: ...Circuits Solving Parallel AC Circuits Average Value Average Value Sine Wave RMS Calculations Chapter 4 Digital Electronics Base Conversions Converting from Binary to Decimal Converting From Decimal t...

Page 453: ...ets Visual binary star orbits Ephemerides of comets Approximations Appendices Visual binary star orbits Programs for calculators using RPN logic Index Practical Astronomy with your Calculator Peter J...

Page 454: ...tting decimal and trigonometric mode on the HP 67 HP 97 Non print operation of the HP 97 Interrupting the display interval on the HP 67 Using the HP 41C Program listings Index Radar Calculations Using...

Page 455: ...ob to reset arbitrary integers to n1 2D Acronym for two dimensional Refers to the calculator graphing mode in which functions one independent variable are plotted for example y f x 3D Acronym for thre...

Page 456: ...APD Automatic Power Down A calculator feature the calculator automatically turns itself off powers down after some time interval The APD delay can be adjusted with ASM programs see the archives at ti...

Page 457: ...ste the expression to the current cursor position in the entry line auto repeat The cursor movement feature by which the cursor will automatically move if the cursor keys are pressed and not released...

Page 458: ...r and TI also supplies a C compiler with the SDK Cabri Geometry A flash application for the TI 89 and TI 92 Plus which allows editing and analyzing Euclidean geometrical constructions Also available a...

Page 459: ...t is actually on Oddly the contrast can be set on the VTI emulator and must be changed when the emulator is reset copy See cut copy paste crash An error condition in which the calculator will not resp...

Page 460: ...tudy ebay Abbreviation for the web auction site www ebay com An inconvenient way to buy used calculators at prices near those of brand new units emulator An emulator is software that runs on a PC whic...

Page 461: ...up 9xg 89g Function Y vars user defined functions 9xf 89f Expression numbers equations etc 9xe 89e GDB Graph database 9xd 89d Data variable 9xc 89c Geometry figure constructions 9xa n a Description TI...

Page 462: ...uch as 1 5 1 51 1 52 instead of 1 499 1 54999 1 51999 etc freeze up See crash function A routine with zero one or more arguments which may return a result to the home screen or to a calling routine Se...

Page 463: ...n on which function graphs and data plots are shown group file Calculator files which have been combined into one file with the GraphLink software hand key The TI 92 Plus has the hand key the TI 89 do...

Page 464: ...cuts are listed in the TI 89 TI 92 Plus Guidebook LCD An acronym for liquid crystal display The displays used on the TI 89 TI 92 Plus are LCDs LCD connector LCD port The unlabeled rectangular connecto...

Page 465: ...from TI in a variety of languages but these are usually not as up to date as the downloaded versions math class From Ray Kremer s glossary The source of many concepts used by the calculators Useful f...

Page 466: ...concatenation 8 Multiplication division 9 Addition subtraction 10 Equality relations equal not equal or less than less than or equal or greater than greater than or equal or 11 Logical not 12 Logical...

Page 467: ...on of calculator programs on the internet either on a web site or FTP site Used to download other people s programs and to distribute your own program I O screen The screen on which programs display t...

Page 468: ...rface methods complicated expressions can be entered in fewer keystrokes without parentheses More description of RPN can be found at the HP Museum calculator site http www hpmuseum org scroll To move...

Page 469: ...2 3 is a numeric calculation symbolic constant A constant which can be manipulated by the CAS as a symbolic value instead of simply a numeric value Symbolic constants include i and syntax error Messag...

Page 470: ...ar alternative to TI s SDK For more information see http tigcc ticalc org tios TIOS TI OS Acronym for TI operating system Describes the built in operating system which controls the operation of the ca...

Page 471: ...tions and a real time clock TI calls this a personal learning tool PLT instead of graphing calculator with the intent that it be used in classes other than math The Voyage 200 is physically smaller th...

Page 472: ...ncluded this information in the tip list to save you the trouble of referring to the guidebook while using the tip list It may also be useful in its own right if printed out at reduced size to be carr...

Page 473: ...fault is 0 0 angle expr list matrix Return angle of arguments interpreted as complex numbers Undefined variables are treated as real variables ans integer Return answer from home screen integer can be...

Page 474: ...ator over expanded denominator with respect to var if used Using var can save time memory and screen space and result in expressions on which further operations are less likely to result in Memory err...

Page 475: ...oolbar as set up by Custom EndCustom block Custom Set up a custom toolbar Similar to ToolBar except that Title and Item statements cannot have labels Cycle Transfer program control immediately to the...

Page 476: ...iable depVar The prime symbol indicates the 1st derivative two prime symbols indicate the second derivative ode1 and inCond indVar depVar Return particular solution of 1st order differential equation...

Page 477: ...guments must be used if the current Graph mode is not Parametric DrawPol expr min max step Draw expr as a polar graph with independent variable Defaults for min max and step are the current Window set...

Page 478: ...expr Used to extract individual solutions from results of solve cSolve fMin and fMax expand expr list matrix Expand argument with respect to all variables with transformation into a sum and or differ...

Page 479: ...p block EndFor Execute each statement in block iteratively for each value of var var ranges from low to high and increments by step step may be positive or negative and the default is 1 var cannot be...

Page 480: ...the second element is the mode setting string See SetMode for possible settings Graph graphType Display Digits digitsFormat Angle angleUnits Exponential Format expFormat Complex Format complexFormat...

Page 481: ...luates to TRUE etc imag expr list matrix Return the imaginary part of the argument All undefined variables are treated as real variables Input promptString var If no arguments pause program execution...

Page 482: ...ode mode 1 draw the line default mode 0 turn off the line mode 1 invert the line LineHoriz y mode Display Graph screen and draw a horizontal line at window coordinate y according to mode mode 1 draw t...

Page 483: ...equation is where e is the natural y a 1 b ec x d logarithm base Loop Loop block EndLoop Repeatedly execute block until a Goto or Exit instruction is executed LU matrix lMat uMat pMat tol Calculator t...

Page 484: ...ult is either zero or has the same sign as the second argument MoveVar var curFolder newFolder Move var from curFolder to newFolder newFolder is created if it does not exist mRow expr matrix index Ret...

Page 485: ...e current graph mode Perform ClrDraw ClrErr ClrGraph SlrHome ClrIO and ClrTable nInt expr var lower upper Return approximate integral of expr with respect to var with integration limits lower and uppe...

Page 486: ...s of expression expr n is a non negative integer expr Simplify expr and return the number of top level arguments or operands Return 0 if expr is a number variable or symbolic constant expr 0 Simplify...

Page 487: ...is greater than the numerator rationalExpr var Return rationalExpr as a sum of proper ratios and polynomial in var The degree of var in each ratio denominator is greater than the degree in the numera...

Page 488: ...t ylist freqList catlLst catincList Calculate quadratic polynomial regression and update all statistics variables First four arguments must be variable names or c1 c99 Last argument need not be a vari...

Page 489: ...respect to the second argument as remain x 0 x remain x y x y iPart x y Note that remain x y remain x y Rename oldVarName newVarName Rename variable oldVarName as newVarName Request promptString var...

Page 490: ...list whose elements are expr evaluated at var for each var from low to high incremented by step The default for step is 1 setFold folderName Return the name of the current folder as a string and set t...

Page 491: ...etMode ALL 0 settingString modeString English Alternate Language Language no number code Dec 1 Hex 2 Bin 3 Base 15 Auto 1 Exact 2 Approximate 3 Exact Approx 14 1 1 1 1 2 2 2 1 3 TI 92 only Split Scree...

Page 492: ...column vector with solutions to the system of linear equations where coefMatrix is a square matrix of the equation coefficients and constVector is a column vector with the same number of rows as coef...

Page 493: ...al value is a solution Solutions may include unique arbitrary integers of the form nj where j is an integer from 1 to 255 Use the operator to constrain the solution interval or other variables In Real...

Page 494: ...blStart tbl tblInput Use RclGDB GDBvar to restore the graph environment Stop Stop program execution StoPic picVar pxlRow pxlCol width height Display the Graph screen and copy a rectangular area of the...

Page 495: ...tangent of the argument The argument is interpreted in degrees or radians according to the current mode setting Use or to override the mode setting matrix Return the matrix hyperbolic tangent of squa...

Page 496: ...lock1 Else block2 EndTry Execute block1 until an error occurs then transfer execution to block2 errornum contains the error number See also ClrErr and PassErr TwoVar xList yList freqList catList incLi...

Page 497: ...exhaustion may depend on the order of the vars in the equations or variables list zeros attempts to find all real solutions with Gaussian elimination if you include no guesses any equation is in non...

Page 498: ...0 1 0 x 1 10 1 y 10 10 1 ncurves 0 Estep 1 diftol 001 fldres 14 dtime 0 ZoomSto Store the current Window settings in Zoom memory Use ZoomRcl to restore the settings ZoomTrig Display the Graph screen s...

Page 499: ...pr list matrix Return argument 100 equal expr1 expr2 list1 list2 matrix1 matrix2 Return True if first argument can be determined to be equal to second argument Return False if first argument cannot be...

Page 500: ...rix dot multiply matrix1 matrix2 Return matrix whose elements are the products of each corresponding elements of matrix1 and matrix2 expr matrix matrix expr Return matrix whose elements are the produc...

Page 501: ...Return list whose elements are the elements of list raised to the expr power matrix integer Return matrix raised to the integer power matrix must be square If integer 1 return the matrix inverse If i...

Page 502: ...such as var value then each occurence of var in expr is substituted with value A constraint is formed with two or more Booleans joined with and where each Boolean is an inequality An exclusion is a B...

Page 503: ...y z min R2 x z max q3 y2 yt1 yt99 q1 y yscl plotStrt xy ymin plotStep x2 ymax ok x yi1 yi99 nStat y ygrid nmin x yfact nmax tbl EOS Equation Operating System Hierarchy Exponentiation and element by e...

Page 504: ...bles datalist 6 10 Exact solution to cubic polynomial cubic 6 6 Correlation coefficient for regression through fixed point corrhk 7 8 Copy expression to home screen Samuel Stearley copyto_h 6 10 See c...

Page 505: ...al elements lstident 3 22 Make list with logarithmic element spacing loglist 6 4 Log gamma function lngamma 3 18 Swap list elements listswap 3 4 Reverse list elements listrev 6 22 Linear interpolation...

Page 506: ...n scatterf 6 50 Savage floating point benchmark TI Basic version savage2 6 50 Savage floating point benchmark C version savage 1 16 On screen ruler and protractor ruler 9 12 Convert a b c to a b c rq3...

Page 507: ...4 Calculator AMS version version 6 42 Variance for population not sample with frequencies varianpf 6 42 Variance for population not sample variancp 10 6 Add units to built in Units menu units 4 3 Trut...

Reviews: