<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class=""><font size="4" class="">Scilab friends: the power of Scilab is amazing and I have used it recently for non-linear least-squares fitting, below example from Scilab help function for "datafit". On occasions, I have also used "leastsq".</font></div><div class=""><font size="4" class=""><br class=""></font></div><div class=""><font size="4" class="">Question: how do I derive the 1sigma standard error in the three parameters p(1), p(2), and p(3)? And, if it is not too complicated, covariances?</font></div><div class=""><font size="4" class=""><br class=""></font></div><div class=""><font size="4" class="">I know this is written in dozens of textbooks, but I am always getting lost.</font></div><div class=""><font size="4" class="">Please provide a simple recipe written in Scilab.</font></div><div class=""><font size="4" class="">Best greetings</font></div><div class=""><font size="4" class="">Heinz</font></div><div class=""><font size="4" class=""><br class=""></font></div><div class=""><font size="4" class=""><br class=""></font></div><div class=""><font size="4" class=""><br class=""></font></div><div class=""><pre style="font-family: Monospaced;" class=""><font size="4" class=""><span style="color:rgb(100,174,100);font-style:italic;" class="">// -- 04/04/2020 14:57:30 -- //</span>
<span style="color:rgb(100,174,100);font-style:italic;" class="">//generate the data</span>
<span style="color:rgb(176,24,19);" class="">function</span> <span style="color:rgb(131,67,16);font-weight:bold;" class="">y</span><span style="color:rgb(92,92,92);" class="">=</span><span style="text-decoration: underline;" class="">FF</span><span style="color:rgb(74,85,219);" class="">(</span><span style="color:rgb(131,67,16);font-weight:bold;" class="">x</span>, <span style="color:rgb(131,67,16);font-weight:bold;" class="">p</span><span style="color:rgb(74,85,219);" class="">)</span>
<span style="color:rgb(131,67,16);font-weight:bold;" class="">y</span><span style="color:rgb(92,92,92);" class="">=</span><span style="color:rgb(131,67,16);font-weight:bold;" class="">p</span><span style="color:rgb(74,85,219);" class="">(</span><span style="color:rgb(188,143,143);" class="">1</span><span style="color:rgb(74,85,219);" class="">)</span><span style="color:rgb(92,92,92);" class="">*</span><span style="color:rgb(74,85,219);" class="">(</span><span style="color:rgb(131,67,16);font-weight:bold;" class="">x</span><span style="color:rgb(92,92,92);" class="">-</span><span style="color:rgb(131,67,16);font-weight:bold;" class="">p</span><span style="color:rgb(74,85,219);" class="">(</span><span style="color:rgb(188,143,143);" class="">2</span><span style="color:rgb(74,85,219);" class="">)</span><span style="color:rgb(74,85,219);" class="">)</span><span style="color:rgb(92,92,92);" class="">+</span><span style="color:rgb(131,67,16);font-weight:bold;" class="">p</span><span style="color:rgb(74,85,219);" class="">(</span><span style="color:rgb(188,143,143);" class="">3</span><span style="color:rgb(74,85,219);" class="">)</span><span style="color:rgb(92,92,92);" class="">*</span><span style="color:rgb(131,67,16);font-weight:bold;" class="">x</span><span style="color:rgb(92,92,92);" class="">.*</span><span style="color:rgb(131,67,16);font-weight:bold;" class="">x</span>
<span style="color:rgb(176,24,19);" class="">endfunction</span>
X<span style="color:rgb(92,92,92);" class="">=</span><span style="color:rgb(74,85,219);" class="">[</span><span style="color:rgb(74,85,219);" class="">]</span>;
Y<span style="color:rgb(92,92,92);" class="">=</span><span style="color:rgb(74,85,219);" class="">[</span><span style="color:rgb(74,85,219);" class="">]</span>;
pg<span style="color:rgb(92,92,92);" class="">=</span><span style="color:rgb(74,85,219);" class="">[</span><span style="color:rgb(188,143,143);" class="">34</span>;<span style="color:rgb(188,143,143);" class="">12</span>;<span style="color:rgb(188,143,143);" class="">14</span><span style="color:rgb(74,85,219);" class="">]</span> <span style="color:rgb(100,174,100);font-style:italic;" class="">//parameter used to generate data</span>
<span style="color:rgb(160,32,240);" class="">for</span> x<span style="color:rgb(92,92,92);" class="">=</span><span style="color:rgb(188,143,143);" class="">0</span><span style="color:rgb(255,170,0);" class="">:</span><span style="color:rgb(188,143,143);" class="">.1</span><span style="color:rgb(255,170,0);" class="">:</span><span style="color:rgb(188,143,143);" class="">3</span>
Y<span style="color:rgb(92,92,92);" class="">=</span><span style="color:rgb(74,85,219);" class="">[</span>Y,<span style="color:rgb(174,92,176);text-decoration:underline;" class="">FF</span><span style="color:rgb(74,85,219);" class="">(</span>x,pg<span style="color:rgb(74,85,219);" class="">)</span><span style="color:rgb(92,92,92);" class="">+</span><span style="color:rgb(188,143,143);" class="">100</span><span style="color:rgb(92,92,92);" class="">*</span><span style="color:rgb(74,85,219);" class="">(</span><span style="color:rgb(50,185,185);" class="">rand</span><span style="color:rgb(74,85,219);" class="">(</span><span style="color:rgb(74,85,219);" class="">)</span><span style="color:rgb(92,92,92);" class="">-</span><span style="color:rgb(188,143,143);" class="">.5</span><span style="color:rgb(74,85,219);" class="">)</span><span style="color:rgb(74,85,219);" class="">]</span>;
X<span style="color:rgb(92,92,92);" class="">=</span><span style="color:rgb(74,85,219);" class="">[</span>X,x<span style="color:rgb(74,85,219);" class="">]</span>;
<span style="color:rgb(160,32,240);" class="">end</span>
Z<span style="color:rgb(92,92,92);" class="">=</span><span style="color:rgb(74,85,219);" class="">[</span>Y;X<span style="color:rgb(74,85,219);" class="">]</span>;
<span style="color:rgb(100,174,100);font-style:italic;" class="">//The criterion function</span>
<span style="color:rgb(176,24,19);" class="">function</span> <span style="color:rgb(131,67,16);font-weight:bold;" class="">e</span><span style="color:rgb(92,92,92);" class="">=</span><span style="text-decoration: underline;" class="">G</span><span style="color:rgb(74,85,219);" class="">(</span><span style="color:rgb(131,67,16);font-weight:bold;" class="">p</span>, <span style="color:rgb(131,67,16);font-weight:bold;" class="">z</span><span style="color:rgb(74,85,219);" class="">)</span>,
y<span style="color:rgb(92,92,92);" class="">=</span><span style="color:rgb(131,67,16);font-weight:bold;" class="">z</span><span style="color:rgb(74,85,219);" class="">(</span><span style="color:rgb(188,143,143);" class="">1</span><span style="color:rgb(74,85,219);" class="">)</span>,x<span style="color:rgb(92,92,92);" class="">=</span><span style="color:rgb(131,67,16);font-weight:bold;" class="">z</span><span style="color:rgb(74,85,219);" class="">(</span><span style="color:rgb(188,143,143);" class="">2</span><span style="color:rgb(74,85,219);" class="">)</span>;
<span style="color:rgb(131,67,16);font-weight:bold;" class="">e</span><span style="color:rgb(92,92,92);" class="">=</span>y<span style="color:rgb(92,92,92);" class="">-</span><span style="color:rgb(174,92,176);text-decoration:underline;" class="">FF</span><span style="color:rgb(74,85,219);" class="">(</span>x,<span style="color:rgb(131,67,16);font-weight:bold;" class="">p</span><span style="color:rgb(74,85,219);" class="">)</span>,
<span style="color:rgb(176,24,19);" class="">endfunction</span>
<span style="color:rgb(100,174,100);font-style:italic;" class="">//Solve the problem</span>
p0<span style="color:rgb(92,92,92);" class="">=</span><span style="color:rgb(74,85,219);" class="">[</span><span style="color:rgb(188,143,143);" class="">3</span>;<span style="color:rgb(188,143,143);" class="">5</span>;<span style="color:rgb(188,143,143);" class="">10</span><span style="color:rgb(74,85,219);" class="">]</span>
<span style="color:rgb(74,85,219);" class="">[</span>p,err<span style="color:rgb(74,85,219);" class="">]</span><span style="color:rgb(92,92,92);" class="">=</span><span style="color:rgb(174,92,176);text-decoration:underline;" class="">datafit</span><span style="color:rgb(74,85,219);" class="">(</span><span style="color:rgb(174,92,176);text-decoration:underline;" class="">G</span>,Z,p0<span style="color:rgb(74,85,219);" class="">)</span>;
<span style="color:rgb(174,92,176);text-decoration:underline;" class="">scf</span><span style="color:rgb(74,85,219);" class="">(</span><span style="color:rgb(188,143,143);" class="">0</span><span style="color:rgb(74,85,219);" class="">)</span>;<span style="color:rgb(174,92,176);text-decoration:underline;" class="">clf</span><span style="color:rgb(74,85,219);" class="">(</span><span style="color:rgb(74,85,219);" class="">)</span>
<span style="color:rgb(50,185,185);" class="">plot2d</span><span style="color:rgb(74,85,219);" class="">(</span>X,<span style="color:rgb(174,92,176);text-decoration:underline;" class="">FF</span><span style="color:rgb(74,85,219);" class="">(</span>X,pg<span style="color:rgb(74,85,219);" class="">)</span>,<span style="color:rgb(188,143,143);" class="">5</span><span style="color:rgb(74,85,219);" class="">)</span> <span style="color:rgb(100,174,100);font-style:italic;" class="">//the curve without noise</span>
<span style="color:rgb(50,185,185);" class="">plot2d</span><span style="color:rgb(74,85,219);" class="">(</span>X,Y,<span style="color:rgb(92,92,92);" class="">-</span><span style="color:rgb(188,143,143);" class="">1</span><span style="color:rgb(74,85,219);" class="">)</span> <span style="color:rgb(100,174,100);font-style:italic;" class="">// the noisy data</span>
<span style="color:rgb(50,185,185);" class="">plot2d</span><span style="color:rgb(74,85,219);" class="">(</span>X,<span style="color:rgb(174,92,176);text-decoration:underline;" class="">FF</span><span style="color:rgb(74,85,219);" class="">(</span>X,p<span style="color:rgb(74,85,219);" class="">)</span>,<span style="color:rgb(188,143,143);" class="">12</span><span style="color:rgb(74,85,219);" class="">)</span> <span style="color:rgb(100,174,100);font-style:italic;" class="">//the solution</span>
<span style="color:rgb(50,185,185);" class="">xgrid</span><span style="color:rgb(74,85,219);" class="">(</span><span style="color:rgb(74,85,219);" class="">)</span>;<span style="color:rgb(174,92,176);text-decoration:underline;" class="">legend</span><span style="color:rgb(74,85,219);" class="">(</span><span style="color:rgb(188,143,143);" class="">"</span><span style="color:rgb(188,143,143);" class="">the curve without noise</span><span style="color:rgb(188,143,143);" class="">"</span>,<span style="color:rgb(188,143,143);" class="">"</span><span style="color:rgb(188,143,143);" class=""> the noisy data</span><span style="color:rgb(188,143,143);" class="">"</span>, <span style="color:rgb(188,143,143);" class="">"</span><span style="color:rgb(188,143,143);" class="">THE FINAL SOLUTION</span><span style="color:rgb(188,143,143);" class="">.</span><span style="color:rgb(188,143,143);" class="">.</span><span style="color:rgb(188,143,143);" class="">.</span><span style="color:rgb(188,143,143);" class="">.</span><span style="color:rgb(188,143,143);" class="">.</span><span style="color:rgb(188,143,143);" class="">"</span>,<span style="color:rgb(188,143,143);" class="">4</span><span style="color:rgb(74,85,219);" class="">)</span>;
<span style="color:rgb(174,92,176);text-decoration:underline;" class="">title</span><span style="color:rgb(74,85,219);" class="">(</span><span style="color:rgb(188,143,143);" class="">"</span><span style="color:rgb(188,143,143);" class="">solution set 39.868419 10.312053 11.482521</span><span style="color:rgb(188,143,143);" class="">"</span>,<span style="color:rgb(188,143,143);" class="">"</span><span style="color:rgb(188,143,143);" class="">fontsize</span><span style="color:rgb(188,143,143);" class="">"</span>,<span style="color:rgb(188,143,143);" class="">4</span><span style="color:rgb(74,85,219);" class="">)</span>;</font></pre><div class=""><img apple-inline="yes" id="383993A6-92A2-49B1-8197-1E47B42182AF" src="cid:63B651F2-D419-4053-9D13-A75999587AD3@upc.at" class=""></div></div></body></html>