根据方程系数创建矩阵

时间:2011-09-16 10:24:49

标签: wolfram-mathematica

给出方程式

eqn1 = 5 x1 + 2 x2 + 3 x3 == 8
eqn2 = 4 x1 + 7 x2 + 9 x3 == 5
eqn3 = 6 x1 +   x2 + 9 x3 == 2

如何提取x1, x2, x3的系数以形成矩阵?

我尝试使用CoefficientArrays,但输出是SparseArray

2 个答案:

答案 0 :(得分:11)

尝试Normal

(Normal[CoefficientArrays[{eqn1, eqn2, eqn3}, {x1, x2, x3}]][[2]]) // MatrixForm

enter image description here

答案 1 :(得分:4)

我不喜欢Normal

Coefficient[# /. Equal[e_, _] -> e, {x1, x2, x3}] & /@ {eqn1, eqn2, eqn3}

更短但不太清楚:

Coefficient[First@#, {x1, x2, x3}] & /@ {eqn1, eqn2, eqn3}