CoefficientArrays[polys,vars]
得到多项式 polys 的变量 vars 的系数数组.
CoefficientArrays
CoefficientArrays[polys,vars]
得到多项式 polys 的变量 vars 的系数数组.
更多信息和选项
- CoefficientArrays 给出包括对象 SparseArray 的列表,该对象可以用 Normal 转换成普通数组.
- 若 CoefficientArrays[polys,vars] 给出 {m0,m1,m2,…},则 polys 可重构为 m0+m1.vars+m2.vars.vars+…. »
- polys 中形如 lhs==rhs 的任一元素对应于多项式 lhs-rhs. »
- CoefficientArrays[polys,{form1,form2,…}] 取 polys 中与 formi 匹配的所有表达式作为变量.
- CoefficientArrays[polys] 等价于 CoefficientArrays[polys,Variables[polys]].
- CoefficientArrays[polys,vars] 的列表长度比 polys 的总次数高1.
- mi 是秩为
的稀疏数组. - 第一个元素 m0 与 polys 列表的长度相同.
- 若 polys 是一个多项式而不是列表,则 m0 也不是列表.
- 对于线性方程,Thread[polys==0] 的解由 LinearSolve[m1,-m0] 给出.
- 对于非线性方程,mi 不唯一. 在默认情况下,CoefficientArrays 只对变量与 vars 的次序相同的单项式赋予非零系数.
- CoefficientArrays[polys,vars,"Symmetric"->True] 使得所有的 mi 在其指针中对称. 结果一般较不稀疏.
范例
打开所有单元 关闭所有单元基本范例 (1)
CoefficientArrays[{a + x - y - z == 0, b + x + 2y + z == 0}, {x, y, z}]Normal[%]范围 (4)
CoefficientArrays[2x + 3y + 4z + 5, {x, y, z}]Normal[%]CoefficientArrays[{2x + 3y + 4z + 5, 6x + 7y + 8z + 9}, {x, y, z}]Normal[%]CoefficientArrays[{(x + y + 1) ^ 2, (x - y - 2) ^ 3}, {x, y}]Normal[%]CoefficientArrays[{c + x ^ 2 - z == 0, x ^ 2 + 2y + z ^ 2 == 0}, {x, y, z}]Normal[%]选项 (1)
"Symmetric" (1)
CoefficientArrays[a x ^ 2 + b x y + c y ^ 2 + d x + e y + f, {x, y}]//Normal当 "Symmetric"->True 时,CoefficientArrays 给出对称数组:
CoefficientArrays[a x ^ 2 + b x y + c y ^ 2 + d x + e y + f, {x, y}, "Symmetric" -> True]//Normal应用 (1)
转换线性方程为适合 LinearSolve 的数组:
eqns = {2x + 3y + 4z == 5, 9x + 8y + 7z == 6, x + 9y + 2z == 8};{b, m} = CoefficientArrays[eqns, {x, y, z}]LinearSolve[m, -b]{x, y, z} /. Solve[eqns, {x, y, z}]属性和关系 (3)
可使用 Dot (.) 重构多项式:
v = {x, y};f = Expand[(2x + 3y) ^ 2 + y ^ 3]c = CoefficientArrays[f, v]c[[1]] + c[[2]].v + c[[3]].v.v + c[[4]].v.v.v//Expandf = Expand[(2x + 3y) ^ 2 + y ^ 3]CoefficientArrays[f, {x, y}, "Symmetric" -> True]//NormalTable[D[f, {{x, y}, n}] / n!, {n, 0, 3}] /. {x -> 0, y -> 0}CoefficientArrays 给出根据总次数排序的多项式系数数组的列表:
f = (3x + 5y) ^ 4;ca = CoefficientArrays[f, {x, y}]CoefficientList 给出系数张量:
cl = CoefficientList[f, {x, y}]用 Coefficient 得到
的系数:
Coefficient[f, x y ^ 3]在 ca 中,此系数的位置是 a+b+1,随后是 a 个 1 和 b 个 2(1 和 2 表示第一个和第二个变量):
ca[[5, 1, 2, 2, 2]]在 cl 中, x^a y^b 的系数是位置在 {a+1,b+1} 的元素:
cl[[1 + 1, 1 + 3]]技术笔记
历史
2003年引入 (5.0)
文本
Wolfram Research (2003),CoefficientArrays,Wolfram 语言函数,https://reference.wolfram.com/language/ref/CoefficientArrays.html.
CMS
Wolfram 语言. 2003. "CoefficientArrays." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/CoefficientArrays.html.
APA
Wolfram 语言. (2003). CoefficientArrays. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/CoefficientArrays.html 年
BibTeX
@misc{reference.wolfram_2026_coefficientarrays, author="Wolfram Research", title="{CoefficientArrays}", year="2003", howpublished="\url{https://reference.wolfram.com/language/ref/CoefficientArrays.html}", note=[Accessed: 04-September-2026]}
BibLaTeX
@online{reference.wolfram_2026_coefficientarrays, organization={Wolfram Research}, title={CoefficientArrays}, year={2003}, url={https://reference.wolfram.com/language/ref/CoefficientArrays.html}, note=[Accessed: 04-September-2026]}