<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Hi Frederico,</p>
<p>Rouding stuff is not a simple issue, but it's clear that your are
not doing the computations in the same order, which could explain
the difference. Here is a simpler example showing that the result
depends on the order in which computations are done:<br>
</p>
<p>--> x=rand(10,1,"normal");<br>
<br>
--> sum([1;x])-sum([x;1])<br>
ans =<br>
<br>
-2.220D-16</p>
<p>Floating point addition is NOT associative. See e.g.
<a class="moz-txt-link-freetext" href="https://en.wikipedia.org/wiki/Round-off_error">https://en.wikipedia.org/wiki/Round-off_error</a><br>
</p>
<p>S.<br>
</p>
<div class="moz-cite-prefix">Le 25/04/2022 à 10:00, Federico Miyara
a écrit :<br>
</div>
<blockquote type="cite"
cite="mid:90a17a5d-1b04-6671-aaca-ea9dc4844384@fceia.unr.edu.ar">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<br>
<font face="Courier New">Dear All,<br>
<br>
Here I have the following script, where I compute the same thing
using two iteration methods:<br>
</font><br>
<pre style="font-family:Monospaced;font-style:normal;font-size:18.0;"><span style="color:rgb(0,0,0);">alfa</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(50,185,185);">rand</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">1</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(188,143,143);">10</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(0,0,0);">Rpr</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(50,185,185);">rand</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(0,0,0);">R</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(50,185,185);">rand</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(0,0,0);">Z</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(50,185,185);">rand</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">10</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(188,143,143);">200</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(0,0,0);">G</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(50,185,185);">zeros</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">1</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(188,143,143);">200</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(160,32,240);">for</span> <span style="color:rgb(0,0,0);">i</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(188,143,143);">1</span><span style="color:rgb(255,170,0);">:</span><span style="color:rgb(188,143,143);">200</span>
<span style="color:rgb(0,0,0);">A</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(188,143,143);">0</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(0,0,0);">B</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(188,143,143);">0</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(160,32,240);">for</span> <span style="color:rgb(0,0,0);">k</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(188,143,143);">1</span><span style="color:rgb(255,170,0);">:</span><span style="color:rgb(188,143,143);">10</span>
<span style="color:rgb(0,0,0);">A</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(0,0,0);">A</span> <span style="color:rgb(92,92,92);">+</span> <span style="color:rgb(0,0,0);">Rpr</span><span style="color:rgb(92,92,92);">*</span><span style="color:rgb(0,0,0);">alfa</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">k</span><span style="color:rgb(74,85,219);">)</span> <span style="color:rgb(92,92,92);">/</span> <span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">Z</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">k</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(0,0,0);">i</span><span style="color:rgb(74,85,219);">)</span> <span style="color:rgb(92,92,92);">+</span> <span style="color:rgb(0,0,0);">alfa</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">k</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(92,92,92);">*</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">1</span> <span style="color:rgb(92,92,92);">-</span> <span style="color:rgb(0,0,0);">alfa</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">k</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(92,92,92);">*</span><span style="color:rgb(0,0,0);">R</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(0,0,0);">B</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(0,0,0);">B</span> <span style="color:rgb(92,92,92);">+</span> <span style="color:rgb(0,0,0);">Rpr</span><span style="color:rgb(92,92,92);">*</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">1</span> <span style="color:rgb(92,92,92);">-</span> <span style="color:rgb(0,0,0);">alfa</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">k</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(74,85,219);">)</span> <span style="color:rgb(92,92,92);">/</span> <span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">Z</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">k</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(0,0,0);">i</span><span style="color:rgb(74,85,219);">)</span> <span style="color:rgb(92,92,92);">+</span> <span style="color:rgb(0,0,0);">alfa</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">k</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(92,92,92);">*</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">1</span> <span style="color:rgb(92,92,92);">-</span> <span style="color:rgb(0,0,0);">alfa</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">k</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(92,92,92);">*</span><span style="color:rgb(0,0,0);">R</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(160,32,240);">end</span>
<span style="color:rgb(0,0,0);">G</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">i</span><span style="color:rgb(74,85,219);">)</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">1</span> <span style="color:rgb(92,92,92);">+</span> <span style="color:rgb(0,0,0);">A</span><span style="color:rgb(74,85,219);">)</span> <span style="color:rgb(92,92,92);">/</span> <span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">1</span> <span style="color:rgb(92,92,92);">+</span> <span style="color:rgb(0,0,0);">B</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(160,32,240);">end</span>
<span style="color:rgb(0,0,0);">A</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(188,143,143);">1</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(0,0,0);">B</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(188,143,143);">1</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(160,32,240);">for</span> <span style="color:rgb(0,0,0);">k</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(188,143,143);">1</span><span style="color:rgb(255,170,0);">:</span><span style="color:rgb(188,143,143);">10</span>
<span style="color:rgb(0,0,0);">A</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(0,0,0);">A</span> <span style="color:rgb(92,92,92);">+</span> <span style="color:rgb(0,0,0);">Rpr</span><span style="color:rgb(92,92,92);">*</span><span style="color:rgb(0,0,0);">alfa</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">k</span><span style="color:rgb(74,85,219);">)</span> <span style="color:rgb(92,92,92);">./</span> <span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">Z</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">k</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(255,170,0);">:</span><span style="color:rgb(74,85,219);">)</span> <span style="color:rgb(92,92,92);">+</span> <span style="color:rgb(0,0,0);">alfa</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">k</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(92,92,92);">*</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">1</span> <span style="color:rgb(92,92,92);">-</span> <span style="color:rgb(0,0,0);">alfa</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">k</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(92,92,92);">*</span><span style="color:rgb(0,0,0);">R</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(0,0,0);">B</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(0,0,0);">B</span> <span style="color:rgb(92,92,92);">+</span> <span style="color:rgb(0,0,0);">Rpr</span><span style="color:rgb(92,92,92);">*</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">1</span> <span style="color:rgb(92,92,92);">-</span> <span style="color:rgb(0,0,0);">alfa</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">k</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(74,85,219);">)</span> <span style="color:rgb(92,92,92);">./</span> <span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">Z</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">k</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(255,170,0);">:</span><span style="color:rgb(74,85,219);">)</span> <span style="color:rgb(92,92,92);">+</span> <span style="color:rgb(0,0,0);">alfa</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">k</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(92,92,92);">*</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">1</span> <span style="color:rgb(92,92,92);">-</span> <span style="color:rgb(0,0,0);">alfa</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">k</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(92,92,92);">*</span><span style="color:rgb(0,0,0);">R</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(160,32,240);">end</span>
<span style="color:rgb(0,0,0);">G1</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(0,0,0);">A</span> <span style="color:rgb(92,92,92);">./</span> <span style="color:rgb(0,0,0);">B</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(74,85,219);">[</span><span style="color:rgb(0,0,0);">M</span><span style="color:rgb(0,0,0);">,</span> <span style="color:rgb(0,0,0);">ind</span><span style="color:rgb(74,85,219);">]</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(50,185,185);">max</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(50,185,185);">abs</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">G</span><span style="color:rgb(92,92,92);"> - </span><span style="color:rgb(0,0,0);">G1</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(74,85,219);">)
</span></pre>
<font face="Courier New">However, the last line shows that there
are differences between both methods. They are tiny (near %eps),
but I can't find nor imagine which is the reason.<br>
<br>
NOTE: I kept the original formulas as in the script where the
problem arised but changed the data. When I tried to use a
simpler formula there was no difference.<br>
<br>
Any idea?<br>
<br>
Regards,<br>
<br>
Federico Miyara<br>
</font><font face="Courier New"> </font><span
style="color:rgb(74,85,219);"></span>
<div id="DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2"><br>
<table style="border-top: 1px solid #D3D4DE;">
<tbody>
<tr>
<td style="width: 55px; padding-top: 18px;"><a
href="https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient"
target="_blank" moz-do-not-send="true"><img
src="https://ipmcdn.avast.com/images/icons/icon-envelope-tick-round-orange-animated-no-repeat-v1.gif"
alt="" style="width: 46px; height: 29px;"
moz-do-not-send="true" width="46" height="29"></a></td>
<td style="width: 470px; padding-top: 17px; color:
#41424e; font-size: 13px; font-family: Arial, Helvetica,
sans-serif; line-height: 18px;">Libre de virus. <a
href="https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient"
target="_blank" style="color: #4453ea;"
moz-do-not-send="true">www.avast.com</a> </td>
</tr>
</tbody>
</table>
<a href="#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2" width="1"
height="1" moz-do-not-send="true"> </a></div>
<br>
<fieldset class="moz-mime-attachment-header"></fieldset>
<pre class="moz-quote-pre" wrap="">_______________________________________________
users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:users@lists.scilab.org">users@lists.scilab.org</a>
<a class="moz-txt-link-freetext" href="http://lists.scilab.org/mailman/listinfo/users">http://lists.scilab.org/mailman/listinfo/users</a>
</pre>
</blockquote>
<pre class="moz-signature" cols="72">--
Stéphane Mottelet
Ingénieur de recherche
EA 4297 Transformations Intégrées de la Matière Renouvelable
Département Génie des Procédés Industriels
Sorbonne Universités - Université de Technologie de Compiègne
CS 60319, 60203 Compiègne cedex
Tel : +33(0)344234688
<a class="moz-txt-link-freetext" href="http://www.utc.fr/~mottelet">http://www.utc.fr/~mottelet</a>
</pre>
</body>
</html>