home *** CD-ROM | disk | FTP | other *** search
- # nsolve()
- # nsolve(cos(x)=x,x,x0,n)
- # It numerically solves the equation with initial x0 and iteration n,
- # using Newston's method. By default n=5, you can increase the n value
- # if you want more close to exact solution.
- # It only gives one root near x0 if equation has multi roots.
-
- # nsolve(cos(x)=x, x)
- # It numerically solves equation with default initial x0=0.5 and n=5.
-
- # nsolve(cos(x)=x, x,x0)
- # It numerically solves the equation with initial x0 and n=5.
-
- # See also: solve, dsolve.
- # e.g. nsolve(sin(x)=0, x,3) gives 3.14.
-
- nsolve(y_,x_,x0_, delta_, n_) := block(numeric:=on,
- eq:=left(y)-right(y),
- dy:=d(eq,x),
- x:=x0,
- j:=0,
- repeat(x:=x-eq/dy, p:=|eq|, j:=j+1, j>n or p<delta),
- numeric:=off,
- nsolve:=x,
- clear(x),
- x=nsolve)
-
- nsolve(y_,x_,x0_) := nsolve(y,x,x0,1e-4,5)
- nsolve(y_,x_) := nsolve(y,x,0.5,1e-4,5)
-