<div style="font-family:Arial, Helvetica, sans-serif; font-size:12px; color:#00000"><font face="Courier New">Do not forget you are doing numerical computations. This king of calculus implies rounding (the data are stored with a finite number of bits...) This explains the differences you got.</font></div>
<div class="gl_quote" style="margin-top: 20px; padding-top: 5px;">De : "Federico Miyara"<br>
A : "Users mailing list for Scilab"<br>
Envoyé: lundi 25 Avril 2022 10:01<br>
Objet : [Scilab-users] Strange behavior of explicit vs implicit iteration<br>
<div class="gl_quoted"><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:</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>
<br>
<br>
<br>
Regards,<br>
<br>
Federico Miyara</font>
<div id="DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2">
<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"><img alt="" src="https://ipmcdn.avast.com/images/icons/icon-envelope-tick-round-orange-animated-no-repeat-v1.gif" style="width: 46px; height: 29px;" 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" style="color: #4453ea;" target="_blank">www.avast.com</a></td>
</tr>
</tbody>
</table>
</div>
<!-- PART SEPARATOR --><br>
<br>
<br>
_______________________________________________<br>
users mailing list<br>
users@lists.scilab.org<br>
http://lists.scilab.org/mailman/listinfo/users</div>
</div>