Matlab Gaussian Elimination Question

5 次查看(过去 30 天)
Callum C
Callum C 2016-3-14
评论: Callum C 2016-3-14
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.

回答(1 个)

John D'Errico
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.
  1 个评论
Callum C
Callum C 2016-3-14
I think I understand. So is the question proposed by my professor not valid?

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by