Matlab,运算符 A\B

标签 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.

所以这意味着 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

如果使用 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

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

最佳答案

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

mldivide(A,B) and the equivalent A\B perform matrix left division (back slash). A and B must be matrices that have the same number of rows, unless A is a scalar, in which case A\B performs element-wise division — that is, A\B = A.\B.

If A is a square matrix, A\B is roughly the same as inv(A)*B, except it is computed in a different way. If A is an n-by-n matrix and B is a column vector with n elements, or a matrix with several such columns, then X = A\B is the solution to the equation AX = B. A warning message is displayed if A is badly scaled or nearly singular.

If A is an m-by-n matrix with m ~= n and B is a column vector with m components, or a matrix with several such columns, then X = A\B is the solution in the least squares sense to the under- or overdetermined system of equations AX = B. In other words, X minimizes norm(A*X - B), the length of the vector AX - B. The rank k of A is determined from the QR decomposition with column pivoting. The computed solution X has at most k nonzero elements per column. If k < n, this is usually not the same solution as x = pinv(A)*B, which returns a least squares solution.

mrdivide(B,A) and the equivalent B/A perform matrix right division (forward slash). B and A must have the same number of columns.

If A is a square matrix, B/A is roughly the same as B*inv(A). If A is an n-by-n matrix and B is a row vector with n elements, or a matrix with several such rows, then X = B/A is the solution to the equation XA = B computed by Gaussian elimination with partial pivoting. A warning message is displayed if A is badly scaled or nearly singular.

If B is an m-by-n matrix with m ~= n and A is a column vector with m components, or a matrix with several such columns, then X = B/A is the solution in the least squares sense to the under- or overdetermined system of equations XA = B.

关于Matlab,运算符 A\B,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13380420/

相关文章:

matlab - 许可英特尔 Fortran 编译器

matlab - 如何使用 MATLAB 训练能够计算 XOR 的神经网络?

c - 什么??!??!运算符在 C 中做什么?

java - Java中前缀和后缀++运算符的区别

performance - Matlab 性能 : comparison slower than arithmetic

matlab - 3 个变量的 Gscatter

matlab - 修剪数据以便在对数对数图上更好地查看 - Matlab

matlab - Matlab和Opencv之间图像像素值的差异

operators - 搜索 ==、++ 等

C#自增运算符错误: Operand is not syntactically correct?