本页对应的英文页面已更新,但尚未翻译。 若要查看最新内容,请点击此处访问英文页面。

mrdivide, /

对线性方程组 xA = B 求解 x

说明

示例

x = B/A 对线性方程组 x*A = B 求解 x。矩阵 AB 必须具有相同的列数。如果 A 未正确缩放或接近奇异值,MATLAB® 将会显示警告信息,但还是会执行计算。

  • 如果 A 是标量,那么 B/A 等于 B./A

  • 如果 An×n 方阵,Bn 列矩阵,那么 x = B/A 是方程 x*A = B 的解(如果存在解的话)。

  • 如果 A 是矩形 m×n 矩阵,且 m ~= nBn 列矩阵,那么 x=B/A 返回方程组 x*A = B 的最小二乘解。

x = mrdivide(B,A) 是执行 x=B/A 这一操作的替代方法,但很少使用。它可以启用类的运算符重载。

示例

全部折叠

对具有唯一解的方程组 x*A = B 求解。

A = [1 1 3; 2 0 4; -1 6 -1];
B = [2 19 8];
x = B/A
x = 1×3

    1.0000    2.0000    3.0000

对欠定方程组 x*C = D 求解。

C = [1 0; 2 0; 1 0];
D = [1 2];
x = D/C
Warning: Rank deficient, rank = 1, tol =  1.332268e-15.
x = 1×3

         0    0.5000         0

MATLAB® 发出警告,但会继续计算。

验证 x 不是精确解。

x*C-D
ans = 1×2

     0    -2

输入参数

全部折叠

操作数,指定为向量、满矩阵或稀疏矩阵。AB 必须具有相同的列数。

  • 如果 AB 具有整数数据类型,则另一个输入必须为标量。整数数据类型的操作数不能为复数。

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char
复数支持:

输出参数

全部折叠

解,以向量、满矩阵或稀疏矩阵返回。如果 Am×n 矩阵,Bp×n 矩阵,那么 xp×m 矩阵。

仅当 AB 同时为稀疏矩阵时,x 才为稀疏矩阵。

提示

  • 运算符 /\ 通过以下对应关系而相互关联:B/A = (A'\B')'

  • 如果 A 是方阵,则 B/A 约等于 B*inv(A),但 MATLAB 会用不同的更为稳健的方式处理 B/A,而且效果更好。

扩展功能

在 R2006a 之前推出