主要内容

linsolve

求解矩阵形式的符号线性方程

说明

X = linsolve(A,B) 求解矩阵方程 AX = B,其中 A 是符号矩阵,B 是符号列向量。

示例

如果 A 是一个方阵,则 [X,R] = linsolve(A,B) 还返回 A 的条件数的倒数。否则,linsolve 返回 A 的秩。

示例

示例

全部折叠

使用 linsolve 求解矩阵形式的线性方程组。

[211-11-1123][xyz]=[23-10]

A = [ 2 1  1;
     -1 1 -1;
      1 2  3];
B = [2; 3; -10];
X = linsolve(A,B)
X = 3×1

     3
     1
    -5

解为 x=3y=1z=-5

使用两个输出参量计算方系数矩阵条件数的倒数。

syms a x y z
A = [a 0 0; 0 a 0; 0 0 1];
B = [x; y; z];
[X, R] = linsolve(A, B)
X = 

(xayaz)

R = 

1max(|a|,1)max(1|a|,1)

如果系数矩阵为矩形,则 linsolve 返回系数矩阵的秩作为第二个输出参量。证明此行为。

syms a b x y
A = [a 0 1; 1 b 0];
B = [x; y];
[X,R] = linsolve(A,B)
Warning: Solution is not unique because the system is rank-deficient.
X = 

(xa-x-ayab0)

R = 2

输入参数

全部折叠

系数矩阵,指定为符号矩阵。

方程的右侧,指定为符号向量或符号矩阵。

输出参量

全部折叠

解,以符号向量或符号矩阵形式返回。

条件数倒数或秩,以符号数或符号表达式形式返回。如果 A 是一个方阵,则 linsolve 返回 A 的条件数。否则,linsolve 返回 A 的秩。

详细信息

全部折叠

提示

  • 如果解不是唯一的,linsolve 会发出警告,选择一个解并返回它。

  • 如果方程组没有解,则 linsolve 会发出警告并返回 X,其中所有元素都设置为 Inf

  • 对非符号对象数值矩阵调用 linsolve 会调用 MATLAB® linsolve 函数。此函数仅接受实数参量。如果您的方程组使用复数,请使用 sym 将至少一个矩阵转换为符号矩阵,然后调用 linsolve

版本历史记录

在 R2012b 中推出