MathGroup Archive 1997

[Date Index] [Thread Index] [Author Index]

Search the Archive

stop when not converge


How to stop Mma when iterations are not converging?

For example, I want to increase x in the function f[x,y] until the value
of y solved from FindRoot[ f[x,y]==0, ...] is not a real number OR
FindRoot does not converge.  More specificly, I tried to do something
like the following:

g[x_,yIni_] := FindRoot[ f[x_,y_]==0, {y,yIni} ][[1,2]];

	(* the Part at the end of the expression is to take out
		the solution of y *)

m=0; 
xV0=1; yV0=2; (* or something like that *)

While[ tem = g[xV0+m, yV0];  Im[tem]==0 && the_findroot_do_converge,
	m=m+0.01 ]; 

( The Im[tem] is to test whether the solution of y is a real number.) 
So the problem I have is how to specify the condition for
"the_findroot_do_converge", or, maybe more easily,
"the_findroot_donot_converge"?  I want it stops when not converging even
though it may return a real number.

Thank you in advance for any suggestion.

 -- H.J. Wang


  • Prev by Date: Re: Just another bug in MMA 3.0
  • Next by Date: Re: Any uses for SequenceHold ?
  • Previous by thread: Looking for Innovative Mathematica Projects
  • Next by thread: Re: Re: Re: Just another bug in MMA 3.0