Bilanciare una equazione chimica

Oggetto: 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:

{As}_2 S_3 + {NaNO}_3 + {Na}_2 {CO}_3\rightleftharpoons {Na}_2 {SO}_4 + {NaNO}_2 +{CO}_2 + {Na}_3 {AsO}_4

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:

\alpha_1 ({As}_2 S_3) + \alpha_2 ({NaNO}_3) + \alpha_3 ({Na}_2{CO}_3) \rightleftharpoons \alpha_4 ({Na}_2 {SO}_4) + \alpha_5({NaNO}_2) + \alpha_6 ({CO}_2) + \alpha_7 ({Na}_3{AsO}_4

Ora sottraiamo a destra e a sinistra i prodotti:

 \alpha_1 ({As}_2 S_3) + \alpha_2 ({NaNO}_3) +\alpha_3 ({Na}_2 {CO}_3)-\alpha_4 ({Na}_2 {SO}_4) -\alpha_5 ({NaNO}_2) - \alpha_6 ({CO}_2) - \alpha_7 ({Na}_3{AsO}_4) = 0

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:

\frac{1}{\alpha_1} [\alpha_1 ({As}_2 S_3) + \alpha_2 ({NaNO}_3) +\alpha_3 ({Na}_2 {CO}_3) -\alpha_4 ({Na}_2 {SO}_4) -\alpha_5 ({NaNO}_2) - \alpha_6 ({CO}_2) - \alpha_7 ({Na}_3{AsO}_4)] = 0

riscriviamo l’equazione in questo modo:

{As}_2 S_3 + \alpha'_2 ({NaNO}_3) + \alpha'_3 ({Na}_2{CO}_3) - \alpha'_4 ({Na}_2 {SO}_4)- \alpha'_5 ({NaNO}_2)- \alpha'_6 ({CO}_2) - \alpha'_7 ({Na}_3 {AsO}_4) = 0

quindi:

\alpha'_2 ({NaNO}_3) + \alpha'_3 ({Na}_2 {CO}_3) - \alpha'_4({Na}_2 {SO}_4) - \alpha'_5 ({NaNO}_2) - \alpha'_6 ({CO}_2) - \alpha'_7 ({Na}_3 {AsO}_4)  = - {As}_2 S_3

visto che i coefficienti sono 7,ma da determinare sono 7-1=6,scriviamo 6 bilanci di materia
uno per ognuno dei 6 elementi:

{Na} : \alpha'_2 + 2 \alpha'_3 - 2 \alpha'_4 - \alpha'_5 - 3 \alpha'_7 =0 \\ N : \alpha'_2 - \alpha'_5 = 0  \\ O : 3 \alpha'_2 + 3 \alpha'_3 - 4 \alpha'_4 - 2\alpha'_5 - 2 \alpha'_6 - 4 \alpha'_7 = 0 \\ C:\alpha'_3 - \alpha'_6 = 0 \\ S : - \alpha'_4 = - 3 \\ {As} : - \alpha'_7 = - 2

quello che abbiamo scritto è un sistema lineare del tipo:

Ax = b \\ x = A^{- 1} b

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:

sistema

(nella terza equazione il primo termine a primo membro è a2)

diamo ok,e avremo i nostri 6 coefficienti:

\alpha'_2 = 14\\ \alpha'_3 = 6\\ \alpha'_4 = 3\\ \alpha'_5 = 14\\ \alpha'_6 = 6\\ \alpha'_7 = 2

ora l’equazione è bilanciata:

{As}_2 S_3 + 14 {NaNO}_3 + 6 {Na}_2 {CO}_3 \rightleftharpoons 3 {Na}_2 {SO}_4 + 14 {NaNO}_2 + 6 {CO}_2 + 2 {Na}_3 {AsO}_4

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:

\frac{1}{2} {As}_2 S_3 + 7 {NaNO}_3 + 3 {Na}_2 {CO}_3\rightleftharpoons \frac{3}{2} {Na}_2 {SO}_4 + 7{NaNO}_2 + 3 {CO}_2 + {Na}_3 {AsO}_4

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.

Pubblicato in Chimica. Tag: , , , , , .

4 Risposte a “Bilanciare una equazione chimica”

  1. shaytan Dice:

    Cosa dire……..ottima cosa.
    P.S.:la mia preferita rimane la vecchia maniera
    Ciao

  2. z0rn Dice:

    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

  3. MrGorefest Dice:

    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?

  4. z0rn Dice:

    mmm se c’è qualcosa del genere non se sono a conoscenza,ma ne dubito fortemente

Lascia una Risposta