Método de sustituciones sucesivas

Al realizar cálculos en química analítica, suelen aparecer ecuaciones con exponentes fraccionarios que requieren de un método numérico apropiado para obtener la solución. En algunos casos se puede aplicar un método iterativo que consiste en transformar la ecuación y = f(x) en una función de la forma:

x = g(x) (9)


La ecuación 9 puede resolverse en n pasos con la fórmula iterativa xn = g(xn-1) a partir de un valor arbitrario inicial xo. La convergencia del método se asegura si se satisface la siguiente condición:

|g’(x)| < 1 (10)

En todos los casos, especialmente en aquellos donde no se logra convergencia, se recomienda la sustitución:

x = x - f(x) (11)

El valor de a se determina por sustitución de la ecuación 11 en la ecuación 10 y se demuestra que el método converge cuando 0 <f ’(x) < 2.

En el listado 5 se muestra la aplicación del método para hallar la raíz más pequeña de la ecuación x2 - 3x + ex - 2 = 0, con una estimación inicial xo = 0. El método del puntero muestra que la raíz se encuentra en el rango - 1 x 0 (se sugiere al lector verificarlo).

Listado 5 – sucesivas.m
% Método de sustituciones sucesivas
clear
clc
xo=0;
for i=1:100 % Número de iteraciones
x1=(xo^2+exp(xo)-2)/3;
% También: x1=xo+0.5*(xo^2-3*xo+exp(xo)-2);
x(i)=x1;
if abs((x1-xo)/x1)<=0.00001
fprintf('La raíz más pequeña corresponde a:\n\n');
fprintf('x=%8.6f\n',xo')
break
else
xo=x1;
end
end

Al correr el programa:

La raíz más pequeña corresponde a:

x=-0.390274
EDU»

Otra alternativa es realizar la sustitución mostrada en la ecuación 11:

x1 = xo - (xo2 - 3xo + exo - 2)
f ’(xo) = 2xo + exo - 3 = - 2, para xo = 0

Luego: 0 < -2< 2 , es decir -1 << 0 y = -0.5 es un valor apropiado.

Ejemplo 4. Solubilidad del PbCO3 en agua pura

Los equilibrios que se presentan en una solución acuosa saturada con PbCO3 son los siguientes:

PbCO3(s) Pb2++
+ H2O + OH-
+ H2O H2CO3 + H3O+
2 H2O H3O+ + OH-

La solubilidad del PbCO3 se expresa como:

 

[Pb2+] = SM = + + [H2CO3] (12)

Al resolver este sistema, si se supone que tanto la hidrólisis del como la ionización del agua no afectan de forma significativa la solubilidad, resulta la ecuación:

f(x) = [Pb2+]2 - - Kps = 0 (13)

La solución de la ecuación 13 se obtiene al utilizar el proceso recursivo que se deriva de la ecuación 9.

[Pb2+] = (14)

El proceso finaliza cuando |([Pb2+]n - [Pb2+]n-1) / [Pb2+]n-1| . Obsérvese el listado 6 el cual muestra cómo se hace la implementación del método.

Listado 6 – solub_PbCO3.m
clear
clc
% Datos
Kps=3.30e-14;
Kw=1.0e-14;
K2=4.7e-11;
% Valor de inicio del proceso iterativo
Pbo=0.10;
% Ciclo for para realizar el proceso n veces (n = 100)
for i=1:100
Pb=sqrt(sqrt(Kw*Kps/K2*Pbo)+Kps); % Ecuación 14
% Se verifica que la diferencia |(Pb – Pbo)/Pbo| < epsilon para terminar
if abs((Pb-Pbo)/Pbo) <= 0.00001
fprintf(‘Solubilidad molar: %8.3e mol/L\n’,Pbo);
break;
else
% El proceso se repite hasta que se cumpla la condición anterior
Pbo=Pb;
end
end

Al correr el programa:

Solubilidad molar: 1.926e-006 mol/L
EDU»