## 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

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
{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

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