2011-09-16 17 views
6

Date le equazioniCreazione di una matrice dai coefficienti delle equazioni

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

Come posso estrarre i coefficienti di x1, x2, x3 per formare una matrice?

Ho provato a utilizzare CoefficientArrays ma l'output è stato dato come SparseArray.

+4

'Normal' volontà convertire un 'SparseArray' in una matrice ordinaria. – Heike

+0

Consentitemi di darvi il benvenuto su StackOverflow e ricordare tre cose che facciamo di solito qui: 1) Come ricevete aiuto, provate a darlo anche ** rispondendo alle domande ** nella vostra area di competenza 2) ['Leggi le FAQs] (http://tinyurl.com/2vycnvr) 3) Quando vedi una buona sessione di domande e risposte, votala per "[usando i triangoli grigi"] (http://i.imgur.com/kygEP.png), come la credibilità di il sistema si basa sulla reputazione che gli utenti ottengono condividendo le proprie conoscenze. Ricorda inoltre di accettare la risposta che risolve meglio il tuo problema, se esiste, ['premendo il segno di spunta'] (http://tinyurl.com/4srwe2t)/- in questo caso Nasser's! –

risposta

11

Prova Normal

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

enter image description here

4

Io non sono appassionato di Normal

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

Shorter, ma non così chiaro:

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

Perché l'avversione a 'Normale'? – rcollyer

+3

@rcollyer Poiché il documento non è abbastanza chiaro per i miei gusti e la frase 'Quando vengono introdotti altri" tipi di dati ", Normale dovrebbe essere definito per convertirli, quando possibile, in espressioni normali." È univoco in tutta la documentazione Mma. Solo un sintomo di personalità maniaco, immagino. –

Problemi correlati