2026a
# \
符号矩阵左除
函数库: TySymbolicMath
# 语法
X = A\B
X = \(A, B)
# 说明
X = A\B 以矩阵形式求解符号系统中的线性方程组,使 A*X = B。 示例
X = (A, B) 是 X = A\B 的替代用法。
# 示例
求线性方程组唯一解
求解由系数方阵和方程右侧向量指定的线性方程组。
创建一个包含方程项系数的矩阵和一个包含方程右侧的向量。
using TySymbolicMath
using TyMath
A = Num.(pascal(4))
b = Num.([4,3,2,1])
A = 4×4 Matrix{Num}:
1 1 1 1
1 2 3 4
1 3 6 10
1 4 10 20
b = 4-element Vector{Num}:
4
3
2
1
使用运算符 \ 来求解线性方程组。
X = A\b
4-element Vector{Num}:
5.0
-1.0
0.0
0.0
不满秩方程组
创建一个包含方程项系数的矩阵和方程右侧的向量。
using TySymbolicMath
using TyMath
A = Num.(magic(4))
b = Num.([0, 1, 1, 0])
A = 4×4 Matrix{Num}:
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
b = 4-element Vector{Num}:
0
1
1
0
求增广矩阵的秩。该方程组包含四个方程,但其秩为 3 。因此,该方程组是不满秩的。这意味着方程组的解是不唯一的,但 \ 仍可以求出其中一组解。
TySymbolicMath.rank(value.([A b]))
3
尝试使用符号 \ 运算符求解方程组。由于方程组是不满秩的,返回的解不是唯一的。
A\b
4-element Vector{Num}:
-0.13725490196078433
0.058823529411764656
-0.029411764705882297
0.16666666666666666
方程组无解
创建一个包含方程项系数的矩阵和方程右侧的向量。
using TySymbolicMath
using TyMath
A = Num.(magic(4))
b = Num.([0, 1, 2, 3])
A = 4×4 Matrix{Num}:
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
b = 4-element Vector{Num}:
0
1
2
3
由于该方程组的系数矩阵的秩小于增广矩阵的秩,因此不存在解。
TySymbolicMath.rank(value.([A b]))
4
TySymbolicMath.rank(value.(A))
3
尝试使用符号 \ 运算符求解此方程组。
X = A\b
4-element Vector{Num}:
2.2517998136852475e15
6.75539944105574e15
-6.75539944105574e15
-2.2517998136852478e15
在这种情况下,求解的结果不可靠,A*X 并不等于 b。
A*X
4-element Vector{Num}:
0.0
-6.0
-4.0
0.25
符号函数除法
用符号函数相除,结果返回符号函数。
using TySymbolicMath
@variables x f(x)
f = x^2
f1 = f\(x^2 + 5*x + 6)
(6 + x^2 + 5x) / (x^2)
# 输入参数
A - 系数矩阵符号变量 | 符号表达式 | 符号函数 | 符号向量 | 符号矩阵
系数矩阵,指定为符号变量、表达式或函数,或符号变量、表达式或函数的向量或矩阵。
B - 方程右侧数组符号变量 | 符号表达式 | 符号函数 | 符号向量 | 符号矩阵
方程右侧数组,指定为符号变量、表达式或函数,或符号变量、表达式或函数的向量或矩阵。
# 输出参数
X - 方程组的解符号变量 | 符号表达式 | 符号函数 | 符号向量 | 符号矩阵
方程组的解,指定为符号变量、表达式或函数,或符号变量、表达式或函数的向量或矩阵。