2011-09-16 10 views
6

Dadas las ecuacionesCreación de una matriz de los coeficientes de las ecuaciones

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

¿Cómo extraigo los coeficientes de x1, x2, x3 para formar una matriz?

Intenté usar CoefficientArrays pero la salida se dio como SparseArray.

+4

'Normal' se convierte un 'SparseArray' en una matriz ordinaria. – Heike

+0

Permítanme darle la bienvenida a StackOverflow y recordarles tres cosas que solemos hacer aquí: 1) A medida que reciba ayuda, trate de darle también ** respondiendo preguntas ** en su área de experiencia 2) ['Lea las preguntas frecuentes'] (http://tinyurl.com/2vycnvr) 3) Cuando vea buenas preguntas y respuestas, vote por ellas ['usando los triángulos grises'] (http://i.imgur.com/kygEP.png), ya que la credibilidad de el sistema se basa en la reputación que obtienen los usuarios al compartir sus conocimientos. Recuerde también aceptar la respuesta que resuelva mejor su problema, si lo hubiera, ['presionando el signo de la marca de verificación'] (http://tinyurl.com/4srwe2t)/- en este caso, Nasser's! –

Respuesta

11

Trate Normal

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

enter image description here

4

no soy muy aficionado de Normal

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

más corto, pero no es tan claro:

Coefficient[[email protected]#, {x1, x2, x3}] & /@ {eqn1, eqn2, eqn3} 
+0

¿Por qué la aversión a 'Normal'? – rcollyer

+3

@rcollyer Debido a que el documento no es lo suficientemente claro para mi gusto, y la frase 'Cuando los tipos de datos adicionales 'se introducen, Normal debe definirse para convertirlos, cuando sea posible, a expresiones normales. Es único en toda la documentación de Mma. Solo un síntoma de personalidad maníaca, supongo. –

Cuestiones relacionadas