Different results obtained from different computer

조회 수: 5 (최근 30일)
Xiu
Xiu 2011년 9월 8일
I'm trying to run an iterative loop with only simple operators (multiplication and division) and function 'norm'. But when I run the same file in different computers, the results are varied. Can anyone help me with that please?
Thanks
Xiu

채택된 답변

Jan
Jan 2011년 9월 8일
Different computers use different libraries to calculate the square root. Therefore the last significant bit of the calculation can vary after a calculation. An iteration can amplify such small differences.
In addition the rounding direction can be different, some processors can store intermediate values with 80 bit precision, others with 64 bits. I'm not able to reproduce the results of Matlab's ACOS exactly in C, even if I use the same library from FDLIBM.
  댓글 수: 5
Xiu
Xiu 2011년 9월 9일
norm(w_o)is very small (10^-5).
X can be any matrix with 12 columns and y is a column vector with same number of rows as X.
Jan
Jan 2011년 9월 9일
@Xiu: If the tiny differences between different computers are amplified such, that the final results are completely different, the algorithm is instable. Then both results are _correct_ in a numerical sense. See also: http://www.mathworks.com/matlabcentral/answers/438-why-are-computational-results-in-matlab-sometimes-different-on-different-machines-and-how-can-i-prev

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Linear Algebra에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by