background image

 

 

 
 
 

HP-15C 
Owner’s Handbook 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 

 

HP Part Number: 00015-90001 
Edition 2.4, Sep 2011 

Summary of Contents for HP-15C

Page 1: ...HP 15C Owner s Handbook HP Part Number 00015 90001 Edition 2 4 Sep 2011 ...

Page 2: ...t be liable for technical or editorial errors or omissions contained in the manual Hewlett Packard Company shall not be liable for any errors or incidental or consequential damages in connection with the furnishing performance or use of this manual or the examples contained herein Copyright 2011 Hewlett Packard Development Company LP Reproduction adaptation or translation of this manual is prohibi...

Page 3: ...rounds to find the information they need The last part describes the four advanced mathematics capabilities Before starting these sections you may want to gain some operating and programming experience on the HP 15C by working through the introductory material The HP 15C A Problem Solver on page 12 The various appendices describe additional details of calculator operation as well as warranty and s...

Page 4: ... Display Clearing and 21 Calculations 22 One Number Functions 22 Two Number Functions and v 22 Section 2 Numeric Functions 24 Pi 24 Number Alteration Functions 24 One Number Functions 25 General Functions 25 Trigonometric Operations 26 Time and Angle Conversions 26 Degrees Radians Conversions 27 Logarithmic Functions 28 Hyperbolic Functions 28 Two Number Functions 29 The Power Function 29 Percenta...

Page 5: ...s 45 Section 4 Statistics Functions 47 Probability Calculations 47 Random Number Generator 48 Accumulating Statistics 49 Correcting Accumulated Statistics 52 Mean 53 Standard Deviation 53 Linear Regression 54 Linear Estimation and Correlation Coefficient 55 Other Applications 57 Section 5 The Display and Continuous Memory 58 Display Control 58 Fixed Decimal Display 58 Scientific Notation Display 5...

Page 6: ... Boundaries 77 Unexpected Program Stops 78 Abbreviated Key Sequences 78 User Mode 79 Polynomial Expressions and Horner s Method 79 Nonprogrammable Functions 80 Problems 81 Section 7 Program Editing 82 The Mechanics 82 Moving to a Line in Program Memory 82 Deleting Program Lines 83 Inserting Program Lines 83 Examples 83 Further Information 85 Single Step Operations 85 Line Position 86 Insertions an...

Page 7: ...and Loop Control 106 The V and Keys 106 Direct Versus Indirect Data Storage With The Index Register 106 Indirect Program Control With the Index Register 107 Program Loop Control 107 The Mechanics 107 Index Register Storage and Recall 107 Index Register Arithmetic 108 Exchanging the X Register 108 Indirect Branching With V 108 Indirect Flag Control With V 109 Indirect Display Format Control With V ...

Page 8: ...alling Complex Numbers 130 Operations With Complex Numbers 130 One Number Functions 131 Two Number Functions 131 Stack Manipulation Functions 131 Conditional Tests 132 Complex Results from Real Numbers 133 Polar and Rectangular Coordinate Conversions 133 Problems 135 For Further Information 137 Section 12 Calculating With Matrices 138 Matrix Dimensions 140 Dimensioning a Matrix 141 Displaying Matr...

Page 9: ...nvolving Matrices 173 Using a Matrix Element With Register Operations 173 Using Matrix Descriptors in the Index Register 173 Conditional Tests on Matrix Descriptors 174 Stack Operation for Matrix Calculations 174 Using Matrix Operations in a Program 176 Summary of Matrix Functions 177 For Further Information 179 Section 13 Finding the Roots of an Equation 180 Using _ 180 When No Root Is Found 186 ...

Page 10: ...on 217 Two Byte Program Instructions 218 Memory Requirements for the Advanced Functions 218 Appendix D A Detailed Look at _ 220 How _ Works 220 Accuracy of the Root 222 Interpreting Results 226 Finding Several Roots 233 Limiting the Estimation Time 238 Counting Iterations 239 Specifying a Tolerance 239 For Advanced Information 239 Appendix E A Detailed Look at f 240 How f Works 240 Accuracy Uncert...

Page 11: ...ions 262 Conversions 262 Digit Entry 262 Display Control 263 Hyperbolic Functions 263 Index Register Control 263 Logarithmic and Exponential Functions 263 Mathematics 264 Matrix Functions 264 Number Alteration 265 Percentage 266 Prefix Keys 266 Probability 266 Stack Manipulation 266 Statistics 267 Storage 267 Trigonometry 268 Programming Summary and Index 269 Subject Index 271 ...

Page 12: ...ormation contained in the HP 15C is saved by Continuous Memory A Quick Look at v Your Hewlett Packard calculator uses a unique operating logic represented by the v key that differs from the logic in most other calculators You will find that using v makes nested and complicated calculations easier and faster to work out Let s get acquainted with how this works For example let s look at the arithmet...

Page 13: ...e correct number To Compute Keystrokes Display 9 6 3 9 v 6 3 0000 9 6 54 9 v 6 54 0000 9 6 1 5 9 v 6 1 5000 9 6 531 441 9 v 6 Y 531 441 0000 Notice that in the four examples Both numbers are in the calculator before you press the function key v is used only to separate two numbers that are keyed in one after the other Pressing a numeric function key in this case or Y executes the function immediat...

Page 14: ...ammed Solutions Suppose you wanted to calculate falling times from various heights The easiest way is to write a program to cover all the constant parts of a calculation and provide for entry of variable data Writing the Program The program is similar to the keystroke sequence you used above A label is useful to define the beginning of a program and a return is useful to mark the end of a program ...

Page 15: ...me keys you pressed to solve the 005 48 problem manually 8 006 8 007 10 008 11 n 009 43 32 Return defines the end of the program 7 8313 Switches to Run mode No PRGM annunciator Running the Program Enter the following information to run the program Keystrokes Display 300 51 300 51 Height of the Eiffel Tower A 7 8313 Falling time you calculated earlier 1050 A 14 6385 The time seconds for a stone to ...

Page 16: ... and press A Find the time of descent for objects released from heights of 100 m 2 m 275 m and 2 000 m The answers are 4 5175 s 0 6389 s 7 4915 s and 20 2031 s That program was relatively easy You will see many more aspects and details of programming in part II For now turn the page to take an in depth look at some of the calculator s important operating basics ...

Page 17: ...Part l HP 15C Fundamentals ...

Page 18: ...lect the primary function printed on the face of a key press only that key For example To select the alternate function printed in gold or blue press the like colored prefix key or followed by the function key For example _ Throughout this handbook we will observe certain conventions in referring to alternate functions References to the function itself will appear as just the key name in a box suc...

Page 19: ...key is also used to show the mantissa of a displayed number so all 10 digits of the number in the display will appear for a moment after the u key is pressed Changing Signs Pressing change sign will change the sign positive or negative of any displayed number To key in a negative number press after its digits have been keyed in Keying in Exponents enter exponent is used when keying in a number wit...

Page 20: ...en digits to the left of the radix mark decimal point nor with a mantissa smaller than 0 000001 To key in such a number use a form having a greater exponent value whether positive or negative For example 123456789 8 1023 can be keyed in as 1234567 898 1025 0 00000025 10 15 can be keyed in as 2 5 10 22 The CLEAR Keys Clearing means to replace a number with zero The clearing operations in the HP 15C...

Page 21: ...es only the last digit in the display if digit entry has not been terminated by v or most other functions You can then key in a new digit or digits to replace the one s deleted If digit entry has been terminated then acts like Keystrokes Display 12345 12 345 Digit entry not terminated 1 234 Clears only the last digit 9 12 349 111 1261 Terminates digit entry 0 0000 Clears all digits to zero In Prog...

Page 22: ...e two numbers If on the other hand one of the numbers is already in the calculator as the result of a previous operation you do not need to use the v key All functions except the digit entry keys themselves have the effect of terminating digit entry Notice that regardless of the number a decimal point always appears and a set number of decimal places are displayed when you terminate digit entry as...

Page 23: ...ust as you would with calculations on paper Example Calculate 6 7 9 3 Keystrokes Display 6 v 6 0000 First solve for the intermediate result of 6 7 7 13 0000 9 v 9 0000 Then solve for the intermediate result of 9 3 3 6 0000 78 0000 Then multiply the intermediate results together 13 and 6 for the final answer Try your hand at the following problems Each time you press v or a function key in a calcul...

Page 24: ... a numeric function does not need to be preceded or followed by v Pi Pressing places the first 10 digits of π into the calculator does not need to be separated from other numbers by v Number Alteration Functions The number alteration functions act upon the number in the display X register Integer Portion Pressing replaces the number in the display with the nearest integer of lesser or equal magnit...

Page 25: ...e number in the display Factorial and Gamma Pressing calculates the factorial of the displayed value where x is an integer 0 x 69 You can also use to calculate the Gamma function Γ x used in advanced mathematics and statistics Pressing calculates Γ x 1 so you must subtract 1 from your initial operand to get Γ x For the Gamma function x is not restricted to nonnegative integers Square Root Pressing...

Page 26: ...except and assume values are in radians regardless of the trigonometric annunciator displayed Pressing g sets Grads mode The GRAD annunciator appears in the display Continuous Memory will maintain the last trigonometric mode selected At power up initial condition or when Continuous Memory is reset the calculator is in Degrees mode Trigonometric Functions Given x in the display X register Pressing ...

Page 27: ...lay the value to all possible decimal places Decimal Hours or Degrees Conversion Pressing À converts the number in the display from an hours degrees minutes seconds decimal seconds format to a decimal hours degrees format Degrees Radians Conversions The d and r functions are used to convert angles to degrees or radians D d R r The degrees must be expressed as decimal numbers and not in a minutes s...

Page 28: ...display that is the logarithm to the base 10 Common Antilogarithm Pressing calculates the common antilogarithm of the number in the display that is raises 10 to the power of that number Keystrokes Display 45 Z 3 8067 Natural log of 45 3 4012 30 0001 Natural antilog of 3 4012 12 4578 o 1 0954 Common log of 12 4578 3 1354 1 365 8405 Common antilog of 3 1354 Hyperbolic Functions Given x in the displa...

Page 29: ...egister The arithmetic operators and are the four basic two number functions Others are given below The Power Function Pressing Y calculates the value of y raised to the x power The base number y is keyed in before the exponent x To Calculate Keystrokes Display 21 4 2 v 1 4 Y 2 6390 2 1 4 2 v 1 4 Y 0 3789 2 3 2 v 3 Y 8 0000 3 2 or 21 3 2 v 3 Y 1 2599 Percentages The percentage functions k and pres...

Page 30: ...6 v 15 7600 This year s price our base number 14 12 10 4061 Last year s price was 10 41 less than this year s price Polar and Rectangular Coordinate Conversions The and functions are provided in the HP 15C for conversions between polar coordinates and rectangular coordinates The angle θ is assumed to be in the mode whether degrees in a decimal format not a minutes seconds format radians or grads θ...

Page 31: ... θ must be entered first then r Upon executing x will be displayed first press to display y Keystrokes Display D Set to Degrees mode no annunciator 5 v 5 0000 y value 10 10 x value 11 1803 r 26 5651 θ rectangular coordinates converted to polar coordinates 30 v 30 0000 θ 12 12 r 10 3923 x value 6 0000 y value Polar coordinates converted to rectangular coordinates ...

Page 32: ...al efficiency of calculator use HP applied the convention of specifying entering the operators after specifying entering the variable s Hence the term Reverse Polish Notation RPN The HP 15C uses RPN to solve complicated calculations in a straightforward manner without parentheses or punctuation It does so by automatically retaining and returning intermediate results This system is implemented thro...

Page 33: ...epresent any numbers which may be in the stack Stack Lift No Stack Lift or Drop lost T t z T t t Z z y Z z z Y y x Y y y X x π X x x Keys Stack Drop T t t Z z t Y y z X x x y Keys Notice the number in the T register remains there when the stack drops allowing this number to be used repetitively as an arithmetic constant Stack Manipulation Functions v Pressing v separates two numbers keyed in one a...

Page 34: ... Keys 1 v 2 v lost T x x 1 1 Z 1 1 2 2 Y 2 2 3 3 X 2 3 3 4 Keys 3 v 4 roll down roll up and X exchange Y and roll the contents of the stack registers up or down one register one value moves between the X and the T register No values are lost exchanges the numbers in the X and Y registers If the stack were loaded with the sequence 1 2 3 4 the following shifts would result from pressing and T 1 4 1 ...

Page 35: ... under Arithmetic Calculations With Constants page 39 It can also assist you in error recovery such as executing the wrong function or keying in the wrong number For example suppose you mistakenly entered the wrong divisor in a chain calculation Keystrokes Display 287 v 287 0000 12 9 22 2481 Oops The wrong divisor K 12 9000 Retrieves from LAST X the last entry to the X register the incorrect divis...

Page 36: ...inated so the next number starts a new entry lost T t t z z Z z z y z Y y y 2 y X 4 2 5 7 Keys 5 There are four functions v z and w that disable stack lift They do not provide for the lifting of the stack when the next number is keyed in or recalled Following the execution of one of these functions a new number will simple write over the currently displayed number instead of causing the stack to l...

Page 37: ...ould vertically position them on paper For example 98 98 98 98 15 15 x15 15 As you can see the first or top number would be in the Y register while the second or bottom number would be in the X register When the mathematics operation is performed the stack drops leaving the result in the X register Here is how a subtraction operation is executed in the calculator lost lost T t z y y y Z z y x x y ...

Page 38: ...es and work outward as you would for a manual calculation Otherwise you may need to place an intermediate result into a storage register For example consider the calculation of 3 4 5 6 7 Keystrokes Display 6 v 7 13 0000 Intermediate result of 6 7 5 65 0000 Intermediate result of 5 6 7 4 69 0000 Intermediate result of 4 5 6 7 3 207 0000 Final result 3 4 5 6 7 The following sequence illustrates the ...

Page 39: ...onstant 1 Use the LAST X register 2 Load the stack with a constant and operate upon different numbers Clear the X register every time you want to change the number operated upon 3 Load the stack with a constant and operate upon an accumulating number Do not change the number in the X register LAST X Use your constant in the X register that is enter it second so that it always will be saved in the ...

Page 40: ...ers year to figure the distances to these stars in meters The stack diagrams show only one decimal place T t z y y Z z y x x Y y x 4 3 4 3 X x 4 3 4 3 9 5 15 Keys 4 3 v 9 5 15 LAST X T y y y x Z x y x 4 1 16 Y 4 3 x 4 1 16 8 7 X 9 5 15 4 1 16 8 7 9 5 15 Keys 8 7 K LAST X 9 5 15 9 5 15 9 5 15 T x x Z 4 1 16 x Y 8 7 4 1 16 Rigel Centaurus is 4 1 1016 meters away Sirius is 8 3 1016 meters away X 9 5 ...

Page 41: ...ister If the variables change as in the preceding example be sure and clear the display before entering the new variable This disables the stack so that the arithmetic result will be written over and only the constant will occupy the rest of the stack If you do not have different arguments that is the operation will be performed upon a cumulative number then do not clear the display simply repeat ...

Page 42: ...st numbered registers are the last to be deallocated from data storage therefore it is wisest to store data in the lowest numbered registers available Storing and Recalling Numbers O store When followed by a storage register address 0 through 9 or 0 through 9 this function copies a number from the display X register into the specified data storage register It will replace any existing contents of ...

Page 43: ...0 Adds today s new blooms to get the total blooming crocuses Clearing Data Storage Registers Pressing CLEAR Q clear registers clears the contents of all data storage registers to zero It does not affect the stack or the LAST X register To clear a single data storage register store zero in that register Resetting Continuous Memory clears all registers and the stack Storage and Recall Arithmetic Sto...

Page 44: ... y Y y X x X x Keys O 0 Recall Arithmetic Recall arithmetic allows you to perform arithmetic with the displayed value and a stored value without lifting the stack that is without losing any values from the Y Z and T registers The keystroke sequence is the same as for storage arithmetic using l in place of O For recall arithmetic new display old display contents of register R0 r T t R0 r T t Z z Z ...

Page 45: ...R0 does not change Overflow and Underflow If an attempted storage or recall arithmetic operation would result in overflow in a data storage register the value in the affected register will be replaced with 9 999999999 1099 and the display will blink To stop the blinking clear the overflow condition press or or 9 In case of underflow the value in the register will be replaced with zero no display b...

Page 46: ...te and key in the initial loan balance Use the following formula to find the new balance after each payment New Balance Old Balance 1 i Payment The first part of the key sequence would be 1 01 vvv 1000 For each payment execute 100 Balance after six payments 446 32 3 Store 100 in R5 Then 1 Divide the contents of R5 by 25 2 Subtract 2 from the contents of R5 3 Multiply the contents of R5 by 0 75 4 A...

Page 47: ...ible different arrangements of y different items taken in quantities of x items at a time No item occurs more than once in an arrangement and different orders of the same x items in an arrangement are counted separately The formula is x y y P x y Combinations Pressing c calculates the number of possible sets of y different items taken in quantities of x items at a time No item occurs more than onc...

Page 48: ...ou generate a random number that number becomes the seed for the next random number You can initiate a different random number sequence by storing a new seed for the random number generator Repetition of a random number seed will produce repetition of the random number sequence O will store the X register number 0 r 1 as a new seed for the random number generator A value for r outside this range w...

Page 49: ... registers and stack If you have reallocated registers in memory and any of the statistics registers no longer exist Error 3 will be displayed when you try to use CLEAR z or w Appendix C explains how to reallocate memory In one variable statistical calculations enter each data point x value by keying in x and then press z In two variable statistical calculations enter each data pair the x and y va...

Page 50: ...in the X register R3 Σx Summation of x values R4 Σx 2 Summation of squares of x values R5 Σy Summation of y values R6 Σy2 Summation of squares of y values R7 Σxy Summation of products of x and y values You can recall any of the accumulated statistics to the display X register by pressing l and the number of the data storage register containing the desired statistic If you press l z Σy and Σx will ...

Page 51: ... stack 2 0 00 Limits display to two decimal places like the data 4 63 v 4 63 0 z 1 00 First data point 4 78 v 4 78 20 z 2 00 Second data point 6 61v 6 16 40 z 3 00 Third data point 7 21 v 7 21 60 z 4 00 Fourth data point 7 78 v 7 78 80 z 5 00 Fifth data point l 3 200 00 Sum of x values Σx kg of nitrogen l 4 12 000 00 Sum of squares of x values Σx2 l 5 31 01 Sum of y values Σy grain yield l 6 200 4...

Page 52: ... in the preceding data Farmer realizes he misread a smeared figure in his lab book The second y value should have been 5 78 instead of 4 78 Correct the data input Keystrokes Display 4 78 v 4 78 Keys in the data pair we want to replace and deletes the accompanying statistics The n value drops to four 20 w 4 00 5 78 v 5 78 Keys in and accumulates the replacement data pair 20 z 5 00 The n value is ba...

Page 53: ...values are given in appendix A This function gives an estimate of the population standard deviation from the sample data and is therefore termed the sample standard deviation When you press S the contents of the stack registers are lifted twice if stack lift is enabled once if not sx is placed into the X register and sy is placed into the Y register Press to view sy When your data constitutes not ...

Page 54: ...g a relationship between two variables By the method of least squares L will calculate the slope A and y intercept B of the linear equation y Ax B 1 Accumulate the statistics of your data using the z key 2 Press L The y intercept B appears in the display X register The slope A is copied simultaneously into the Y register 3 Press to view A As is the case with the functions and S L causes the stack ...

Page 55: ...nd compare to the plotted data on the graph below Keystrokes Display L 4 86 y intercept of the line 0 04 Slope of the line Linear Estimation and Correlation Coefficient When you press j the linear estimate ŷ is placed in the X register and the correlation coefficient r is placed in the Y register To display r press ...

Page 56: ...ficient r is a determination of how closely your data fit a straight line The range is 1 r 1 with 1 representing a perfectly negative correlation and 1 representing a perfectly positive correlation Note that if you do not key in a value for x before executing j the number previously in the X register will be used usually yielding a meaningless value for ŷ Example What if 70 kg of nitrogen fertiliz...

Page 57: ...e unknown intermediate value is assumed to fall on that same line Vector Arithmetic The statistical accumulation functions can be used to perform vector addition and subtraction Polar vector coordinates must be converted to rectangular coordinates upon entry θ v r z The results are recalled from R3 Σx and R5 Σy using l z and converted back to polar coordinates if necessary Remember that for polar ...

Page 58: ...tinuous Memory is reset The current display format takes effect when digit entry is terminated until then all digits you key in up to 10 are displayed Fixed Decimal Display fixed decimal format displays a figure with the number of decimal places you specify up to nine depending on the size of the integer portion Exponents will be displayed if the number is too small or too large for the display At...

Page 59: ... shows six decimal places i 8 1 234567 02 Rounds to eight decimal places but displays only six Engineering Notation Display engineering format displays numbers in an engineering notation format in a manner similar to i except In engineering notation the first significant digit is always present in the display The number you key in after specifies the number of additional digits to which you want t...

Page 60: ...e 10th digit Because the calculator can provide only a finite approximation for numbers such as or 2 3 0 666 a small error due to rounding can occur This error can be increased in lengthy calculations but usually is insignificant To accurately assess this effect for a given calculation requires numerical analysis beyond our scope and space here Refer to the HP 15C Advanced Functions Handbook for a...

Page 61: ...play For a complete listing of error messages and their causes refer to appendix A To clear the Error display and restore the calculator to its prior condition press any key You can then resume normal operation Overflow and Underflow Overflow When the result of a calculation in any register is a number with a magnitude greater than 9 999999999 1099 9 999999999 1099 is placed in the affected regist...

Page 62: ...ng in the calculator even when the display is turned off All numeric data stored in the calculator All programs stored in the calculator Position of the calculator in program memory Display mode and setting Trigonometric mode Degrees Radians or Grads Any pending subroutine returns Flag settings except flag 9 which clears when the display is manually turned off User mode setting Complex mode settin...

Page 63: ...he calculator off 2 Press and hold the key then press and hold the key 3 Release the key then the key This convention is represented as When Continuous Memory is reset Pr Error power error will be displayed Press any key to clear the display Note Continuous Memory can inadvertently be interrupted and reset if the calculator is dropped or otherwise traumatized ...

Page 64: ......

Page 65: ...Part ll HP 15C Programming ...

Page 66: ...lating manually This is called keystroke programming To create a program out of a series of calculation steps requires two extra manipulations deciding where and how to enter your data and loading and storing the program In addition programs can be instructed to make decisions and perform iterations through conditional and unconditional branching As we step through the fundamentals of programming ...

Page 67: ...in Program or Run mode to move to line 000 without recording the t statement In Run mode CLEAR M will also reset the calculator to line 000 without clearing program memory Alternatively you can clear program memory which will erase all programs in memory and position you to line 000 To do so press CLEAR M in Program mode Program Begin A label instruction b followed by a letter A through E or numbe...

Page 68: ...eystrokes Display n 009 43 32 Optional if this is the last program in memory Intermediate Program Stops Use pause as a program instruction to momentarily stop a program and display an intermediate result Use more than one for a longer pause Use a run stop instruction to stop the program indefinitely The program will remain positioned at that line You can resume program execution from that line by ...

Page 69: ...hit the ground Restarting a Program Press to continue execution of a program that was stopped with a instruction User Mode User mode is an optional condition to save keystrokes when executing letter named programs Pressing U will interchange the shifted and primary functions of the A through E keys You can then execute a program using just one keystroke skipping the or G How to Enter Data Every pr...

Page 70: ...ter your data then press to restart the program Do not key variable data into the program itself Any values that will vary should be entered anew with each program execution Program Memory At power up Continuous Memory reset the HP 15C offers 322 bytes of program memory and 21 storage registers Most program steps instructions use one byte but some use two The distribution of memory capacity can be...

Page 71: ...Add it to a register to hold the sum of all volumes 3 Recall r Divide the volume by r and multiply by 2 to yield the side area Recall the base area multiply by 2 and add to the side area to yield the surface areas Sum the surface areas in a register Do not enter the actual data while writing the program just provide for their entry These values will vary and so will be entered before and or during...

Page 72: ...of a can O 4 006 44 4 Stores the BASE AREA in R4 O 1 007 44 40 1 Keeps a sum of all BASE AREAS in R1 008 31 Stops to display BASE AREA and allow entry of the h value 009 20 Multiplies h by the BASE AREA giving VOLUME 010 42 31 Pauses briefly to display VOLUME O 2 011 44 40 2 Keeps a sum of all can VOLUMES in R2 l 0 012 45 0 Recalls r 013 10 Divides VOLUME by r 2 014 2 015 20 2 rh the SIDE AREA of ...

Page 73: ...ears all storage registers The display does not change 2 5 2 5 Enter r of the first can A or G A 19 6350 Starts program A BASE AREA of first can running flashes during execution 8 8 Enter h of first can Then restart program 157 0796 VOLUME of first can 164 9336 SURFACE AREA of first can 4 4 Enter r of the second can 50 2655 BASE AREA of second can 10 5 10 5 Enter h of second can 527 7876 VOLUME of...

Page 74: ...considered an instruction and is stored in one line of program memory An instruction may include prefixes such as O t and b and still occupy only one line Most instructions require one byte of program memory however some require two For a complete list of two byte instructions refer to Appendix C Instruction Coding Each key on the HP 15C keyboard except for the digit keys 0 through 9 is identified...

Page 75: ...you have run up against limitations of the HP 15C memory If you learn how to reallocate memory you can greatly increase your ability to store information in the HP 15C The HP 15C memory consists of 67 registers R0 to R65 and the Index register divided between data storage and programming advanced function capability The initial configuration is 46 registers for both programming and the advanced fu...

Page 76: ...ta register all other registers are left for programming and advanced functions Keystrokes Display 60 m 60 0000 R60 and below allocated to data storage five R61 to R65 remain for programming The optional omission of the keystroke after another prefix key is explained on page 78 Abbreviated Key Sequences Initial Memory Configuration ...

Page 77: ... 3 2 You have 322 occupied program bytes and try to load more program lines Error 4 3 You try to run an advanced function with insufficient available memory Error 10 Program Boundaries End Not every program needs to end with a n or instruction If you are at the end of occupied program memory there is an automatic n instruction so you do not need to enter one This can save you one line of memory On...

Page 78: ...en starts and continues ignoring any other labels until a halt instruction 000 stop bA b3 end of memory Unexpected Program Stops Pressing Any Key Pressing any key will halt program execution It will not halt in the middle of an operation This instruction will be completed before the program stops Error Stops Program execution is immediately halted when the calculator attempts an improper operation...

Page 79: ...er s Method Some expressions such as polynomials use the same variable several times for their solution For example the expression f x Ax4 Bx3 Cx2 Dx E uses the variable x four different times A program to solve such an equation could repeatedly recall a stored copy of x from a storage register A shorter programming method however would be to use a stack which has been filled with the constant ref...

Page 80: ... 40 5x 2 006 20 5x 2 x 007 20 5x 2 x2 008 20 5x 2 x3 n 009 43 32 Returns to Run mode Prior result remains in display 7 v v v 7 0000 Loads the stack X Y Z and T registers with 7 B 12 691 0000 Nonprogrammable Functions When the calculator is in Program mode almost every function on the keyboard can be recorded as an instruction in program memory The following functions cannot be stored as instructio...

Page 81: ...n a more general way by removing the specific values 3 2 and 138 from the program and instead recalling the L0 and r0 values from storage registers or by removing 3 2 and 138 and loading L0 r and r0 into the stack before execution L0 v r v r0 Answer for r 3 km L 78 5606 db 2 A typical large tomato weighs about 200 grams of which about 188 g 94 are water A tomato grower is trying to produce tomatoe...

Page 82: ...n mode or Program mode PRGM displayed This is not a programmable sequence it is for manually finding a specific position in program memory The line number must be a three digit number satisfying 000 nnn 448 The Single Step  Instruction To move only one line at a time forward through program memory press  single step This function is not programmable In Program mode  will move the memory positio...

Page 83: ...ny instruction you key in will be added following the line currently in the display To alter an instruction first delete it then add the new version Examples Let s refer back to the can volume program on page 71 in section 6 and make a few changes in the instructions The can program as listed below is assumed to be in memory starting on line 001 Deletions If we don t need the summed base area volu...

Page 84: ...e program and work backwards In this way deletions will not change the line numbers of the preceding lines in the program Keystrokes Display 000 Program mode Assumes position is at line 000 t 020 or use  020 44 40 3 Moves position to line 020 instruction O 3 ...

Page 85: ...leted l 1 008 45 1 Line 008 changed to l 1 007 44 40 1 Back step to line 007 006 44 4 Line 007 O 1 deleted 005 20 Line 006 O 4 deleted O 2 006 44 2 Changed to O 2 The replacement of a line proceeds like this Further Information Single Step Operations Single Step Program Execution If you want to check the contents of a program or the location of an instruction you can single step through the progra...

Page 86: ... Wrapping  will not move program position into unoccupied program territory Instead the calculator will wrap around to line 000 In Run mode  will perform any instructions at the end of program memory such as n t or G Line Position Recall that the calculator s position in program memory does not change when it is shut off or Program Run modes are changed Upon returning to Program mode the calcula...

Page 87: ...d set relevant modes either just prior to running a program or within the program itself A self initializing program is more mistake proof but it also uses more program lines Calculator initializing functions are CLEAR CLEAR M CLEAR Q D R g F and Problems It is good programming technique to avoid using identical program labels This shouldn t be hard since the HP 15C provides 25 different labels To...

Page 88: ...th a digit label Answers 1 435 63 3 071 58 Alter the program to make the annual interest rate 8 0 Using the edited program find the future value of 500 invested for 4 years of 2 000 invested for 10 years Answers 680 24 4 317 85 2 Create a program to calculate the length of a chord ℓ subtended by an angle in degrees on a circle of radius r according to the equation ℓ 2r sin 2 θ Find ℓ when θ 30 and...

Page 89: ... find and display s the length of the circular arc cut by θ in radians according to the equation s r θ Complete the following table θ r ℓ s 45 50 90 100 270 100 Answers 38 2683 and 39 2699 141 4214 and 157 0796 141 4214 and 471 2389 A possible new sequence is bA D 4 O0 2 O1 2 l0 l1 r n ...

Page 90: ...cs Branching The Go To t Instruction Simple branching that is unconditional branching is carried out with the instruction t label In a running program t will transfer execution to the next appropriately labeled program or routine not to a line number The calculator searches forward in memory wrapping around through line 000 if necessary and resumes execution at the first line containing the proper...

Page 91: ...program execution is by a conditional test a true false test which compares the number in the X register either to zero or to the number in the Y register The HP 15C provides 12 different tests two explicit on the keyboard and 10 others accessible using T n 1 Direct and 2 Indirect T n n Test n Test 0 x 0 5 x y 1 x 0 6 x y 2 x 0 7 x y 3 x 0 8 x y 4 x 0 9 x y Four of the conditional tests can also b...

Page 92: ... test A flag is a status indicator that is either set true or clear false Again execution follows the Do if True Rule it proceeds sequentially if the flag is set and skips one line if the flag is clear The HP 15C has eight user flags numbered 0 to 7 and two system flags numbered 8 Complex mode and 9 overflow condition The system flags are discussed later in this section All flags can be set cleare...

Page 93: ... a loop to calculate the number of millicuries mci of isotope theoretically remaining at 3 day intervals of decay Included is a conditional test to check the result and end the program when radioactivity has fallen to a given value a limit The program assumes t1 the first day of measurement is stored in R0 N0 the initial amount of isotope is stored in R1 and the limit value for radioactivity is st...

Page 94: ...rogram ends 3 015 3 If not program continues O 0 016 44 40 0 Adds 3 days to t in R0 tA 017 22 11 Go to A and repeat execution to find a new Nt from a new t Notice that without lines 012 to 014 the loop would run indefinitely until stopped from the keyboard Let s run the program using t1 2 days N0 100 mci and a limit value of half of N0 50 mci Keystrokes Display Run mode display will vary 2 O 0 2 0...

Page 95: ... you wanted to withdraw the monthly payments from a bank account yielding 6 per year compounded monthly which equals 0 5 per month how much must you deposit in the account at the start of the college years to fund monthly payments for the next 4 years The formula is 1 1 1 i i i P V n if payments are to be made each month in advance and the formula is i i P V n 1 1 if payments are to be made each m...

Page 96: ...rue indicates payment in arrears b 1 006 42 21 1 Routine 1 main routine O1 007 44 1 Stores i from X register 1 008 1 009 40 1 i 010 34 Puts n in X l i in Y 011 16 n y 012 14 1 i n 013 16 1 i n 1 014 1 015 40 1 1 i n l 1 016 45 10 1 Recall division with R1 i to get l l i n i 017 20 Multiplies quantity by P 0 018 43 6 0 Flag 0 set n 019 43 32 End of calculation if flag 0 set for payments in arrears ...

Page 97: ...ssary for payments to be made in advance Repeat stack entries E 10 645 0795 Deposit necessary for payment to be made in arrears The difference between this deposit and the tuition cost 12 000 represents interest earned on the deposit Further Information Go to In contrast to the nonprogrammable sequence t nnn the programmable sequence t label cannot be used to branch to a line number but only to pr...

Page 98: ...e amount of sale compares it to a test value and then calculates a specific commission depending on whether the sale is less than or greater than the test value Tests A conditional test takes what is in the X register x and compares it either to zero such as or to y that is what is in the Y register such as For an x y comparison therefore you must have the x and y values juxtaposed in the X and Y ...

Page 99: ...program at C for degrees Celsius 7 Flag 7 cleared false t 1 b Á Start program at D for degrees Kelvin F 7 Flag 7 set true b 1 Assuming temperature in X register 7 Checks for flag 7 checks for Celsius or Kelvin input t 2 If set Kelvin input goes to a later routine skipping the next few instructions 2 If cleared Celsius input adds 273 to the 7 value in the X register since K C 273 3 b 2 Calculation ...

Page 100: ...he common procedure for clearing flags Press This will only clear flag 9 and stop the blinking it will not clear the display Turn the calculator off Flag 9 is not cleared if the calculator turns itself off If you set flag 9 manually F 9 it causes the display to blink irrespective of the overflow status of the calculator As usual a program will run to completion before the display starts blinking T...

Page 101: ...bel transfers program execution to the line with the corresponding label A to E 0 to 9 or 0 to 9 However execution then continues until the first subsequent n instruction is encountered at which point execution transfers back to the instruction immediately following the last G instruction and continues on from there Subroutine Execution bA b 1 G 1 n n END RETURN Execution transfers to line 000 and...

Page 102: ...G4 n n n n n End Examples Example Write a program to calculate the slope of the secant line joining points x1 y1 and x2 y2 on the graph shown where y x2 sin x given x in radians The secant slope is 1 2 1 2 1 2 2 2 1 2 1 2 sin sin or x x x x x x x x y y The solution requires that the equation for y be evaluated twice once for y1 and once for y2 given the data input for x1 and x2 Since the same calc...

Page 103: ...9 G 3 Transfer to subroutine with x2 Return from subroutine 3 010 y2 y1 011 l 0 Recalls x2 x1 from R0 and calculates y2 y1 x2 x1 012 n Program end return to line 000 SUBROUTINE 013 b 3 Start subroutine 3 014 x x2 015 K Recall x 016 sin x 017 x 2 sin x which equals y 018 n Return to origin in main program Calculate the slope for the following values of x1 and x2 0 52 1 25 1 1 0 81 0 98 Remember to ...

Page 104: ...bles t z y and x into the T Z Y and X registers Keystrokes b 4 Start of main subroutine x x2 G 5 Calculates y2 and x2 y2 G 5 Calculates z2 and X 2 y2 z2 G 5 Calculates t2 and x2 y2 z2 t2 2 2 2 2 t z y x n End of main subroutine returns to main program b 5 Start of nested subroutine x Calculates a square and adds it to current sum of squares n End of nested sub routine returns to main subroutine If...

Page 105: ...m it will always return execution to where it branched from even as that point changes The only difference between using a G branch and a t branch is the transfer of execution after a n Nested Subroutines If you attempt to call a subroutine that is nested more than seven levels deep the calculator will halt and display Error 5 when it encounters the G instruction at the eighth level Note that ther...

Page 106: ...ctly control flag operations The V and Keys Direct Versus Indirect Data Storage With the Index Register The Index register is a data storage register that can be used directly with V or indirectly with The difference is important to note V The V function uses the number itself in the Index register The function uses the absolute value of the integer portion of the number in the Index register to a...

Page 107: ...ied out indirectly with The Mechanics Both V and can be used in abbreviated key sequences omitting the preceding prefix as explained on page 78 Index Register Storage and Recall Direct O V and l V Storage and recall between the X register and the Index register operate in the same manner as with other data storage registers page 42 Indirect O or l stores into or recalls from the data storage regis...

Page 108: ...ge register addressed by the integer portion of the number 0 to 65 in the Index register See the above table Exchanging the X Register Direct X V exchanges contents between the X register and the Index register Works the same as X n does with registers 0 through 9 Indirect X exchanges contents between the X register and the data storage register addressed by the number 0 to 65 in the Index registe...

Page 109: ...ar or test the flag 0 to 9 specified in RI by the magnitude of the integer portion Indirect Display Format Control With V V i V and V will format the display in their customary manner refer to pages 58 59 using the number in RI integer part only for n which must be from 0 to 9 Loop Control With Counters I and e The I increment and skip if greater than and e decrement and skip if less than or equal...

Page 110: ...bed test value and exits the loop by skipping the next line if the loop counter nnnnn is either greater than I or less than or equal to e the test value xxx The amount that nnnnn is incremented or decremented is specified by yy With these functions as opposed to the other conditional tests the rule is Skip if True False nnnnn xxx True nnnnn xxx instruction IV loop t 1 instruction exit loop For I g...

Page 111: ... when nnnnn becomes less than or equal to xxx For example loop iterations will alter these control numbers as follows Iterations Operation 0 1 2 3 4 I 0 00602 2 00602 4 00602 6 00602 8 00602 skip next line e 6 00002 4 00002 2 00002 0 00002 skip next line Examples Examples Register Operations Storing and Recalling Keystrokes Display CLEAR Q Clears all storage registers 12 3456 12 3456 O V 12 3456 S...

Page 112: ...ess R2 Storage Register Arithmetic Keystrokes Display 10 O V 10 0000 Adds 10 to RI l V 12 6458 New contents of RI old 10 O 3 1416 Divides contents of R 2 by l 0 8422 New contents of R 2 X 2 0 8422 Check directly address R 2 Example Loop Control with e Remember the program in section 8 which used a loop to calculate radioactive decay Refer to page 93 This program used a test condition x y to exit t...

Page 113: ...the two loop test condition lines 011 42 31 Delete lines 013 and 012 e 2 012 42 5 2 Add your loop counter function counter stored in R2 t V 013 22 25 Go to given line number 015 Now when the loop counter stored in R2 has reached zero it will skip line 013 and go on to 014 the n instruction thereby ending the program If the loop counter has not yet decreased to zero execution continues with line 01...

Page 114: ...of display format for each possible decimal place It utilizes a loop containing a s instruction to automatically change the number of decimal places Keystrokes CLEAR M b B 9 nnnnn 9 Therefore xxx 0 and by default yy 1 yy cannot be zero O V b 0 V l V Displays current value of nnnnn e V Value in RI is decremented and tested Skip a line if nnnnn test value t 0 Continue loop if nnnnn test value 0 T 1 ...

Page 115: ...red recalled exchanged added to etc Using V as a control number The absolute value of the integer portion in RI is a separate entity from the fractional portion For indirect branching flag control and display format control with V only this portion is used For loop control the fractional portion is also used but separately from the integer portion Using as a reference to the contents of another st...

Page 116: ...the display manually that is from the keyboard this function is most commonly used in programming This capability is especially valuable for the f function for which accuracy can be stipulated by specifying the number of digits to be displayed as described in section 14 There are as usual certain display limitations to keep in mind Recall that any display format function merely alters the number o...

Page 117: ...ol 117 An exception is in the case of f where the display format number in RI may range from 6 to 9 This is discussed in appendix E on page 247 A number less than zero will not affect the display format but will affect accuracy with this function ...

Page 118: ...118 ...

Page 119: ...Part lll HP 15C Advanced Functions ...

Page 120: ...x Mode Calculations with complex numbers are performed using a complex stack composed of two parallel four register stacks and two LAST X registers One of these parallel stacks referred to as the real stack contains the real parts of complex numbers used in calculations This is the same stack used in ordinary calculations The other stack referred to as the imaginary stack contains the imaginary pa...

Page 121: ...tivating Complex Mode Since Complex mode requires the allocation of five registers from memory you will have more memory available for programming and other advanced functions if you deactivate Complex mode when you are working solely with real numbers To deactivate Complex mode clear flag 8 keystroke sequence 8 The C annunciator will disappear Complex mode is also deactivated when Continuous Memo...

Page 122: ...register V 4 0000 Copies 5 from real X register into imaginary X register copies 4 from real Y register into real X register and drops stack 6 0000 Real part of sum hold 8 0000 Displays imaginary part release 6 0000 of sum while the key is held This also terminates digit entry The operation of the real and imaginary stacks during this process is illustrated below Assume that the stack registers ha...

Page 123: ...ry X register When the second complex number is entered the stacks operate as shown below Note that v lifts both stacks Re Im Re Im Re Im Re Im T 7 0 7 0 6 0 6 0 Z 7 0 6 0 2 3 2 3 Y 6 0 2 3 4 0 4 0 X 2 3 4 0 4 0 5 0 Keys 4 v 5 Re Im Re Im Re Im T 6 0 6 0 6 0 Z 2 3 6 0 6 0 Y 4 0 2 3 6 0 X 5 0 4 5 6 8 Keys V A second method of entering complex numbers is to enter the imaginary part first then use an...

Page 124: ... Stacks real exchange imaginary Pressing will exchange the contents of the real and imaginary X registers thereby converting the imaginary part of the number into the real part and vice versa The Y Z and T registers are not affected Press twice restore a number to its original form also activates Complex mode if it is not already activated Temporary Display of the Imaginary X Register Press to mom...

Page 125: ... calculator in Complex mode clears only the number in the real X register it does not clear the number in the imaginary X register Example Change 6 8i to 7 8i and subtract it from the previous entry Use or to view the imaginary part in X Assume a b c and d represent parts of complex numbers Re Im Re Im Re Im Re Im T a b a b a b a b Z c d c d c d a b Y 6 0 6 0 6 0 c d X 6 8 0 8 7 8 1 8 Keys 7 or ot...

Page 126: ...g the Real and Imaginary X Registers If you want to clear or replace both the real and imaginary parts of the number in the X register simply press which will disable the stack and enter your new number Enter zeros if you want the X register to contain zeros Alternatively if the new number will be purely real including 0 0i you can quickly clear or replace the old complex number by pressing follow...

Page 127: ...k if one is not already present Example Enter 9 8i without moving the stack and then find its square Keystrokes Display 0 0000 Prevents stack lift when the next digit 8 is keyed in Omit this step if you d rather save what s in X and lose what s in T 8 8 Enter imaginary part first 7 0000 Displays real part Complex mode activated 0 0000 Disables stack Otherwise it would lift following 9 9 Enters rea...

Page 128: ... it into the display just as you would if the calculator were not in Complex mode As you do so a zero will be placed in the imaginary X register as long as the previous operation was not or as explained on page 124 The operation of the real and imaginary stacks during this process is illustrated below Assume the last key pressed was not or and the contents remain from the previous example Re Im Re...

Page 129: ...ister 0 0000 Exchanges numbers in real and imaginary X registers Display again shows that the number in the real X register is zero as it should be for a pure imaginary number The operation of the real and imaginary stacks during this process is illustrated below Assume the stack registers contain the numbers resulting from the preceding examples Re Im Re Im Re Im T e f e f e f Z 17 144 17 144 17 ...

Page 130: ...ode use instead of Operations With Complex Numbers Almost all functions performed on real numbers will yield the same answer whether executed in or out of Complex mode assuming the result is also real In other words Complex mode does not restrict your ability to calculate with real numbers Any functions not mentioned below or in the rest of this section Calculating With Complex Numbers ignore the ...

Page 131: ...etric mode To calculate trigonometric functions for values given in degrees use r to convert those values to radians before executing the trigonometric function Two Number Functions The following functions operate on both the real and imaginary parts of the numbers in the X and Y registers and place the real and imaginary parts of the answer into the X registers Both stacks drop just as the ordina...

Page 132: ...0 x 0 T 5 x y T 6 x y Example Complex Arithmetic The characteristic impedance of a ladder network is given by an equation of the form B A Z 0 where A and B are complex numbers Find Z0 for the hypothetical values A 1 2 4 7i and B 2 7 3 2i Keystrokes Display 1 2 v 4 7 V 1 2000 Enters A into real and imaginary X registers 2 7 v 3 2 V 2 7000 Enters B into real and imaginary X registers moving A into r...

Page 133: ...0 Assuming 2 404 in the X register the complex value arc sin 2 404 can be calculated as follows Keystrokes Display F 8 Activates Complex Mode 1 5708 Real part of arc sin 2 404 hold 1 5239 Imaginary part of arc sin 2 404 release 1 5708 Display shows real part again when is released Polar and Rectangular Coordinate Conversions In many applications complex numbers are represented in polar form someti...

Page 134: ...he real X register with a and replacing the angle θ in the imaginary X register with b converts the rectangular coordinates of a complex number to the polar or phasor form by replacing the real part a in the real X register with r and replacing the imaginary part b in the imaginary X register with θ These are the only functions in Complex mode that are affected by the current trigonometric mode se...

Page 135: ...o rectangular form real part a displayed 3 v 3 0000 40 V 3 0000 2 2981 Converts polar to rectangular form real part a displayed 3 1434 4 8863 Converts rectangular to polar form r displayed hold 49 9612 θ in degrees release 4 8863 Problems By working through the following problems you will see that calculating with complex numbers on the HP 15C is as easy as calculating with real numbers In fact on...

Page 136: ...te a program to evaluate the function 3 5 1 2 z z ω for different values of z ω represents a linear fractional transformation a class of conformal mappings Evaluate ω for z l 2i Answer 0 3902 0 0122i One possible keystroke sequence is b A v v 2 1 5 3 n 3 Try your hand at a complex polynomial and rework the example on page 80 You can use the same program to evaluate P z 5z4 2z3 where z is some comp...

Page 137: ...numbers in various functions with the HP 15C Applications are included The topics include Accuracy considerations Principal branches of multi valued functions Complex contour integrals Complex potentials Storing and recalling complex numbers using a matrix Calculating the nth roots of a complex number Solving an equation for its complex roots Using _ and f in Complex mode ...

Page 138: ...mon application of matrix calculations is solving a system of linear equations For example consider the equations 3 8x1 7 2x2 16 5 1 3x1 0 9x2 22 1 for which you must determine the values of x1 and x2 These equations can be expressed in matrix form as AX B where 2 1 0 9 1 3 7 2 3 8 x x X A and 22 1 16 5 B The following keystrokes show how easily you can solve this matrix problem using your HP 15C ...

Page 139: ...s a11 7 2 O A 7 2000 Stores a12 1 3 O A 1 3000 Stores a21 9 O A 0 9000 Stores a22 2 v 1 m B 1 0000 Dimensions matrix B to be 2 l 16 5 O B 16 5000 Stores b11 22 1 O B 22 1000 Stores b21 C 22 1000 Designates matrix C for storing the result Using matrix notation the solution of the matrix equation AX B is X A 1 B where A 1 is the inverse of matrix A You can perform this operation by entering the desc...

Page 140: ...lution to the matrix equation Also remove the calculator from User mode and clear all matrices Keystrokes Display l C C 1 1 Denotes matrix C row 1 column 1 11 2887 Value of c11 x1 l C 8 2496 Value of c21 x2 U 8 2496 Deactivates User mode 0 8 2496 Clears all matrices The solution to the system of equations is x1 11 2887 and x2 8 2496 Note The description of matrix calculations in this section presu...

Page 141: ... decrease that number Dimensioning a Matrix To dimension a matrix to have y rows and x columns place those numbers in the Y and X registers respectively and then execute m followed by the letter key specifying the matrix 1 Key the number of rows y into the display then press v to lift it into the Y register Y number of rows 2 Key the number of columns x into the X register X number of columns 3 Pr...

Page 142: ...ight Press l m followed by the letter key specifying the matrix The calculator places the number of rows in the Y register and the number of columns in the X register Keystrokes Display l B b 0 0 Matrix B has 0 rows and 0 columns since it has not been dimensioned otherwise l m A 3 0000 Number of columns in A 2 0000 Number of rows in A Changing Matrix Dimensions Values of matrix elements are stored...

Page 143: ...dimension a single matrix to 0 0 by pressing 0 m A through E Storing and Recalling Matrix Elements The HP 15C provides two ways of storing and recalling values of matrix elements The first method allows you to progress through all of the elements in order The second method allows you to access elements individually Storing and Recalling All Elements in Order The HP 15C normally uses storage regist...

Page 144: ...eps 4 and 5 for all elements of the matrix The row and column numbers are incremented according to the dimensions of the matrix you specify While the letter key specifying the matrix is held down after O or l is pressed the calculator displays the name of the matrix followed by the row and column numbers of the element whose value is being stored or recalled If the letter key is held down for long...

Page 145: ... 1 column l R0 and R1 were reset in preceding step 1 0000 Value of a11 l A 2 0000 Value of a12 l A 3 0000 Value of a13 l A 4 0000 Value of a21 l A 5 0000 Value of a22 l A 6 0000 Value of a23 U 6 0000 Deactivates User mode Checking and Changing Matrix Elements Individually The calculator provides two ways to check recall and change store the value of a particular matrix element The first method use...

Page 146: ...00 Stores column number in R1 9 9 Keys the new element value into the X register O A A 2 3 Row 2 column 3 of A 9 0000 Value of a23 Using the Stack You can use the stack registers to specify a particular matrix element This eliminates the need to change the numbers in R0 and R1 To recall an element value enter the row number and column number into the stack in that order Then press l followed by th...

Page 147: ...s used to specify a particular matrix For many calculations you also must specify a matrix for storing the result This is the result matrix Because matrix operations usually require many individual calculations the calculator flashes the running display during most matrix operations Matrix Descriptors Earlier in this section you saw that when you press l followed by a letter key specifying a matri...

Page 148: ...ust designate the result matrix Do this by pressing followed by the letter key specifying the matrix If the descriptor of the intended result matrix is already in the X register you can press O instead The designated matrix remains the result matrix until another is designated To display the descriptor of the result matrix press l When you perform an operation that affects the result matrix the ma...

Page 149: ... enters the descriptor of the matrix into the display 2 Press O followed by the letter key specifying the matrix to be copied into If the matrix specified after l does not have the same dimensions as the matrix specified after O the second matrix is redimensioned to agree with the first The matrix specified after O need not already be dimensioned Example Copy matrix A from the previous example int...

Page 150: ...cified matrix None LU decomposi tion of specified matrix The row norm is the largest sum of the absolute values of the elements in each row of the specified matrix The Frobenius of Euclidean norm is the square root of the sum of the squares of all elements in the specified matrix Unless the result matrix is the same matrix specified in the X register If the specified matrix is a singular matrix th...

Page 151: ... in User mode is now 9 3 5 2 4 1 B Scalar Operations Scalar operations perform arithmetic operations between a scalar that is a number and each element of a matrix The scalar and the descriptor of the matrix must be placed in the X and Y registers in either order Note that the register position will affect the outcome of the and functions The resulting values are stored in the corresponding elemen...

Page 152: ...s each matrix element by scalar value Calculates inverse of matrix and multiplies each element by scalar value Result matrix may be the specified matrix Example Calculate the matrix B 2A then subtract 1 from every element in B From before use 9 5 4 3 2 1 A Keystrokes Display B Designates matrix B as result matrix l A A 2 3 Displays descriptor of matrix A 2 b 2 3 Redimensions matrix B to the same d...

Page 153: ...ssing or calculates the sum or difference of the matrices Pressing Calculates Y X Y X Result is stored in result matrix Result matrix may be X or Y Example Calculate C B A where A and B are defined in the previous example and 17 9 7 5 3 1 9 5 4 3 2 1 B A Keystrokes Display C Designates C as result matrix l B b 2 3 Recalls descriptor of matrix B This step can be skipped if descriptor is already in ...

Page 154: ...ates YX 5 YT X X 1 Y Result is stored in result matrix For the result matrix can be Y but not X For the others the result matrix must be other than X or Y Note When you use the function to evaluate the expression A 1 B you must enter the matrix descriptors in the order B A rather than in the order that they appear in the expression The value stored in each element of the result matrix is determine...

Page 155: ...mple Using matrices A and B from the previous example calculate C AT B 17 9 7 5 3 1 9 5 4 3 2 1 and B A Keystrokes Display l A A 2 3 Recalls descriptor for matrix A l B b 2 3 Recalls descriptor for matrix B into X register moving matrix A descriptor into Y register C b 2 3 Designates matrix C as result matrix 5 C 3 3 Calculates AT B and stores result in matrix C which is redimensioned to 3 3 The r...

Page 156: ...and with improved accuracy At the beginning of this section you found the solution for a system of linear equations in which the constant matrix and the solution matrix each had one column The following example illustrates that you can use the HP 15C to find solutions for more than one set of constants that is for a constant matrix and solution matrix with more than one column Example Looking at h...

Page 157: ... unknown variables the weights of cabbage and broccoli All three weeks can be handled simultaneously using the matrix equation 0 86 0 24 1 1 23 22 21 13 12 d d d d d d11 151 36 112 96 120 32 331 233 274 or AD B where the first row of matrix D is the weights of cabbage for the three weeks and the second row is the weights of broccoli Keystrokes Display 2 v mA 2 0000 Dimensions A as 2 2 matrix 1 2 0...

Page 158: ...ister moving descriptor of constant matrix B into Y register d 2 3 Calculates A 1 B and stores result in matrix D lÁ 186 0000 Recalls d11 the weight of cabbage for the first week lÁ 141 0000 Recalls d12 the weight of cabbage for the second week lÁ 215 0000 Recalls d13 lÁ 88 0000 Recalls d21 lÁ 92 0000 Recalls d22 lÁ 116 0000 Recalls d23 U 116 0000 Deactivates User mode Note that you did not need t...

Page 159: ...information about iterative refinement and linear regression The residual function 6 uses the current contents of the result matrix and the matrices specified in the X and Y registers to calculate the residual defined above The residual is stored in the result matrix replacing the original result matrix A matrix specified in the X or Y register can not be the result matrix Using 6 rather than and ...

Page 160: ...ation AX B matrix A would be changed to its LU form If you wanted to change the B matrix and solve the equation again you could do so without changing the A matrix the LU matrix will give the correct solution For all other matrix operations a matrix that is an LU decomposition is not recognized as representing its original matrix Instead the elements of the LU matrix are used just as they appear i...

Page 161: ... m n complex matrix Z X iY where X and Y are real m n matrices This matrix can be represented in the calculator as a 2m n partitioned matrix Part Imaginary Part Real Y X P Z The superscript P signifies that the complex matrix is represented by a partitioned matrix All of the elements of ZP are real numbers those in the upper half represent the elements of the real part matrix X those in the lower ...

Page 162: ...orm by the 2 4 matrix 22 22 21 21 12 12 11 11 y x y x y x y x C Z A The superscript C signifies that the complex matrix is represented in a complex like form Although a complex matrix can be initially represented in the calculator by a matrix of the form shown for ZC the transformations used for multiplying and inverting a complex matrix presume that the matrix is represented by a matrix of the fo...

Page 163: ...isplay 0 Clears all matrices 2 v 4 mA 4 0000 Dimensions matrix A to be 2 4 1 4 0000 Sets beginning row and column numbers in R0 and R1 to 1 U 4 0000 Activates User mode 4 OA 4 0000 Stores a11 3 OA 3 0000 Stores a12 7 OA 7 0000 Stores a13 2 OA 2 0000 Stores a14 1 OA 1 0000 Stores a21 5 OA 5 0000 Stores a22 3 OA 3 0000 Stores a23 8 OA 8 0000 Stores a24 U 8 0000 Deactivates User mode l A A 2 4 Displa...

Page 164: ...presentation of an m n complex matrix and a 2m 2n partitioned matrix of the following form X Y Y X Z The matrix created by the 2 transformation has twice as many elements as ZP For example the matrices below show how is related to ZP 6 1 5 4 5 4 6 1 5 4 6 1 Z ZP The transformations that convert the representation of a complex matrix between ZP and are shown in the following table Pressing Transfor...

Page 165: ...result matrix It may be the same as the matrix in which is stored 6 Press This calculates 1 which is equal to 1 The values of these matrix elements are stored in the result matrix and the descriptor of the result matrix is placed in the X register 7 Press 3 to transform 1 into Z 1 P 8 If you want the inverse in the form Z 1 C press c You can derive the complex elements of Z 1 by recalling the elem...

Page 166: ...ces can be calculated by using the fact that YX P P To calculate YX where Y and X are complex matrices 1 Store the elements of Y and X in memory in the form either of ZP or ZC 2 Recall the descriptor of the matrix representing Y into the display 3 If the elements of Y were entered in the form of YC press p to transform YC into YP 4 Press 2 to transform YP into 5 Recall the descriptor of the matrix...

Page 167: ...roduct ZZ 1 where Z is the complex matrix given in the preceding example Since elements representing both matrices are already stored in A and Z 1 P in B skip steps 1 3 4 and 6 Keystrokes Display l A A 4 4 Displays descriptor of matrix A l B b 4 2 Displays descriptor of matrix B C b 4 2 Designates C as result matrix C 4 2 Calculates Z 1 P ZZ 1 P U C 4 2 Activates User mode lC C 1 1 Matrix C row 1 ...

Page 168: ...00 1 10 0000 1 10 8000 3 10 0000 1 0000 1 10 0000 4 10 8500 2 0000 1 i ZZ As expected 0 0 0 0 1 0 0 1 1 i ZZ Solving the Complex Equation AX B You can solve the complex matrix equation AX B by finding X A 1 B Do this by calculating XP Ã 1 BP To solve the equation AX B where A X and B are complex matrices 1 Store the elements of A and B in memory in the form either of ZP or of ZC 2 Recall the descr...

Page 169: ...or of the result matrix is placed in the X register 9 If you want the solution in the form XC press c Note that you don t transform BP into You can derive the complex elements of the solution X by recalling the elements of XP or XC and combining them according to the conventions described earlier Example Engineering student A C Dimmer wants to analyze the electrical circuit shown below The impedan...

Page 170: ... User mode 10 OA 10 0000 Stores a11 0 O A 0 0000 Stores a12 OA 0 0000 Stores a21 OA 0 0000 Stores a22 200 OA 200 0000 Stores a31 OA 200 0000 Stores a32 OA 200 0000 Stores a41 170 OA 170 0000 Stores a42 4 v 1 m B 1 0000 Dimensions matrix B to be 4 1 0 O B 0 0000 Stores value 0 in all elements of B 5 v 1 v 1 0000 Specifies value 5 for row 1 column 1 O B 5 0000 Stores value 5 in b11 l B b 4 1 Recalls...

Page 171: ...s B and C each representing a 2 1 complex matrix However you would have used four fewer registers if the result matrix were matrix B Note that since X and B are not restricted to be vectors that is single column matrices X and B could have required more memory The HP 15C contains sufficient memory to solve using the method described above the complex matrix equation AX B with X and B having up to ...

Page 172: ...ts of B in memory in the form either of BP or of BC 9 Recall the descriptor of the matrix representing A into the display 10 Recall the descriptor of the matrix representing B into the display 11 If the elements of B were entered in the form BC press p to transform BC into BP 12 Press 2 to transform BP into 13 Designate the result matrix it must not be the same matrix as either of the other two 14...

Page 173: ...in the Index Register In certain applications you may want to perform a programmed sequence of matrix operations using any of the matrices A through E In this situation the matrix operations can refer to whatever matrix descriptor is stored in the index register RI If the Index register contains a matrix descriptor Pressing after any of the functions listed above performs the operations using the ...

Page 174: ...ill be false and the result of T 0 will be true regardless of the element values in the matrix If matrix descriptors are in the X and Y registers when T 5 or T 6 conditional test is performed x and y are equal if the same descriptor is in the X and Y registers and not equal otherwise The comparison is made between the descriptors themselves not between the elements of the specified matrices Other ...

Page 175: ...aced in the LAST X register and the norm or for 9 the determinant is placed in the X register The Y Z and T registers aren t changed When you recall descriptors or matrix elements into the X register with the stack enabled other descriptors and numbers already in the stack move up in the stack and the contents of the T register are lost The LAST X register is not changed When you store descriptors...

Page 176: ... mode That is the row and column numbers in R0 and R1 are automatically incremented according to the dimensions of the specified matrix This allows you to access elements sequentially The USER annunciator has no effect during program execution In addition when the last element is accessed by the User O or l instruction when R0 and R1 are returned to 1 program execution skips the next line This is ...

Page 177: ... contents of the X register are stored in the LAST X register This is useful for testing whether a matrix descriptor is in the X register during a program Summary of Matrix Functions Keystroke s Results c Transforms ZP into ZC Changes sign of all elements in matrix specified in X register m A through E V Dimensions specified matrix 0 Dimensions all matrices to 0 0 1 Sets row and column numbers in ...

Page 178: ...olumn numbers in Y and X registers lm A through E Recalls dimensions of specified matrix into X and Y registers l A through E Displays descriptor of specified matrix l Displays descriptor of result matrix A through E Designates specified matrix as result matrix O A through E Stores value from display into element of specified matrix using row and column numbers in R0 and R1 O A through E Stores va...

Page 179: ...rices as YX If matrix specified in only one of these registers multiplies all elements in specified matrix by scalar in other register Stores in result matrix If matrix descriptors specified in both X and Y registers multiplies inverse of matrix specified in X register with matrix specified in Y register If matrix specified in only Y register divides all elements of specified matrix by scalar in o...

Page 180: ...t possible Numerical techniques can be used to estimate the roots when analytical methods are not suitable When you use the _ key on your HP 15C you utilize an advanced numerical technique that lets you effectively and conveniently find real roots for a wide range of equations Using _ In calculating roots the _ operation repeatedly calls up and executes a subroutine that you write for evaluating f...

Page 181: ...result If the function that you are analyzing equals zero at more than one value of x the routine will stop when it finds any one of those values To find additional values you can key in different initial estimates and use _ again Immediately before _ addresses your subroutine it places a value of x in the X Y Z and T registers This value is then used by your subroutine to calculate f x Because th...

Page 182: ...way The HP 15C uses an iterative algorithm to estimate the root The algorithm analyzes your function by sampling it many times perhaps a dozen times or more It does this by repeatedly executing your subroutine Finding a root will usually require about 2 to 10 seconds but sometimes the process will require even more time Press _ 0 and sit back while your HP 15C exhibits one of its powerful capabili...

Page 183: ...ose to the displayed root The Z register contains the value of your function evaluated at the displayed root Keystrokes Display 5 0000 A previous estimate of the root 0 0000 Value of the function at the root showing that f x 0 Quadratic equations such as the one you are solving can have two roots If you specify two new initial estimates you can check for a second root Try estimates of 0 and 10 to ...

Page 184: ...lgebraically Example Champion ridget hurler Chuck Fahr throws a ridget with an upward velocity of 50 meters second If the height of the ridget is expressed as h 5000 1 e t 20 200t how long does it take for it to reach the ground again In this equation h is the height in meters and t is the time in seconds Solution The desired solution is the positive value of t at which h 0 Use the following subro...

Page 185: ...16 2 0 017 0 0 018 0 019 20 200t 020 30 5000 1 e t 20 200t n 021 43 32 Switch to Run mode key in two initial estimates of the time for example 5 and 6 seconds and execute _ Keystrokes Display Run mode 5 v 5 0000 Initial estimates 6 6 _A 9 2843 The desired root Verify the root by reviewing the Y and Z registers Keystrokes Display 9 2843 A previous estimate of the root 0 0000 Value of the function a...

Page 186: ...ion has no real roots that is there is no real value of x for which the equality is true Of course you would not expect the calculator to find a root in this case Instead it displays Error 8 Example Consider the equation x 1 which has no solution since the absolute value function is never negative Express this equation in the required form x 1 0 and attempt to use _ to find a solution G r G Keystr...

Page 187: ...all produce a constant nonzero value for the specified function execution stops with the display Error 8 If numerous samples indicate that the magnitude of the function appears to have a nonzero minimum value in the area being searched execution stops with the display Error 8 If an improper argument is used in a mathematical operation as part of your subroutine execution stops with the display Err...

Page 188: ... can be expected to find a root of f x 0 only if the initial estimates do not concentrate the search in one of these unproductive regions and of course if a root actually exists Choosing Initial Estimates When you use _ to find the root of an equation the two initial estimates that you provide determine the values of the variable x at which the routine begins its search In general the likelihood t...

Page 189: ... volume of 7 5 cubic decimeters is to be formed How should the metal be folded A taller box is preferred to a shorter one Solution You need to find the height of the box that is the amount to be folded up along each of the four sides that gives the specified volume If x is the height or amount folded up the length of the box is 8 2x and the width is 4 2x The volume V is given by V 8 2x 4 2x x By e...

Page 190: ... be formed having the desired volume Because the taller box is preferred larger initial estimates of the height are reasonable However heights greater than 2 decimeters are not physically possible because the metal is only 4 decimeters wide Initial estimates of 1 and 2 decimeters are therefore appropriate Find the desired height Keystrokes Display Run mode 1 v 1 0000 Initial estimates 2 2 _ 3 1 50...

Page 191: ...articularly useful for a function whose behavior you do not know A simple looking function may have a graph with relatively extreme variations that you might not anticipate A root that occurs near a localized variation may be hard to find unless you specify initial estimates that are close to the root If you have no informed or intuitive concept of the nature of the function or the location of the...

Page 192: ...ust prior to the _ operation The _ routine stops with a value of x in the X register and the corresponding function value in the Z register If the x value is a root the program proceeds to the next line If the x value is not a root the next line is skipped Refer also to Interpreting Results on page 226 for a further explanation of roots Essentially the _ instruction tests whether the x value is a ...

Page 193: ... advanced capabilities of both of these keys Memory Requirements _ requires five registers to operate Appendix C explains how they are automatically allocated from memory If five unoccupied registers are not available _ will not run and Error 10 will be displayed A routine that combines _ and f requires 23 registers of space For Further Information In appendix D Advanced Use of _ additional techni...

Page 194: ...tical methods it can be calculated using numerical techniques Usually this can be done only with a fairly complicated computer program With your HP 15C however you can easily do numerical integration using the f integrate key Using f The basic rules for using f are 1 In Program mode key in a subroutine that evaluates the function f x that you want to integrate This subroutine must begin with a lab...

Page 195: ...be expressed as π 0 0 sin cos π 1 dθ θ x x J Find π 0 0 sin cos π 1 1 dθ θ J In Program mode key in the following subroutine to evaluate the function f θ cos sin θ Keystrokes Display 000 Program mode CLEAR M 000 Clear program memory b 0 001 42 21 0 Begin subroutine with a b instruction Subroutine assumes a value of θ is in X register 002 23 Calculate sin θ 003 24 Calculate cos sin θ n 004 43 32 No...

Page 196: ...on At each of these values the calculator evaluates the function by executing the subroutine you write for that purpose When the calculator must execute the subroutine many times as it does when you press f you can t expect any answer right away Most integrals will require on the order of 2 to 10 seconds but some integrals will require even more Later on we ll discuss how you can decrease the time...

Page 197: ...eviously there will be replaced by x Therefore if the stack contains intermediate results that you ll need after you calculate an integral store those numbers in storage registers and recall them later Occasionally you may want to use the subroutine that you wrote for the f operation to merely evaluate the function at some value of x If you do so with a function that gets x from the stack more tha...

Page 198: ...d Y registers Be sure that the trigonometric mode is set to Radians then press f 1 to calculate the integral Finally multiply the integral by 1 π to calculate J1 1 Keystrokes Display Run mode 0 v 0 0000 Key lower limit into Y register 3 1416 Key upper limit into X register R 3 1416 If not already in Radians mode f 1 1 3825 0 4401 J1 1 Example Certain problems in communications theory for example p...

Page 199: ... integral Keystrokes Display 0 4401 Run mode 0 v 0 0000 Key lower limit into Y register 2 2 Key upper limit into X register R 2 0000 If not already in Radians mode f 2 1 6054 Si 2 If the calculator attempted to evaluate f x sin x x at x 0 the lower limit of integration it would terminate with Error 0 in the display signifying an attempt to divide by zero and the integral could not be calculated Ho...

Page 200: ...any of them provided that the number of digits is specified correctly considering the magnitude of the function Because it s more convenient to use i display format when calculating most integrals we ll use i when calculating integrals in subsequent examples Note Remember that once you have set the display format you can change the number of digits appearing in the display by storing a number in t...

Page 201: ...y of i 2 approximation The integral is 1 38 0 00188 Since the uncertainty would not affect the approximation until its third decimal place you can consider all the displayed digits in this approximation to be accurate In general though it is difficult to anticipate how many digits in an approximation will be unaffected by its uncertainty This depends on the particular function being integrated the...

Page 202: ...ers for calculating an integral again simply press Example For the integral in the expression for J1 l you want an answer accurate to four decimal places instead of only two Keystrokes Display i 4 1 8826 03 Set display format to i 4 3 1416 00 Roll down stack until upper limit appears in X register f 1 1 3825 00 Integral approximated in i4 1 7091 05 Uncertainty of i 4 approximation The uncertainty ...

Page 203: ...es However normally there is no way to determine just how accurate an approximation is For a more detailed look at the accuracy and uncertainty of f approximations refer to appendix E Using f in a Program f can appear as an instruction in a program provided that the program is not called as a subroutine by f itself In other words f cannot be used recursively Consequently you cannot use f to calcul...

Page 204: ...s f and _ also requires 23 registers of space For Further Information This section has given you the information you need to use f with confidence over a wide range of applications In appendix E more esoteric aspects of f are discussed These include How f works Accuracy uncertainty and calculation time Uncertainty and the display format Conditions that could cause incorrect results Conditions that...

Page 205: ...r 0 Improper Mathematics Operation Illegal argument to math routine where x 0 y where out of Complex mode y 0 and x is noninteger out of Complex mode y 0 and x 0 or in Complex mode y 0 and Re x 0 where out of Complex mode x 0 where x 0 o where out of Complex mode x 0 or in Complex mode x 0 Z where out of Complex mode x 0 or in Complex mode x 0 where out of Complex mode x l where out of Complex mod...

Page 206: ...er whether the X or Y register or a storage register Error 2 Improper Statistics Operation n 0 S n 1 j n 1 L n 1 Error 2 is also displayed if division by zero or the square root of a negative number would be required during computation with any of the following formulas n x x n y y 1 n n M x s 1 n n N y s N M P r M P A M n x P y M B M n x x n P y M y ˆ where M nΣx2 Σx 2 N nΣy2 Σy 2 P nΣxy ΣxΣy A a...

Page 207: ...ror 5 Subroutine Level Too Deep Subroutine nested more than seven deep Error 6 Improper Flag Number Attempted a flag number 9 Error 7 Recursive _ or f A subroutine which is called by _ also contains a _ instruction a subroutine which is called by f also contains an f instruction Error 8 No Root _ unable to find a root using given estimates Error 9 Service Self test discovered circuitry problem or ...

Page 208: ...s odd 3 where the input is a scalar or the number of columns is odd 4 where the input is scalar 5 where the input is a scalar the dimensions are incompatible or the result is one of the arguments 6 where the input is scalar the dimensions are incompatible including the result or the result is one of the arguments 9 where the matrix is not square l m V where contents of RI are scalar m V where cont...

Page 209: ... or pressed from the keyboard terminate digit entry This means that the calculator knows that any digits you key in after any of these operations are part of a new number The only operations that do not terminate digit entry are the digit entry keys themselves 0 through 9 Stack Lift There are three types of operations on the calculator based on how they affect stack lift These are stack disabling ...

Page 210: ...egister However the next number keyed in or recalled after or does not change the contents of the imaginary X register Enabling Operations Stack Lift Most of the operations on the keyboard including one and two number mathematical functions like x and are stack enabling operations This means that a number keyed in after one of these operations will lift the stack because the stack has been enabled...

Page 211: ...stack lift by pressing v then press n and key in a new number that number will write over the number in the X register and the stack will not lift Similarly if you have previously enabled the stack lift by executing say then execute a instruction followed by a digit entry sequence the stack will lift The following operations are neutral on the HP 15C g U i t nnn CLEAR u CLEAR Q D Â CLEAR R W Imagi...

Page 212: ...gister LAST X Register The following operations save x in the LAST X register x H k H h À a d p q r c N z P w P o j P 5 through 9 H Y f Except when used as a matrix function f uses the LAST X register in a special way as described in appendix E ...

Page 213: ...rictly define how a register may be used There is always a combined total of 67 registers in these two pools The data storage pool contains registers which may be used only for data storage At power up Continuous Memory reset this equals 21 registers This pool contains at least three registers at all times RI R0 and R1 The common pool contains uncommitted registers available for allocation to prog...

Page 214: ...ion Total allocatable memory 64 registers numbered R2 through R65 dd 1 uu pp matrix elements imaginary stack _ and f 64 For memory allocation and indirect addressing data registers R 0 through R 9 are referred to as R10 through R19 ...

Page 215: ... memory and pp is incremented The initial status of the HP 15C at power up is 19 46 0 0 The movable boundary between the data storage and common pools is always between Rdd and Rdd 1 Memory Reallocation There are 67 registers in memory worth seven bytes each Sixty four of these registers R2 to R65 are interconvertible between the data storage and common pools The m Function If you should require m...

Page 216: ...cleared program memory 1 m 1 0000 R1 R0 and RI allocated for data storage Sixty four registers are uncommitted none contain program instructions W hold 1 64 0 0 19 m 19 0000 R19 R 9 is the highest numbered data storage register Forty six registers left in the common pool l m 19 0000 Restrictions on Reallocation Continuous Memory will maintain the configuration you allocate until a new m is execute...

Page 217: ...rted Program Memory As mentioned before each register consists of seven bytes of memory Program instructions use one or two bytes of memory Most program lines use one byte those using two bytes are listed on page 218 The maximum programming capacity of the HP 15C is 448 program bytes 64 convertible registers at seven bytes per register At power up memory can hold up to 322 program bytes 46 allocat...

Page 218: ...isters using m Two Byte Program Instructions The following instructions are the only ones which require two bytes of calculator memory All others require only one byte b label 0 to 9 t label X 2 to 9 0 to 9 n or V e 2 to 9 0 to 9 F n or V I 2 to 9 0 to 9 n or V O n or V l i n or V O A to E n or V O A to E in User mode _ l A to E in User mode f O l Memory Requirements for the Advanced Functions The...

Page 219: ...maginary stack is allocated whenever V or F 8 is pressed The imaginary stack is deallocated when 8 is executed Space for matrix registers is not allocated until you dimension it using m Reallocation takes place when you redimension a matrix 0 dimensions all matrices to 0 0 If you should interrupt a _ or f routine in progress by pressing a key you could deallocate its registers by pressing n or CLE...

Page 220: ...ape to intelligently predict a new estimate where the graph might cross the x axis The function subroutine is then executed computing the value of the function at the new estimate This procedure is performed repeatedly by the _ algorithm If any two estimates yield function values with opposite signs the algorithm presumes that the function s graph must cross the x axis in at least one place in the...

Page 221: ...d You should note that the initial estimates you provide are used to begin the prediction process By permitting more accurate predictions than might otherwise occur properly chosen estimates greatly facilitate the determination of the root you seek The _ algorithm will always find a root provided one exists within the overflow bounds if any one of four conditions are met Any two estimates have fun...

Page 222: ...the root is found accurately The displayed root either gives a calculated function value f x exactly equal to zero or else is a 10 digit number virtually adjacent to the place where the function s graph crosses the x axis Any such root has an accuracy within two or three units in the 10th significant digit In most situations the calculated root is an accurate estimate of the theoretical infinitely...

Page 223: ...xamples the algorithm has found a value of x for which the calculated function value equals zero By understanding the effect of underflow you can readily interpret results such as these The accuracy of a computed value sometimes can be adversely affected by round off error by which an infinitely precise number is rounded to 10 significant digits If your subroutine requires extra precision to prope...

Page 224: ... your subroutine to return a function value of zero when the calculated value is negligible for practical purposes you can usually save considerable time in finding a root with _ particularly for cases that would normally take a long time Example Ridget hurlers such as Chuck Fahr can throw a ridget to heights of 105 meters and more In fact Fahr s hurls usually reach a height of 107 meters How long...

Page 225: ...meters It takes approximately two seconds to find this solution However suppose you assume that the function h t is accurate only to the nearest whole meter You can now change your subroutine to give f t 0 whenever the calculated magnitude of f t is less than 0 5 meter Change your subroutine as follows Keystrokes Display 000 Program mode t 006 006 30 Line before n instruction a 007 43 16 Magnitude...

Page 226: ...Y and Z registers help you evaluate the results of the search for a root of your equation Even when no root is found the results are still significant When _ finds a root of the specified equation the root and function values are placed in the X and Z registers A function value of zero is the expected result However a nonzero function value is also acceptable because it indicates that the function...

Page 227: ...equation just as it would for any other discontinuity crossing the x axis However for such functions the function value placed into the Z register when that root is found will be relatively large If the pole occurs at a value of x that is exactly represented with 10 digits the subroutine may try that value and halt prematurely with an error indication In this case the _ operation will not be compl...

Page 228: ...42 21 2 1 002 1 Test for x range 0 003 0 004 43 10 t 9 005 22 9 Branch for x 10 006 43 35 3 007 3 008 20 3x 4 009 4 5 010 5 011 30 3x 45 012 20 013 20 3x 45 x2 3 014 3 5 015 5 0 016 0 017 40 3x 45 x 2 350 n 013 43 32 End subroutine b 9 019 42 21 9 Subroutine for x 10 020 26 3 021 3 103 1000 n 022 43 32 End subroutine Execute _ using initial estimates of 7 and 14 to start at the outer end of the be...

Page 229: ...f 0 and 7 and use _ again Keystrokes Display 0 v 0 0000 Initial estimates 7 7 _ 2 3 1358 Possible root 2 0000 07 Negligible stress Beame s beam has zero shear stress at approximately 3 1358 meters and an abrupt change of stress at 10 0000 meters When no root is found and Error 8 is displayed you can press or any one key to clear the display and observe the estimate at which the function was closes...

Page 230: ...e as before but possibly closer to the actual location of the minimum Of course you may deliberately use _ to find the location of a local minimum of the function s magnitude However in this case you must be careful to confine the search in the region of the minimum Remember _ tries hard to find a zero of the function If the algorithm stops searching and displays Error 8 because it is working on a...

Page 231: ...omewhat further apart If the magnitude of the function is neither a minimum nor constant the algorithm will eventually expand its search and find a more significant result Example Investigate the behavior of the function x e x x e e x f 2 2 3 10 as evaluated in the following subroutine Keystrokes Display 000 Program mode b 0 001 42 21 0 a 002 43 16 003 16 x e 004 12 005 34 Bring x value into X reg...

Page 232: ...v 10 0000 Single estimate _ 0 Error 8 455 335 Best x value 48 026 721 85 Previous value 1 0000 Function value 455 4335 Restore the stack _ 0 Error 8 48 026 721 85 Another x value 1 0000 Same function value an asymptote 1 v 1 0000 Single estimate _ 0 Error 8 2 1213 Best x value 2 1471 Previous value 0 3788 Function value 2 1213 Restore the stack _ 0 Error 8 2 1213 Same x value 0 3788 Same function ...

Page 233: ...quations that you encounter have more than one root For this reason you will find it helpful to understand some techniques for finding several roots of an equation The simplest method for finding several roots is to direct the root search in different ranges of x where roots may exist Your initial estimates specify the range that is initially searched This method was used for all examples in secti...

Page 234: ...s but its slope and perhaps the next few higher order derivatives also equals zero If the known root of your equation is a multiple root the root is not eliminated by merely dividing by the factor described above For example the equation f x x x a 3 0 has a multiple root at x a with a multiplicity of 3 This root is not eliminated by dividing f x by x a But it can be eliminated by dividing by x a 3...

Page 235: ...19 1 020 40 021 20 2 022 2 8 023 8 9 024 9 0 025 0 026 30 n 027 43 32 In Run mode key in two large negative initial estimates such as 10 and 20 and use _ to find the most negative root Keystrokes Display Run mode 10 v 10 0000 Initial estimates 20 20 _ 2 1 6667 First root O 0 1 6667 Stores root for deflation 4 0000 06 Function value near zero ...

Page 236: ... a is known root 029 30 030 10 Now use the same initial estimates to find the next root Keystrokes Display 4 0000 06 Run mode 10 v 10 0000 Same initial estimates 20 20 _ 2 0 4000 Second root O 1 0 4000 Stores root for deflation 0 0000 Deflated function value Now modify your subroutine to eliminate the second root Keystrokes Display 000 Program mode 030 10 Line before n 031 34 Brings x into X regis...

Page 237: ...1 0929 07 Deflated function value near zero Now change your subroutine to eliminate the third root Keystrokes Display 000 Program mode 034 10 Line before n 035 34 Brings x into X register l 2 036 45 2 037 30 Deflation for third root 038 10 Find the fourth root Keystrokes Display 1 0929 07 10 v 10 0000 Same initial estimates 20 20 _ 2 8 5001 Fourth root O 3 8 5001 Stores root for reference 0 0009 D...

Page 238: ...roceed in a number of ways Use different initial estimates with the deflated function in an attempt to search for a different root Use deflation again in an attempt to eliminate a multiple root If you do not know the multiplicity of the root you may need to repeat this a number of times Examine the behavior of the deflated function at x values near the known root If the function s calculated value...

Page 239: ...ten the time required to find a root by specifying a tolerable inaccuracy for your function Your subroutine should return a function value of zero if the calculated function value is less than the specified tolerance This tolerance that you specify should correspond to a value that is negligible for practical purposes or should correspond to the accuracy of the computation This technique eliminate...

Page 240: ...the calculated function f x provide an exact answer Evaluating the function at an infinite number of sample points would take a very long time namely forever However this is not necessary since the maximum accuracy of the calculated integral is limited by the accuracy of the calculated function values Using only a finite number of sample points the algorithm can calculate an integral that is as ac...

Page 241: ...ill be less than its uncertainty Although we can t know the error in the final approximation the error is extremely unlikely to exceed the displayed uncertainty of the approximation In other words the uncertainty estimate in the Y register is an almost certain upper bound on the difference between the approximation and the actual integral Accuracy Uncertainty and Calculation Time The accuracy of a...

Page 242: ...4 n 008 43 32 Now switch to Run mode and key the limits of integration into the X and Y registers Be sure the trigonometric mode is set to Radians and set the display format to i 2 Finally press f0 to calculate the integral Keystrokes Display Run mode 0 v 0 0000 Keys lower limit into Y register 3 1416 Keys upper limit into X register R 3 1416 Sets the trigonometric mode to Radians i 2 3 14 00 Sets...

Page 243: ...n this approximation is about 7 7858 7 7805 10 3 5 3 10 6 This error is considerably less than the uncertainty 1 45 10 3 The uncertainty is only an upper bound on the error in the approximation the actual error will generally be smaller Now calculate the integral in i 3 and compare the accuracy of the resulting approximation to that of the i 2 approximation Keystrokes Display i 3 7 786 03 Changes ...

Page 244: ... format the algorithm would not have to consider additional sample points and the resulting approximation would be identical to the approximation calculated with the larger uncertainty If you calculated the two preceding approximations on your calculator you may have noticed that it did not take any longer to calculate the integral in i 3 than in i 2 This is because the time to calculate the integ...

Page 245: ... and calculation time is important to keep in mind if you are considering decreasing the uncertainty in hopes of obtaining a more accurate answer The time required to calculate the integral of a given function depends not only on the number of digits specified in the display format but also to a certain extent on the limits of integration When the calculation of an integral requires an excessive a...

Page 246: ...ertainty associated with the approximation The f algorithm places the number I in the X register and the number in the Y register The uncertainty δ x of ˆ x f the function calculated by your subroutine is determined as follows Suppose you consider three significant digits of the function s values to be accurate so you set the display format to i 2 The display would then show only the accurate digi...

Page 247: ...n x Since this uncertainty is independent of the function s magnitude display format implies an uncertainty that is absolute Each time the f algorithm samples the function at a value of x it also derives a sample of δ x the uncertainty of the function s value at x This is calculated using the number of digits n currently specified in the display format and if the display format is set to i or the ...

Page 248: ...5 10 n b a Normally you do not have to determine precisely the uncertainty in the function To do so would frequently require a very complicated analysis Generally it s more convenient to use i or display format if the uncertainty in the function s values can be more easily estimated as a relative uncertainty On the other hand it s more convenient to use display format if the uncertainty in the fun...

Page 249: ... to actual physical situations when they do they usually can be recognized and dealt with in a straightforward manner As discussed on page 240 the f algorithm samples the function f x at various values of x within the interval of integration By calculating a weighted average of the function s values at the sample points the algorithm approximates the integral of f x Unfortunately since all that th...

Page 250: ... others so the current approximation will be rather inaccurate if f x is this function The f algorithm comes to know the general behavior of the function by sampling the function at more and more points If a fluctuation of the function in one region is not unlike the behavior over the rest of the interval of integration at some iteration the algorithm will likely detect the fluctuation When this h...

Page 251: ... to Run mode Then set the display format to i 3 and key the limits of integration into the X and Y registers Keystrokes Display Run mode i 3 Sets display format to i 3 0 v 0 000 00 Keys lower limit into Y register 99 1 99 Keys upper limit into X register f 1 0 000 00 Approximation of integral The answer returned by the calculator is clearly incorrect since the actual integral of f x xe x from 0 to...

Page 252: ...ticular interval Better approaches to problems such as this are mentioned at the end of the next topic Conditions That Prolong Calculation Time You ve seen how the f algorithm can give you an incorrect answer when f x has a fluctuation somewhere that is very uncharacteristic of the behavior of the function elsewhere Fortunately functions exhibiting such aberrations are unusual enough that you are ...

Page 253: ...ese variations are spread out over most of the interval of integration than if they are confined to only a small fraction of the interval These two situations are shown in the next two illustrations Considering the variations or fluctuations as a type of oscillation in the function the criterion of interest is the ratio of the period of the oscillations to the width of the interval of integration ...

Page 254: ...approximations over the subintervals Conditions That Prolong Calculation Time In the preceding example page 251 you saw that the algorithm gave an incorrect answer because it never detected the spike in the function This happened because the variation in the function was too quick relative to the width of the interval of integration If the width of the interval were smaller you would get the corre...

Page 255: ... 0 and x 10 By comparing the two graphs you can see that the function is interesting only at small values of x At greater values of x the function is uninteresting since it decreases smoothly and gradually in a very predictable manner As discussed earlier the f algorithm will sample the function with higher densities of sample points until the disparity between successive approximations becomes su...

Page 256: ...curacy over the larger interval as over the smaller interval the density of the sample points must be the same in the region where the function is interesting To achieve the same density of sample points the total number of sample points required over the larger interval is much greater than the number required over the smaller interval Consequently several more iterations are required over the la...

Page 257: ...oximation and stores it in the LAST X register after evaluating the function at each new sample point To obtain the current approximation therefore simply halt the calculator single step if necessary through your function subroutine until the calculator has finished evaluating the function and updating the current approximation Then recall the contents of the LAST X register which are updated when...

Page 258: ... numbers and keycodes 3 Press K to view the current approximation If you want to continue calculating the final approximation press This refills the stack with the current x value and restarts the calculator For Advanced Information The HP 15C Advanced Functions Handbook explores more esoteric aspects of f and its applications These topics include Accuracy of the function to be integrated Shorteni...

Page 259: ...e the battery as soon as possible to avoid losing data Use only a fresh battery Do not use rechargeable batteries Warning There is the danger of explosion if the battery is incorrectly replaced Replace only with the same or equivalent type recommended by the manufacturer Dispose of used batteries according to the manufacturer s instructions Do not mutilate puncture or dispose of batteries in fire ...

Page 260: ...h 3 Make sure that the positive sign on each battery is facing outward 5 Replace the battery cover Note Be careful not to press any keys while the battery is out of the calculator If you do so the contents of Continuous Memory may be lost and keyboard control may be lost that is the calculator may not respond to keystrokes 6 Press to turn on the power If for any reason Continuous Memory has been r...

Page 261: ...exit Press 2 to perform the checksum test and see the copyright messages Press any key to go from one screen to the next until you return to the main test screen Press 3 to perform the keyboard test You then need to press EVERY key on the keyboard until all the keys have been pressed at least once the screen will progressively turn off You can press the keys in any order and any number of times On...

Page 262: ... Sets flag 8 which activates Complex mode page 121 8 Clears flag 8 deactivating Complex mode page 121 Conversions Converts polar magnitude r and angle θ in X and Y registers respectively to rectangular x and y coordinates page 31 For operation in Complex mode refer to page 134 Converts x y rectangular coordinates placed in X and Y registers respectively to polar magnitude r and angle θ page 30 For...

Page 263: ...or inverse hyperbolic tangent respectively page 28 Index Register Control V Index register RI Storage register for indirect program execution branching with t and G looping with I and s indirect flag control and indirect display format control page 107 Also used to enter complex numbers and activate Complex mode page 121 Indirect operations Used to address another storage register through RI for p...

Page 264: ...V page 141 Designates the matrix into which the result of certain matrix operations is placed page 148 U User mode Row and column numbers in R0 and R1 are automatically incremented each time O or l A to E is pressed page 144 O and l A to E Stores or recalls matrix elements using the row and column numbers in R0 and R1 pages 144 146 O and l A to E Stores or recalls matrix elements using the row and...

Page 265: ...trix page 159 7 Calculates row norm of matrix specified in X register page 150 8 Calculates Frobenius norm of matrix specified in X register page 150 9 Calculates determinant of matrix specified in X register also does LU decomposition of the matrix page 150 c Transforms matrix stored in partitioned form Z P to complex form ZC page 162 p Transforms matrix stored in complex form Z C to partitioned ...

Page 266: ... Cancels any prefix keystrokes and partially entered instructions such as i page 19 Also displays the complete 10 digit mantissa of the number in the display page 60 Probability c Combination Computes the number of possible sets of y different items taken x at a time and causes the stack to drop page 47 For matrix use refer to Matrix Functions keys page 264 p Permutation Computes the number of pos...

Page 267: ... places result in Y register page 55 L Linear Regression Computes the y intercept and slope for the linear function best approximating the accumulated data The value of the y intercept is placed in the X register the value of the slope is placed in the Y register page 54 Random number Yields a pseudorandom number as generated from a seed stored using O page 48 CLEAR Clears contents of the statisti...

Page 268: ...etry R Sets Radians mode for trigonometric functions indicated by RAD annunciator page 26 g Sets Grads mode for trigonometric functions indicated by GRAD annunciator page 26 Not operative for complex trigonometry Compute sine cosine or tangent respectively of number in display X register page 26 Compute arc sine arc cosine or arc tangent respectively of number in display X register page 26 ...

Page 269: ...routine page 69 U Activates and deactivates User mode which exchanges the primary white and gold alternate functions A through E of the top left five functions page 69 User mode also affects the matrix use of O or l A throughE User mode automatically increments R0 row number or R1 column number for storage or recall of matrix elements page 144 t Go to Used with a label designator listed above or V...

Page 270: ...ies Complex mode and flag 9 signifies an overflow condition page 92 Clear flag false Clears designated flag 0 to 9 page 92 Is flag set Tests for designated flag If set program execution continues If cleared program execution skips one line before continuing page 92 T 0 through 9 Conditional tests Each test compares value in X register against 0 or value in Y register as indicated If true calculato...

Page 271: ...ogarithms common and natural 28 Arithmetic operation 29 37 Asymptotes horizontal 230 Automatic incrementing of row and column numbers 143 B ___________________________________________ Back stepping 83 Bacterial population example 41 Battery life 259 Battery replacement 260 259 260 Bessel functions 195 197 Branching conditional 91 98 177 192 indirect 108 109 112 114 115 simple 90 C ________________...

Page 272: ...inverting 162 164 165 multiplying 162 164 166 storing elements 161 transforming 162 164 Complex mode 120 121 activating 99 120 121 133 deactivating 121 mathematics functions in 131 stack lift in 124 Complex numbers clearing 125 127 converting polar and rectangular forms 133 135 entering 121 127 128 129 storing and recalling 130 Conditionals indirect 109 111 112 116 Conditional tests 91 98 192 in C...

Page 273: ...ample 43 Cumulative calculations 41 D ___________________________________________ Data storage 42 Data storage pool 213 214 Debt payment example 95 Decimal point 22 Decimal point display 61 Deflation 233 234 237 D 26 Determinant 150 Digit entry 22 in Complex mode 121 125 127 128 129 termination 22 36 209 Digit separator display 61 m 76 77 215 217 Disabling stack lift 36 Display See also X register...

Page 274: ... 78 Errors with f 203 204 with _ 187 192 193 Euclidean norm See Frobenius norm Exchanging the real and imaginary stacks 124 Exponential function See Power function Exponents 19 20 F____________________________________________ 18 Factorial function 25 Falling stone example 14 58 Fixed decimal notation 58 Flag tests 92 98 Flag 8 99 Flag 9 100 Format handbook 2 18 Fractional portion q 24 Frobenius no...

Page 275: ... 112 display format control 109 114 115 116 exchange with X register 108 112 flag control 109 115 loop control 107 109 111 storage and recall 107 111 115 Indirect addressing 106 108 115 Initialization 87 Instructions 74 Integer portion 24 Integrate function f 194 204 accuracy of 200 203 240 241 245 algorithm for 196 240 241 249 251 255 256 display format with 245 249 execution time for 196 200 244...

Page 276: ..._______________ Labels 67 77 90 97 LAST X register 35 in matrix functions 174 176 operations saved by 212 putting constants in 39 40 to correct statistics data 52 Linear equations solving with matrices 138 156 Linear estimation j 55 56 Linear regression L 54 Loading the stack with constants 39 41 Logarithmic functions common and natural 28 Loop control number 109 116 Looping 90 98 Low power indica...

Page 277: ... conditional 177 inverse 150 154 multiplication 154 one matrix 149 151 programmed 176 177 reciprocal 150 residual 159 row norm 150 177 summary 177 179 transpose 150 151 154 Mean 53 W 215 Memory allocation 76 215 217 availability 75 77 213 215 configuration initial 75 76 distribution 75 213 214 limitations 75 77 217 requirements for advanced functions 218 219 requirements for programming 218 stack ...

Page 278: ...__ and off 18 to reset Continuous Memory 63 to set decimal point display 61 Overflow condition 45 61 100 P____________________________________________ 66 68 Pause 68 Percent difference 29 Percentage functions 29 30 Permutations function p 47 Phasor notation 133 Pi 24 Polar coordinates 30 in Complex mode 133 135 Power function y 29 Prefix keys 19 PRGM annunciator 66 82 Program control indirect 107 ...

Page 279: ...c equation solving 181 R ___________________________________________ R0 and R1 using to access matrix elements 143 146 176 R 26 Radioisotope example 93 94 Random number generator 48 Random number storage and recall 48 Recall arithmetic 44 Recalling accumulated statistics data 50 Recalling numbers l 42 44 with matrices 144 149 176 Reciprocal 25 with matrix 150 Rectangular coordinates 31 in Complex ...

Page 280: ...tation 58 Scrolling 82 Secant line calculation example 102 Self tests 261 Service information 267 270 Shear stress example 227 228 26 Sine integral example 198 199 Single stepping  82 85 Skip if True rule 110 Slope finding the 54 _ 180 181 accuracy 222 226 specifying 238 algorithm 182 187 188 220 222 230 231 conditions necessary for 221 222 constant function value with 187 189 execution time 238 ...

Page 281: ...tions 210 Stack enabling operations 210 211 Stack movement 32 33 37 in matrix functions 174 176 with _ 181 Standard deviation S 53 sample vs population 53 Star example 40 Statistics accumulation of data z 49 Statistics correction of accumulated data z 52 Statistics functions combinations 47 correlation coefficient 55 linear estimation 55 linear regression 54 mean 53 permutations 47 probability 47 ...

Page 282: ...trix functions 174 176 with f 202 26 T 91 Tracing 82 Transpose 150 151 154 Trigonometric modes in Complex mode 121 134 Trigonometric operations 26 U ___________________________________________ u display 176 Uncommitted registers 213 215 217 Underflow in any register 61 storage register arithmetic 45 with _ 223 User flags 92 User mode 69 79 with matrices 143 176 V __________________________________...

Page 283: ...211 in matrix functions 141 156 175 176 with f 202 with _ 181 183 102 226 Y ___________________________________________ y intercept finding 54 Y register 32 37 in matrix functions 141 156 175 176 with f 202 _ 181 183 192 226 Z ___________________________________________ Z register 32 in matrix functions 174 176 with f 202 with _ 181 183 192 226 ...

Page 284: ...occur in a particular installation If this equipment does cause harmful interference to radio or television reception which can be determined by turning the equipment off and on the user is encouraged to try to correct the interference by one or more of the following measures Reorient or relocate the receiving antenna Increase the separation between the equipment and the receiver Connect the equip...

Page 285: ...this declaration write to Hewlett Packard Company P O Box 692000 Mail Stop 530113 Houston TX 77269 2000 For questions regarding this FCC declaration write to Hewlett Packard Company P O Box 692000 Mail Stop 510101 Houston TX 77269 2000 or call HP at 281 514 3333 To identify your product refer to the part series or model number located on the product Canadian Notice This Class B digital apparatus m...

Page 286: ...t family and available in English only either within the product documentation or at the following web site www hp eu certificates type the product number in the search field The compliance is indicated by one of the following conformity markings placed on the product For non telecommunications products and for EU harmonized telecommunications products such as Bluetooth within power class below 10...

Page 287: ...t over to a designated collection point for the recycling of waste electrical and electronic equipment The separate collection and recycling of your waste equipment at the time of disposal will help to conserve natural resources and ensure that it is recycled in a manner that protects human health and the environment For more information about where you can drop off your waste equipment for recycl...

Page 288: ...equirements such as REACH Regulation EC No 1907 2006 of the European Parliament and the Council A chemical information report for this product can be found at www hp com go reach Perchlorate Material special handling may apply This calculator s Memory Backup battery may contain perchlorate and may require special handling when recycled or disposed in California ...

Reviews: