Fitting data using FindMinimum. Different Output in version 5.x and 4.2

Fitting data using FindMinimum. Different Output in version 5.x and 4.2

Post by guiller » Wed, 24 Nov 2004 16:27:24


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
 
 
 

1. Don't call the text data using IE 4.2 tag on iesample of CE 4.2

2. ScilabGtk 4.2 - Different behaviour for function 'evstr' in Ubuntu 8.4 and Windows versions

I ran a script that uploads an ASCII data file (approx 100k). The
data resides in a temporary variable called 'TempBlock'. If the
program is running on a Windows machine I am able to convert the data
into a matrix by running 'DataMatrix = evstr(TempBlock)'; however
running the same command throws up an error:
!--error 2
invalid factor
in execstr instruction called by :
at line 15 of function evstr called by :
DataMatrix = evstr(TempBlock);
line 61 of exec file called by :
3/DataPlotter_for_Stability_Tests.sci")
in execstr instruction called by :

Have others discovered that the operating system changes the behaviour
of Scilab? Ubuntu 8.04, Linux 2.6.24-19-generic, GNOME 2.22.3, Intel
Pentium 4, 3GHz

I am not a heavy user of Scilab; but I do use it on and off, and this
is the first time that there has been a problem.

Cheers

Frank

3. How to add a WebCam to CEPC (4.2) using PB 4.2

4. Howto update gnuplot from version 4.2 to version 4.4?

5. Program version 4.2 doesn't match environment version

6. Define equation to fit data using curve fitting toolbox

7. 2d ploting and curve fitting library for ce 4.2

8. Altera Quartus II 4.2 SP1 fit problem and Altera APEX20KE clock problem

9. FindMinimum inside another FindMinimum

10. Fitting a complex Function with FindMinimum

11. Need to replace dll in System32 with different version trusted ins

12. Add-ins for different versions of Word

13. outlook plug-ins detect version different from x-mailer

14. How to add several *.fit files (matrices) into one output *.fit file?

15. Can't obtain Postscript output from Gnuplot 4.2