[Scilab-users] Strange behavior of explicit vs implicit iteration
Stéphane Mottelet
stephane.mottelet at utc.fr
Mon Apr 25 10:31:26 CEST 2022
Hi Frederico,
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:
--> x=rand(10,1,"normal");
--> sum([1;x])-sum([x;1])
ans =
-2.220D-16
Floating point addition is NOT associative. See e.g.
https://en.wikipedia.org/wiki/Round-off_error
S.
Le 25/04/2022 à 10:00, Federico Miyara a écrit :
>
> Dear All,
>
> Here I have the following script, where I compute the same thing using
> two iteration methods:
>
> alfa = rand(1,10);
> Rpr = rand();
> R = rand();
> Z = rand(10,200);
>
> G = zeros(1,200);
> for i=1:200
> A = 0;
> B = 0;
> for k = 1:10
> A = A + Rpr*alfa(k) / (Z(k,i) + alfa(k)*(1 - alfa(k))*R);
> B = B + Rpr*(1 - alfa(k)) / (Z(k,i) + alfa(k)*(1 - alfa(k))*R);
> end
> G(i) = (1 + A) / (1 + B);
> end
>
> A = 1;
> B = 1;
> for k = 1:10
> A = A + Rpr*alfa(k) ./ (Z(k,:) + alfa(k)*(1 - alfa(k))*R);
> B = B + Rpr*(1 - alfa(k)) ./ (Z(k,:) + alfa(k)*(1 - alfa(k))*R);
> end
> G1 = A ./ B;
>
> [M, ind] = max(abs(G- G1))
> 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.
>
> 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.
>
> Any idea?
>
> Regards,
>
> Federico Miyara
>
> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient>
> Libre de virus. www.avast.com
> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient>
>
>
> <#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
>
> _______________________________________________
> users mailing list
> users at lists.scilab.org
> http://lists.scilab.org/mailman/listinfo/users
--
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
http://www.utc.fr/~mottelet
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.scilab.org/pipermail/users/attachments/20220425/54edeb8f/attachment.htm>
More information about the users
mailing list