Well, I tried FixedPoint[], but it only gives what was in the function only
Below is an example of my equation, which is also from another thread http://community.wolfram.com/groups/-/m/t/421465
(*Temperature of water*)
Twater = 500
Cwater = QuantityMagnitude[
ThermodynamicData["Water",
"ThermalConductivity", {"Temperature" ->
Quantity[Twater, "Kelvins"]}]]
ClassicalRungeKuttaCoefficients[4, prec_] :=
With[{amat = {{1/2}, {0, 1/2}, {0, 0, 1}},
bvec = {1/6, 1/3, 1/3, 1/6}, cvec = {1/2, 1/2, 1}},
N[{amat, bvec, cvec}, prec]];
f = ParametricNDSolveValue[{Derivative[1][y][x] ==
Piecewise[{{(y[x] + x^3 + 3 z - 18000*Cwater),
0 <= x <= 1}, {(y[x] + x^2 + 2 z),
1 <= x <= 2}, {(y[x] + x + z), 2 <= x <= 3}}], y[0] == 0},
y[3.], {x, 0., 3.}, z,
Method -> {"ExplicitRungeKutta", "DifferenceOrder" -> 4,
"Coefficients" -> ClassicalRungeKuttaCoefficients},
StartingStepSize -> 1/10];
point = {z /. FindRoot[f[z] == 100., {z, 1}, Evaluated -> False],
100.};
Show[ListPlot[Evaluate[{#, f[#]} & /@ Range[60., 100., 0.05]],
Joined -> True, Frame -> True, FrameLabel -> {"Z", "Y[3]"}],
Graphics[{PointSize[Large], Red, Point[point]}], ImageSize -> 400]
FindRoot[f[z] == 100., {z, 1}, Evaluated -> False]
Tnew = 170 + 2*z /. FindRoot[f[z] == 100., {z, 1}, Evaluated -> False]
If i use FixedPoint, how do I get Tnew to replace Twater and repeat again until it stop when Tnew=Twater?