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