Matlab Gaussian Elimination Question
5 次查看(过去 30 天)
显示 更早的评论
I'm trying to find the difference in the values of C1 between solving the following system of equations using the attached gaussian elimination script, vs using the backslash command for matrices in matlab (i.e. x=A\b).
I'm getting an answer of 7.9936e-15, but the correct answer is supposedly 3.5527e-15.
I would appreciate it if someone else could try this quickly to tell me if I'm doing something wrong, or the answer is wrong.
I've simply calculated the matrix using the attached script, calculated the other matrix from the backslash command and then subtracted them from one another.
Thanks.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/157769/image.bmp)
0 个评论
回答(1 个)
John D'Errico
2016-3-14
编辑:John D'Errico
2016-3-14
No. What you fail to understand is those two results ARE the same. The same at least, to within floating point trash. Adding, subtracting and multiplying numbers in various orders does not yield identically the same results when you work in floating point arithmetic.
Do you believe me?
.3 - .2 - .1
ans =
-2.7756e-17
-(.1 + .2 - .3)
ans =
-5.5511e-17
Gosh. Different numbers, on the order of what you got, from what SHOULD be identically the same computation. This is as expected. Floating point arithmetic is NOT mathematics. It only looks like mathematics.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!