Bilanciare una equazione chimica
Ottobre 25, 2007 — z0rnOggetto: Bilanciamento di un’equazione chimica mediante algebra lineare
Difficoltà: Bassa
Software: Maxima,Scilab
Potrebbe capitare (speriamo di no) di dover bilanciare un’equazione chimica di questo tipo:
cioè un po’ più complicata delle usuali equazioni che troviamo nei testi di chimica generale.
Si potrebbe procedere come al solito,ovvero con un po’ di tentativi e un pizzico di
esperienza e in qualche minuto l’equazione è bilanciata.
Un metodo più ortodosso e che per esperienza personale non ho mai trovato in nessun libro
di chimica generale (anche perchè laborioso le prime volte,poi si fa anche ad occhio),è quello
che passa per la stesura delle equazioni di bilancio di materia.
Infatti si può sfruttare la condizione che il numero di atomi di un certo elemento rimane invariato
dopo la reazione,proprio per il fatto che gli atomi non subiscono alcuna trasformazione,ma si
riarrangiano in formazioni molecolari diverse.
Scriviamo l’equazione chimica in maniera da evidenziare i coefficienti stechiometrici:
Ora sottraiamo a destra e a sinistra i prodotti:
Procediamo alla stesura dei bilanci materiali:
Per un’equazione con S specie e quindi con S coefficienti da determinare,dobbiamo essere in
grado di scrivere almeno S-1 bilanci di materia,cioè nell’equazione devono comparire almeno
S-1 atomi diversi.
Perchè S-1?
Perchè è sempre possibile dividere ambo i membri dell’equazione per uno dei coefficienti
stechiometrici (in genere il primo) e quindi ridurre il numero di variabili da determinare da S a S-1:
riscriviamo l’equazione in questo modo:
quindi:
visto che i coefficienti sono 7,ma da determinare sono 7-1=6,scriviamo 6 bilanci di materia
uno per ognuno dei 6 elementi:
quello che abbiamo scritto è un sistema lineare del tipo:
di 6 equazioni nelle sei incognite rappresentate dai coefficienti stechiometrici,risolubile con
qualsiasi metodo conosciuto di algebra lineare.Le righe rappresentano gli elementi(equazioni)
e le colonne i coefficienti (incognite).
Il software di calcolo simbolico Maxima permette un veloce inserimento di matrici e una
risoluzione immediata del nostro sistema,specialmente se utilizziamo la GUI wxmaxima.
Dal menu “equazioni” scegliamo “risolvi sistema algebrico” ed inseriamo le equazioni
in questo modo:

(nella terza equazione il primo termine a primo membro è a2)
diamo ok,e avremo i nostri 6 coefficienti:
ora l’equazione è bilanciata:
ma se la vogliamo in una forma più “standard”,visto che quel 14 è proprio un pugno in un occhio,
dividiamo tutti i coefficienti per 2:
ci siamo.
Se vogliamo risolvere questo sistema con scilab,apriamo l’editor ed inseriamo la matrice dei coefficienti ed il vettore dei termini noti:
A=[1 2 -2 -1 0 -3;1 0 0 -1 0 0;3 3 -4 -2 -2 -4;0 1 0 0 -1 0;0 0 1 0 0 0; 0 0 0 0 0 -1]
b=[0 0 0 0 3 2]
dopodichè sempre nell’editor scriviamo:
x=linsolve(A,b’); (notare la trasposizione di b,perchè l’abbiamo definito come vettore riga,il ; serve da “echo off” in questo caso)
x=x./2 (il punto serve perchè l’operazione di divisione deve essere fatta per ogni componente)
ora premiamo ctrl+l per caricare il contenuto dell’editor in scilab ,vengono promptati la matrice A,il vettore b e il vettore soluzione x:

e ci siamo.

Ottobre 30, 2007 alle 5:33 pm
Cosa dire……..ottima cosa.
P.S.:la mia preferita rimane la vecchia maniera
Ciao
Ottobre 31, 2007 alle 8:26 am
Grazie,in effetti questo metodo è un po’ macchinoso e non vale la pena adottarlo per semplici equazioni… forse per le redox.. (ma bisogna inserire anke i bilanci elettronici)… ci lavorerò su..
Ciao
Gennaio 12, 2008 alle 2:37 pm
esiste qualche programma per Ubuntu(ma in generale per gnu/linux) che permetta di ottenere la nomenclatura di composti e disegnarne anche la molecola automaticamente data la formula?
Gennaio 12, 2008 alle 3:01 pm
mmm se c’è qualcosa del genere non se sono a conoscenza,ma ne dubito fortemente