Matlab,运算符A\B.

jus*_*tik 9 matlab operators

操作A\B的结果是什么,其中A(1,m)和B(1,m)?

在手册中写道:

A\B returns a least-squares solution to the system of equations A*x= B.
Run Code Online (Sandbox Code Playgroud)

所以它意味着x = inv(A'*A)*A'*B?但是,矩阵A'*A是单数的......

让我们假设:

A=[1 2 3]
B=[6 7 6]
A\B

0         0         0
0         0         0
2.0000    2.3333    2.0000
Run Code Online (Sandbox Code Playgroud)

如果使用MLS:

C = inv (A'*A)   singular matrix
C = pinv(A'*A)

0.0051    0.0102    0.0153
0.0102    0.0204    0.0306
0.0153    0.0306    0.0459

D= C*A'*B

0.4286    0.5000    0.4286
0.8571    1.0000    0.8571
1.2857    1.5000    1.2857
Run Code Online (Sandbox Code Playgroud)

所以结果A\B和inv(A'*A)*A'*B是不同的......

Fak*_*DIY 5

我的MATLAB(R2010b)说了很多关于A\B它的内容:

mldivide(A,B)和等效的A\B执行矩阵左划分(反斜杠).A并且B 必须是具有相同行数的矩阵,除非A是标量,在这种情况下A\B执行逐元素划分 - 即A\B = A.\B.

如果A是方形矩阵,A\B则大致相同inv(A)*B,除非它以不同的方式计算.如果A是一个n-by- n矩阵和B是一个列向量,其具有n的元件,或与几个这样的列的矩阵,然后X = A\B是解方程AX = B.如果A缩放严重或接近单一,则会显示警告消息.

如果A是一个m-by- n与矩阵m ~= nB是一个列向量,其具有m 的部件,或具有几个这样的列的矩阵,然后X = A\B是在最小平方意义上方程的不足或超定系统中的溶液AX = B.换句话说,X最小化norm(A*X - B)矢量的长度AX - B.秩kA从与塔枢转的QR分解来确定.计算的解决方案每列X最多具有k非零元素.如果k < n,这通常与x = pinv(A)*B返回最小二乘解决方案的解决方案不同.

mrdivide(B,A)和等效B/A执行矩阵右分割(正斜杠).B并且A必须具有相同数量的列.

如果A是方阵,B/A则大致相同B*inv(A).如果A是一个n-by- n矩阵和B是与行向量n的元素,或以几个这样的行的矩阵,则X = B/A可以解决该方程 XA = B通过高斯消去具有部分枢转来计算.如果A缩放严重或接近单一,则会显示警告消息.

如果B是一个m-by- n与矩阵m ~= nA是一个列向量,其具有m 的部件,或具有几个这样的列的矩阵,然后X = B/A是在最小平方意义上方程的不足或超定系统中的溶液XA = B.