【发布时间】:2012-10-07 19:48:23
【问题描述】:
下面A*(A\D)的结果怎么可能不等于D?
它应该产生 D - 这是 Octave 文档的摘录:
线性方程组在数值分析中无处不在。到 求解线性方程组 Ax = b,使用左除法 运算符,'\':x = A \ b
下面是代码供想尝试的人使用:
A = [1,1,1;0,0,0;2,1,2;2,1,2;3,5,6]
D = [1;2;3;4;5]
% A is of rank 3:
rank(A)
% therefore the system Ax=D has a unique solution
x = A\D
% but Octave has not given the good solution:
A*x
有人说我用 Matlab 得出的结果完全相同。
编辑 2012 年 10 月 10 日: 阅读完答案后,让我指出我犯了一个严重错误的地方:声明 “A 排名第 3,因此系统 Ax=D有一个独特的解决方案” 是绝对错误的!顺便说一句,上面显示的文档非常令人不安。
【问题讨论】:
-
为什么
A*(A\D)应该和D一样? -
@phimuemue 因为这正是左除法运算符的目标。我已经编辑了我的帖子以添加有关此运算符的文档内容。
标签: matlab octave linear-algebra numerical-methods least-squares