Fitting data using FindMinimum. Different Output in version 5.x and 4.2
- To: mathgroup at smc.vnet.net
- Subject: [mg52330] Fitting data using FindMinimum. Different Output in version 5.x and 4.2
- From: guillerm at aida.usal.es (Guillermo Sanchez)
- Date: Tue, 23 Nov 2004 02:12:50 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
Dear group, I find different Outputs fitting data using FindMinimum (Math 5.0 and 5.1) vs Math 4.2 Here is an example but I have more: I wish fit the experimental data given by dataPhysio with InverseLaplaceTransform[X1[s, kon, koff] to estimate koff and kon. I apply the method that follow dataPhysio = {{0.03, 27.5}, {0.08, 48.61}, {0.28, 133.39}, {0.33, 106.18}, {0.38, 92.11}, {0.48, 60.47}, {0.55, 56.54}, {0.65, 27.73}, {0.75, 23.25}, {0.85, 15.83}, {0.95, 13.82}, {1.05, 10.58}, {1.15, 7.83}, {1.25, 7.35}, {1.35, 6.08}, {1.45, 5.21}, {1.6, 4.18}, {1.8, 3.48}, {2.,2.86}, {2.2, 2.42}, {2.4, 2.11}, {2.6, 2.01}, {2.8, 1.7}, {3., 1.58}, {3.4, 1.58}, {3.75, 1.44}, {4.25, 1.35}, {4.75, 1.3}, {5.25, 1.29}, {6.75, 0.81}, {7.25, 0.78}, {7.75, 0.73}, {8.25, 0.75}, {11., 0.68}}; X1[s_] = (40001*(0.423334*koff + 0.423334*s + koff*s + kon*s + s^2))/ ((11.15 + s)^2*(1.305*koff + 1.305246*s + 6.296*koff*s + 5.87*kon*s + 6.296*s^2 + 1.*koff*s^2 + kon*s^2 + s^3)); sse2[(koff_)?NumberQ, (kon_)?NumberQ] := Block[{sol, q2}, q2[t_] = InverseLaplaceTransform[X1[s], s, t]; Plus @@ Apply[(q2[#1] - #2)^2 & , dataPhysio, {1}]]; FindMinimum[sse2[koff, kon], {koff, 0.3}, {kon, 0.7}, MaxIterations -> 50] (* I receive in versio 5.1 this message: FindMinimum::"fmgz": "Encountered a gradient which is effectively zero. The result returned may not be a minimum; it may be a maximum or a saddle point", {612.483, {koff -> 0.3, kon -> 0.7}} *) However in version 4.2 I obtain {koff -> 0.09748, kon -> 0.671}. It can be obverved that is a good fit Plot[Evaluate[InverseLaplaceTransform[X1[s] /. {koff -> 0.09748, kon -> \ 0.671}, s, t]], {t, 0, 11}, Epilog -> Map[Point, dataPhysio]]; Any explication? Guillermo