フィルターのクリア

Error when using distributive property

3 ビュー (過去 30 日間)
D G
D G 2011 年 7 月 26 日
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!

採用された回答

Oleg Komarov
Oleg Komarov 2011 年 7 月 26 日
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 件のコメント
D G
D G 2011 年 7 月 26 日
I guess I had that backwards. If you remove the 2*, a lot of the answers are still different.
Oleg Komarov
Oleg Komarov 2011 年 7 月 26 日
Cannot really help you more than that, I don't have experience with distributed server.

サインインしてコメントする。

その他の回答 (0 件)

Community Treasure Hunt

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

Start Hunting!

Translated by