Error when using distributive property

2 vues (au cours des 30 derniers jours)
D G
D G le 26 Juil 2011
Hello!
The function below compares the output of two functions which run the same calculation. However, in one function the calculation's multiplications are distributed. It should output a matrix of 1s. However, it doesn't!
What's up with that?
function errorTest()
compute(1:100) == distributed(1:100)
function out = compute(a)
out = 10.1 * (a - 1);
end
function out = distributed(a)
out = 10.1 * a - 10.1;
end
end
Thanks!

Réponse acceptée

Oleg Komarov
Oleg Komarov le 26 Juil 2011
The propagation of floating approximations is different:
idx = abs(compute(1:100) - distributed(1:100)) > 2*eps
nnz(idx)
How many values over 2eps?
  4 commentaires
D G
D G le 26 Juil 2011
I guess I had that backwards. If you remove the 2*, a lot of the answers are still different.
Oleg Komarov
Oleg Komarov le 26 Juil 2011
Cannot really help you more than that, I don't have experience with distributed server.

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by