Omnimaga

Calculator Community => TI Calculators => TI-BASIC => Topic started by: rthprog on March 12, 2010, 12:19:34 pm

Title: an alternative to the "solve(" command
Post by: rthprog on March 12, 2010, 12:19:34 pm
The "solve(" command is a pretty efficient way to find the root of an unknown equation. Unfortunately, it only works if you have a good guess; otherwise, you'll be plagued by "Bad guess" errors which may cause your program to crash. To guarantee that your user doesn't encounter such an error, create a routine that uses Newton's method to perform the same function as the "solve(" command, except with safeguards for bad guesses.

Here's a routine that, given an equation (in terms of X) stored to Y1, and a guess stored to "G", will solve for "X" when the equation in Y1 = 0. Essentially, it does the same thing as "solve(Y1,X,G"

   
Code: [Select]
:DelVar R
    :G
    :Repeat Ans=X and R
    :Ans→X
    :R+1→R
    :nDeriv(Y1,X,X
    :If Ans
    :X-Y1/Ans
    :If R>50
    :X
    :End
    :Ans→X
    :If not(Y1
    :X

http://rthprogcode.blogspot.com/2010/03/tibasic-alternative-to-solve-command.html (http://rthprogcode.blogspot.com/2010/03/tibasic-alternative-to-solve-command.html)
Title: Re: an alternative to the "solve(" command
Post by: DJ Omnimaga on March 12, 2010, 05:51:12 pm
Mhmm interesting ^^ altough I never really used solve( myself, because back wehn I had math classes (graduated in 2003), we did little usage of calcs anymore. We used Y= menu like 3 times in an entire school year x.x

Hopefully this might be useful for some people,  though