1
$\begingroup$

I have an implicit function

g=f[x,y,z,g]

which I want to call recursively, called initially with g=0. I have this working for a specified number of recursive calls rec.

h[x_, y_, z_, rec_] := Piecewise[{{f[x, y, z, 0], 
 rec == 0}}, f[x, y, z, h[x, y, z, rec-1];

Is there a neat way build a function keeps increasing rec until the change in h falls below a certain threshold?

thanks,

$\endgroup$
2
  • 2
    $\begingroup$ Maybe FixedPoint would help. $\endgroup$
    – bill s
    Commented Apr 23, 2018 at 2:59
  • $\begingroup$ Perhaps NestWhile would be relevant $\endgroup$
    – user42582
    Commented Apr 23, 2018 at 6:02

1 Answer 1

2
$\begingroup$

Ah, I think I have my own answer, thanks to more reading...

h[x_, y_, z_] := Last[NestWhileList[f[x, y, z, #] &, 0, Abs[#1 - #2]/#2 > 0.01&, 2]] 

finds the answer with enough recursion for 1% accuracy.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.