2026a

# coefficients


多项式系数

函数库: TySymbolicMath

# 语法

c = coefficients(p::AbstractPolynomialLike)
c = coefficients(p::AbstractPolynomialLike, X::AbstractVector)
c = coefficients(p)
c = coefficients(p,X)
c = coefficients(___,"All")
c,t = coefficients(___;nargout = Val(2))

# 说明

c = coefficients(p::AbstractPolynomialLike) 返回对以单项式递减排序的多项式 p 的非零项系数。 示例


c = coefficients(p::AbstractPolynomialLike, X::AbstractVector) 返回多项式 p 中 X 的单项式的系数,其中 X 是一个单项式向量,不一定要排序但没有重复项。 示例


c = coefficients(p) 返回 p 关于所有变量(由 symvar(p) 确定)的多项式系数。示例


c = coefficients(p,X) 返回 p 关于变量 X 的多项式系数。示例


c = coefficients(___,"All") 返回所有系数,包括为 0 的系数。例如, coefficients(2*x^2,"All") 返回 [ 2, 0, 0] 而不是 2 。示例


c , t = coefficients(___;nargout = Val(2)) 返回多项式的系数 c 和相应的项 t 。示例

# 示例

一元多项式的系数

找出这个单变量多项式的系数。系数从最低阶到最高阶排序。

using TySymbolicMath
@polyvar x
c = coefficients(16*x^2 + 19*x + 11)
3-element Vector{Int64}:
11
19
16
多元多项式关于特定变量的系数

求以下多项式关于变量 x 和变量 y 的系数。

using TySymbolicMath
@polyvar x y
c = coefficients(4x^2*y + x*y + 2x + 3, [x, 1, x*y, y])
4-element Vector{Int64}:
2
3
1
0
多元多项式的系数返回规则

coefficients 只寻找需要查找的指定项的系数,而不会将符号变量 x 或 y 当作系数返回。例如,以下多项式 p 中,虽然有包含 x 的单项式,但并无仅包含 x 的单项式,因此会返回 0。

using TySymbolicMath
@polyvar x y
cx = coefficients(x^3 + 2*x^2*y + 3*x*y^2 + 4*y^3, [x])
1-element Vector{Int64}:
0
单变量多项式的系数

求出这个单变量多项式的系数。系数按从最低次数到最高次数的顺序排列。

using TySymbolicMath
@variables x
c = coefficients(16*x^2 + 19*x + 11)
c = 3-element Vector{Num}:
 11
 19
 16

使用 reverse 来反转系数的顺序。

c = reverse(c)
c = 3-element Vector{Num}:
 16
 19
 11
关于特定变量的多元多项式的系数

求出该多项式关于变量 x 和变量 y 的系数。

using TySymbolicMath
@variables x y
cx = coefficients(x^3 + 2*x^2*y + 3*x*y^2 + 4*y^3, x)
cy = coefficients(x^3 + 2*x^2*y + 3*x*y^2 + 4*y^3, y)
cx = 4-element Vector{Num}:
 4(y^3)
 3(y^2)
     2y
      1

cy = 4-element Vector{Num}:
    x^3
 2(x^2)
     3x
      4
关于两个变量的多元多项式的系数

求出该多项式关于两个变量 x 和 y 的系数。

using TySymbolicMath
@variables x y
cxy = coefficients(x^3 + 2*x^2*y + 3*x*y^2 + 4*y^3, [x y])
cyx = coefficients(x^3 + 2*x^2*y + 3*x*y^2 + 4*y^3, [y x])
cxy = 4-element Vector{Num}:
 4
 3
 2
 1

cyx = 4-element Vector{Num}:
 1
 2
 3
 4
单变量多项式的系数和对应项

找到这个单变量多项式的系数和相应的项。当提供两个输出时,系数按从最高次数到最低次数的顺序排列。

using TySymbolicMath
@variables x 
c,t = coefficients(16*x^2 + 19*x + 11;nargout=Val(2))
c = 3-element Vector{Num}:
 16
 19
 11

t = 3-element Vector{Num}:
 x^2
   x
   1
多元多项式的系数和对应项

求出该多项式关于变量 x 和变量 y 的系数和对应项。

using TySymbolicMath
@variables x y
cx,tx = coefficients(x^3 + 2*x^2*y + 3*x*y^2 + 4*y^3, x; nargout=Val(2))
cy,ty = coefficients(x^3 + 2*x^2*y + 3*x*y^2 + 4*y^3, y; nargout=Val(2))
cx = 4-element Vector{Num}:
      1
     2y
 3(y^2)
 4(y^3)

tx = 4-element Vector{Num}:
 x^3
 x^2
   x
   1

cy = 4-element Vector{Num}:
      4
     3x
 2(x^2)
    x^3

ty = 4-element Vector{Num}:
 y^3
 y^2
   y
   1

求出该多项式关于两个变量 x 和 y 的系数。

@variables x y
cxy, txy = coefficients(x^3 + 2*x^2*y + 3*x*y^2 + 4*y^3, [x,y]; nargout=Val(2))
cyx, tyx = coefficients(x^3 + 2*x^2*y + 3*x*y^2 + 4*y^3, [y,x]; nargout=Val(2))
cxy = 4-element Vector{Num}:
 1
 2
 3
 4

txy = 4-element Vector{Num}:
     x^3
 (x^2)*y
 x*(y^2)
     y^3

cyx = 4-element Vector{Num}:
 4
 3
 2
 1

tyx = 4-element Vector{Num}:
     y^3
 x*(y^2)
 (x^2)*y
     x^3
多项式的所有系数

通过指定选项,查找多项式的所有系数,包括 0 的系数。返回的系数按从最高次数到最低次数的顺序排列。

找出 的所有系数。

using TySymbolicMath
@variables x
c = coefficients(3*x^2, "All")
c = 3-element Vector{Num}:
 3
 0
 0

如果您找到有关多个变量的系数并指定 "All",则 coefficients 返回变量的所有组合的系数。

找出 的所有系数和对应项。

using TySymbolicMath
@variables a b y
cxy, txy = coefficients(a*x^2 + b*y, [y x], "All"; nargout=Val(2))
cxy = 2×3 Matrix{Num}:
 0  0  b
 a  0  0

txy = 2×3 Matrix{Num}:
 (x^2)*y  x*y  y
     x^2    x  1

# 输入参数

p - 多项式
符号变量 | 符号表达式 | 符号函数

多项式,指定为符号变量、表达式或函数。该输入必须为 AbstractPolynomialLike 或 Num 类型。

X - 多项式变量
符号向量

多项式变量,指定为符号变量或数字组成的向量。

数据类型: Num

nargout - 输出格式的关键字参数
Val(1)(默认值) | Val(2)

nargout 是用于控制输出个数的关键字参数,指定为 Val(1) 或 Val(2),默认值为 Val(1),若需要输出系数和相应的项,请指定 nargout = Val(2)。

# 输出参数

c - 多项式系数
向量

多项式系数,返回为数值组成的向量。

数据类型: Int | Float | Num

t - 多项式的项
符号变量 | 符号向量 | 符号矩阵 | 符号数组

多项式的项,以符号数字、变量、表达式、向量、矩阵或多维数组的形式返回。如果只有一个系数和一个对应项,则以标量形式返回。

数据类型: Num

# 另请参阅

poly2sym | sym2poly