Sunteți pe pagina 1din 37

INTEGRACIÓN NUMÉRICA

1) INTRODUCCIÓN:

Una vez que se ha determinado un polinomio pn(x)* de manera que aproxime satisfactoriamente

una función dada f(x) sobre un intervalo de interés, puede esperarse que al diferenciar pn(x) o

integrarla en forma definida, también aproxime satisfactoriamente la derivada o la integral

definida correspondientes a f(x). No obstante, si se observa la figura 6.2 donde aparece la gráfica

de un polinomio pn(x) que aproxima la curva que representa la función f(x) puede anticiparse

que, aunque la desviación de pn(x) y f(x) en el intervalo [xo, xn] es pequeña, las pendientes de las

curvas que las representan pueden diferir considerablemente; esto es, la diferenciación numérica

tiende a ampliar pequeñas discrepancias o errores del polinomio de aproximación.

Por otro lado, en el proceso de integración (véase figura 6.3), el valor de


xn
∫ f(x)dx
xo

Está dado por el área bajo la curva de f(x), mientras que la aproximación
xn
∫ pn(x) dx
xo

Está dada por el área bajo la curva de pn(x), y los errores que se cometen en diferentes segmentos

del intervalo tienden a cancelarse entre sí o a reducirse. Por esto, el error total a integrar pn(x)

entre xo y xn puede ser muy pequeño, aun cuando pn(x) no sea buena aproximación de f(x). En

resumen: si la aproximación polinomial pn(x) es buena, la integral


xn
∫ pn(x) dx
xo
xn 𝑑
Puede dar una aproximación excelente de ∫xo f(x)dx. Por otro lado, 𝑑𝑥 [pn(x)], que da la

𝑑
pendiente de la línea tangente a pn(x) puede variar en magnitud respecto a 𝑑𝑥 [f(x)]

significativamente, aunque pn(x) sea una buena aproximación a f(x). Por lo tanto, la

diferenciación numérica debe tomarse con el cuidado y la reserva que lo amerita; particularmente

cuando los datos obtenidos experimentalmente puedan contener errores significativos.

Los métodos de integración comúnmente usados pueden clasificarse en dos grupos: los que

emplean los valores dados de la función f(x) en abscisas desigualmente espaciadas, determinadas

por ciertas propiedades de familias de polinomios ortogonales, conocidas como fórmulas de

cuadratura gaussiana.
2) MÉTODO DE NEWTON-COTES:

Para estimar I= f(x)dx, los métodos de Newton-Cotes funcionan, en general, en dos pasos:

1. se divide el intervalo [a,b] en n intervalos de igual amplitud, cuyos valores extremos son

sucesivamente.

𝑏−𝑎
xi=xo+i( ), i=0,1,2,..,n
𝑛

para queda en la nueva notación xo=a y xn=b;

2. Se aproxima f(x) por un polinomio pn(x) de grado n, y se integra para obtener la

aproximación de I.

Es evidente que se obtendrán valores diferentes de I para distintos valores de n, como se muestra

a continuación

2.1) MÉTODO TRAPEZOIDAL:

En el caso n=1, el intervalo de integración [a,b] queda tal cual y xo=a, x1=b; la aproximación

polinomial de f(x) es una línea recta ( un polinomio de primer grado p1(x)) y la aproximación

a la integral es el área de trapezoide bajo esta línea recta, como se ve en la figura 6.4. Este

método de integración se llama regla trapezoidal.

Ejemplo 6.1: (pág. 456)

Uso del algoritmo trapezoidal.

5
a) aproxime A2= ∫0 (2 + 3𝑥)𝑑𝑥

4
b) aproxime A3= ∫−2(1 + 2𝑥 + 3𝑥 2 )𝑑𝑥

𝑝𝑖/2
c) aproxime A4= ∫0 𝑠𝑒𝑛𝑥 𝑑𝑥
PARTE A
disp('*********************************************************')
disp(' INTEGRACIÓN NÚMERICA ')
disp(' MÉTODOS DE NEWTON-COTES ')
disp(' MÉTODO TRAPEZOIDAL SIMPLE ')
disp('*********************************************************')
%Ejm 6.1 de Nieves-Dominguez
a=input('Limite inferior de la Integral: ');%Valor de a=0
b=input('Limite superior de la Integral: ');%Valor de b=5
x=linspace(a,b,500);
y=(2+(x.*3));
syms K;
syms n;
D=(b-a)/n;
E=a+((K-1)*D)+(D/2);
F=(2+(E.*3))*D;

f=symsum(F,K,1,n);
A=limit(f,n,inf)

area(x,y);
grid on;
title('Método Trapezoidal Simple');
xlabel('Abscisas');
ylabel('Ordenadas');
legend('f(x)=2+3x');

SOLUCIÓN:

Limite inferior de la Integral: 0


Limite superior de la Integral: 5

RESPUESTA:

A = 95/2
PARTE B
disp('**************************************************')
disp(' INTEGRACIÓN NÚMERICA ')
disp(' MÉTODOS DE NEWTON-COTES ')
disp(' MÉTODO TRAPEZOIDAL SIMPLE ')
disp('**************************************************')
%%
%Ejm 6.1 de Nieves-Dominguez
a=input('Límite inferior de la Integral: ');%Valor de a=-2
b=input('Límite superior de la Integral: ');%Valor de b=4
x=linspace(a,b,500);
y=(1+(x.*2)+((x.^2)*3));
syms K;
syms n;
D=(b-a)/n;
E=a+((K-1)*D)+(D/2);
F=(1+(E.*2)+((E.^2)*3))*D;

f=symsum(F,K,1,n);
A=limit(f,n,inf)

area(x,y);
grid on;
title('Método Trapezoidal Simple');
xlabel('Abscisas');
ylabel('Ordenadas');
legend('f(x)=1+2x+3x^2');

SOLUCIÓN:

Limite inferior de la Integral: -2


Limite superior de la Integral: 4

RESPUESTA:

A = 90
PARTE C
disp('*********************************************************')
disp(' INTEGRACIÓN NÚMERICA ')
disp(' MÉTODOS DE NEWTON-COTES ')
disp(' MÉTODO TRAPEZOIDAL SIMPLE ')
disp('*********************************************************')
%%
%Ejm 6.1 de Nieves-Domínguez
a=input('Limite inferior de la Integral: ');%Valor de a=0
b=input('Limite superior de la Integral: ');%Valor de b=pi/2
x=linspace(a,b,500);
y=sin(x);
syms K;
syms n;
D=(b-a)/n;
E=a+((K-1)*D)+(D/2);
F=sin(E)*D;

f=symsum(F,K,1,n);
A=limit(f,n,inf)

area(x,y);
grid on;
title('Método Trapezoidal Simple');
xlabel('Abscisas');
ylabel('Ordenadas');
legend('f(x)=sen x');

SOLUCIÓN:
Límite inferior de la Integral: 0
Límite superior de la Integral: pi/2
RESPUESTA:
A=1
FUNCIÓN trapLD

function I=trapLD(g,a,b,n)
close all
h=(b-a)/n;
f=inline(g);
s=0;
for i=1:n
s=h/2*(f(a+(i-1)*h)+f(a+(i)*h))+s;
end
fprintf('La Integral de "%s" de %.2f hasta %.2f es: %.8f \n',g,a,b,s)
x=linspace(a,b,n);
y=eval(g);
bar(x,y)
xlabel('Eje X')
ylabel('Eje Y')
title('Método Trapezoidal Simple','color','m')

SOLUCIÓN DE LOS EJERCICIOS CON ALGORITMO

PARTE A

disp('*********************************************************')
disp(' INTEGRACIÓN NÚMERICA ')
disp(' MÉTODOS DE NEWTON-COTES ')
disp(' MÉTODO TRAPEZOIDAL SIMPLE ')
disp('*********************************************************')
trapLD('2+x.*3',0,5,50)

SOLUCIÓN:

La Integral de "2+x.*3" de 0.00 hasta 5.00 es: 47.50000000


PARTE B

disp('*********************************************************')
disp(' INTEGRACIÓN NÚMERICA ')
disp(' MÉTODOS DE NEWTON-COTES ')
disp(' MÉTODO TRAPEZOIDAL SIMPLE ')
disp('*********************************************************')
trapLD('2+(x.*2)+((x.^2)*3)',-2,4,50)

SOLUCIÓN:

La Integral de "2+(x.*2)+((x.^2)*3)" de -2.00 hasta 4.00 es: 96.04320000

FUNCIÓN 1 (MTS)
f=@(x)(2+3*x);
a=input('Limite inferior de la Integral: ');
b=input('Limite superior de la Integral: ');
n=input('Ingrese el número de particiones:');
h=((b-a)/n);
area=0;
while (a<b)
area=area+((h/2)*(f(a)+f(a+h)));
a=a+h;
end
fprintf('El área bajo la curva es: %f',area)
FUNCIÓN 2 (MTS)
f=@(x)(2+(2*x)+(3*x^2));
a=input('Limite inferior de la Integral: ');
b=input('Limite superior de la Integral: ');
n=input('Ingrese el número de particiones:');
h=((b-a)/n);
area=0;
while (a<b)
area=area+((h/2)*(f(a)+f(a+h)));
a=a+h;
end
fprintf('El área bajo la curva es: %f',area)
FUNCIÓN 3 (MTS)
f=@(x)(sin(x));
a=input('Limite inferior de la Integral: ');
b=input('Limite superior de la Integral: ');
n=input('Ingrese el número de particiones:');
h=((b-a)/n);
area=0;
while (a<b)
area=area+((h/2)*(f(a)+f(a+h)));
a=a+h;
end
fprintf('El área bajo la curva es: %f',area)
2.2) MÉTODO DE SIMPSON:

a) La cantidad de calor necesaria para elevar la temperatura de 1000gr de H2O desde –


1000C hasta 2000C se puede evaluar de la siguiente forma:
𝑇2
∆𝐻 = 𝑚 ∫ 𝐶𝑝(𝑇)𝑑𝑇
𝑇1

𝐶𝑝 = 2.64 × 10−7 𝑇 2 + 1.56 × 10−4 𝑇 + 0.132

Determinar ∆𝐻 empleando la técnica del trapecio y la regla de Simpson.


SOLUCIÓN
function entalpia13
clc,
fprintf('CALCULO DE INTEGRALES POR LA REGLA DE SIMPSON 1/3\n\n')
a=input('Digite el valor del límite inferior (a): ');
b=input('Digite el valor del límite superior (a): ');
n=input('Digite un número par de intervalos(n): ');
h=(b-a)/n;
T=a:h:b;
f=funcion(T);
if n>2
Delta_H=h/3*(f(1)+4*sum(f(2:2:n-1))+2*sum(f(3:2:n-1))+f(n+1));
else
Delta_H=h/3*(f(1)+4*f(2)+f(3));
end
% Imprimiendo resultado
fprintf('\n\n El valor de la integral es: I=%12.6f KJ\n',Delta_H/1000);
% Trazo la gráfica de la función en el intervalo [a,b]
h2=(b-a)/100;
Tc=a+(0:100)*h2;
fc=funcion(Tc);
plot(Tc,fc,'r');
hold on
plot(T,f)
stem(T,f)
function y=funcion(T)
cp=2.64*10e-7.*T.^2+1.56*10e-4.*T+0.132; % calor específico, J/g*K
m=1000; % masa del agua, gr
y=m.*cp; % valor de la entalpía
RESULTADO
CALCULO DE INTEGRALES POR LA REGLA DE SIMPSON 1/3

Digite el valor del límite inferior (a): -1000


Digite el valor del límite superior (a): 2000
Digite un número par de intervalos(n): 4

El valor de la integral es: I= 4449.000000 KJ


b) Los datos que se muestra a continuación corresponden a la reacción de tipo. 𝐴 → 𝐵 en un
reactor tubular

La ecuación de diseño para este tipo de reactor es de:

𝑋
1
𝑉 = 𝐹 × 𝐴0 × ∫ 𝑑𝑥
0 −𝑟𝐴

V: volumen (m3)
FA0: flujo de alimentación A
X: conversión el flujo molar de alimentación es de 2 mol/ min. El 80 % es de A y la diferencia de
inertes.
Determine el volumen del reactor para una conversión de 90% de A

SOLUCIÓN
function reactor13
clc,
fprintf('CALCULO DE INTEGRALES POR LA REGLA DE SIMPSON 1/3\n\n')
a=input('Digite el valor del límite inferior (a): ');
b=input('Digite el valor del límite superior (a): ');
n=input('Digite un número par de intervalos(n): ');
h=(b-a)/n;
x=linspace(a,b,9);
f=funcion(x);
if n>2
V=h/3*(f(1)+4*sum(f(2:2:n-1))+2*sum(f(3:2:n-1))+f(n+1));
else
V=h/3*(f(1)+4*f(2)+f(3));
end
% Imprimiendo resultado
fprintf('\n\n El valor de la integral es: V=%12.6f m^3\n',V);

function y=funcion(x)
x=[0,0.1,0.2,0.3,0.4,0.5,0.7,0.8,0.85]; % Conversión
factor=[0.0053,0.0052,0.005,0.0045,0.0033,0.0025,0.0018,0.00125,0.001];
FAo=2; % Flujo molar de alimentación, mol/min
y=FAo.*factor.^(-1);
RESULTADO
CALCULO DE INTEGRALES POR LA REGLA DE SIMPSON 1/3

Digite el valor del límite inferior (a): 0


Digite el valor del límite superior (a): 0.9
Digite un número par de intervalos(n): 4

El valor de la integral es: V= 249.141048 m^3


c) La reacción de saponificación de acetato de etilo en medio alcalino se conduce en fase
homogénea de acuerdo con la siguiente ecuación.

Donde la velocidad de reacción es de:

−𝑑𝐶𝐴 −5817
𝑟𝐴 = = 𝑘𝐶𝐴 𝐶𝐵 , 𝑘 = 2.028 × 109 × 𝑒 𝑇
𝑑𝑡

Constante de velocidad de reacción


El tiempo de reacción para un reactor discontinuo es calculado mediante la siguiente reacción.
𝐶𝐴
1
𝑡=∫ 𝑑𝐶
𝐶𝐴0 𝑟𝐴 𝐴

Dónde: 𝐶𝐴 = 𝐶𝐴0 (1 − 𝑋𝐴 ); 𝐶𝐵 = 𝐶𝐵0 − 𝐶𝐴𝑂 𝑋𝐴


Si la concentración inicial de A y B es de 0,8 mol-g/ L . Cuál es el tiempo para alcanzar una
conversión de 95%? A 500K
SOLUCIÓN
function reaccion13
clc,
fprintf('CALCULO DE INTEGRALES POR LA REGLA DE SIMPSON 1/3\n\n')
XA=0.95;
CAo=0.8;
a=CAo; % Límite inferior de la integral
b=CAo*(1-XA); % Límite inferior de la integral
n=input('Digite un número par de intervalos(n): ');
h=(b-a)/n;
CA=a:h:b;
f=funcion(CA);
if n>2
t=h/3*(f(1)+4*sum(f(2:2:n-1))+2*sum(f(3:2:n-1))+f(n+1));
else
t=h/3*(f(1)+4*f(2)+f(3));
end
% Imprimiendo resultado
fprintf('\n\n El valor de la integral es: t=%12.6f s\n',t);
% Trazo la gráfica de la función en el intervalo [a,b]
h2=(b-a)/100;
CAc=a+(0:100)*h2;
fc=funcion(CAc);
plot(CAc,fc,'r');
hold on
plot(CA,f)
stem(CA,f)
function y=funcion(CA)
T=500; % Temperatura, K
k=2.028*10e9*exp(-5817/T); % Constante de velocidad de reacción
XA=0.95; % Coversión de A
CAo=0.8; % Concentración inicial de A, mol-g/L
CBo=0.8; % Concentración inicial de B, mol-g/L
CB=CBo-CAo*XA;
ra=k*CA*CB;
y=-1./(ra);

RESULTADO

CALCULO DE INTEGRALES POR LA REGLA DE SIMPSON 1/3

Digite un número par de intervalos(n): 4

El valor de la integral es: t= 0.000331 s


2.3) MÉTODO TRAPEZOIDAL COMPUESTO

a) Como parte de un cálculo de diseño es necesario evaluar el cambio de entalpia de un


vapor orgánico raro que se enfriara de 1800 °C a 150°C en un intercambiador de
calor.
La capacidad calorífica se ajusta a la siguiente ecuación:
0.5 )
𝐶𝑝 = 0.235 × 𝑒 (0.473×𝑇

Determinar la el cambio de entalpia

∆𝐻 = ∫ 𝐶𝑝 𝑑𝑇 , [𝑐𝑎𝑙⁄𝑔𝑟]

SOLUCIÓN
clc,clear all
%Universidad Nacional de Trujillo
%Profesor : DR.Ing Guillermo Evangelista
%Libro: Nieves y Dominguez 3era edición
fprintf('\t\t***********************************')
fprintf('\n\t\t* Universidad Nacional de Trujillo*')
fprintf('\n\t\t* FACULTAD DE INGENIERIA QUIMICA *')
fprintf('\n\t\t***********************************')
fprintf('\n\t\tProfesor : DR.Ing Guillermo Evangelista')
fprintf('\n\t\tLibro: Nieves y Dominguez 3era edición')
fprintf('\n\t\tTEMA:INTEGRACION NUMERICA')
fprintf('\n\t\tMÉTODO DEL TRAPEZIO COMPUESTO')
fprintf('\n\t\tLa funcion es :0.235*exp(0.0473*x^(1/2))')
fprintf('\n\n N aproxi. al área Error en porcentaje')
fprintf('\n======================================\n')
a=1800;b=150;
for i=1:11
n=2^(i-1);
h=(b-a)/n;x=a;s=0;
if n>1
for j=1:n-1
x=x+h;
f=0.235*exp(0.0473*x^(1/2));
s=f+s;
end
end
fa=0.235*exp(0.0473*a^(1/2));
fb=0.235*exp(0.0473*b^(1/2));
s=h/2*(fa+2*s+fb);
e=abs((-1731-s)/-1731*100);

fprintf('%4d \t %8.6f \t\t %8.6f\n',n,s,e)

end
fprintf('La entalpia del vapor es %.6f cal/g \n',s)
RESULTADO
***********************************
* Universidad Nacional de Trujillo*
* FACULTAD DE INGENIERIA QUIMICA*
***********************************
Profesor : DR.Ing Guillermo Evangelista
Libro: Nieves y Dominguez 3era edición
TEMA:INTEGRACION NUMERICA
MÉTODO DEL TRAPEZIO COMPUESTO
La funcion es :0.235*exp(0.0473*x^(1/2))

N aproxi. al área Error en porcentaje


======================================
1 -1788.310557 3.310835
2 -1743.237178 0.706943
4 -1733.764933 0.159730
8 -1731.729833 0.042163
16 -1731.266385 0.015389
32 -1731.155052 0.008957
64 -1731.127573 0.007370
128 -1731.120726 0.006974
256 -1731.119016 0.006876
512 -1731.118589 0.006851
1024 -1731.118482 0.006845
La entalpia del vapor es -1731.118482 cal/g
2.4) MÉTODO DE SIMPSON COMPUESTO:

EJEMPLO:

1.- En un proceso industrial se requiere vapor a 650 K. La planta cuenta con vapor de agua
inicialmente a 400 K, se desea calcular la cantidad de calor que se debe suministrar a presión
constante a cierta cantidad de vapor para llevarlo las condiciones necesarias de trabajo. El cp del
vapor de agua es:

Cp= 32.24+0.001924*T+1.055E-5*T^2-3.596E-9*T^3 (en KJ/Kmol.K)

𝑇𝑓
Q=∫𝑇𝑖 𝐶𝑝 𝑑𝑇

SOLUCIÓN:
clc,clear all
disp('Método de simpson compuesto')
disp('CÁLCULO DE LA CANTIDAD DE CALOR A SUMINISTRAR')
disp(' ')
disp('------------------------')
disp(' CALOR ')
disp(' (KJ/mol) ')
disp('------------------------')
a=400; b=600;
for i=1:12
n=2^(i-1);
S1=0; S2=0;
T=a; h=(b-a)/n;
Q=32.24+0.001924*T+1.055E-5*T^2-3.596E-9*T^3 ;
if n>2
for j=1:n/2-1
T=T+h;
Q=32.24+0.001924*T+1.055E-5*T^2-3.596E-9*T^3;
S1=S1+Q;
T=T+h;
S2=S2+Q;
end
end
T=T+h;
S1=S1+Q;
Qa=32.24+0.001924*a+1.055E-5*a^2-3.596E-9*a^3;
Qb=32.24+0.001924*b+1.055E-5*b^2-3.596E-9*b^3;
S=h/3*(Qa+4*S1+2*S2+Qb);
fprintf('%4d %8.2f \n',n,S)
end
disp('--------------------------')
disp(' ')
fprintf('El Calor a suministrar al vapor de agua es %.0f KJ/kmol \n',S)

SOLUCIÓN:
Método de simpson compuesto
CÁLCULO DE LA CANTIDAD DE CALOR A SUMINISTRAR
------------------------
CALOR
(KJ/mol)
-----------------------
1 13916.86
2 6958.43
4 7000.47
8 7052.30
16 7070.00
32 7076.54
64 7079.20
128 7080.37
256 7080.92
512 7081.18
1024 7081.31
2048 7081.37
-------------------------
El Calor a suministrar al vapor de agua es 7081 KJ/kmol
2.-En una reacción química, la concentración de un reactante en un reactor Batch viene dado por
la siguiente expresión:

𝑡𝑓
C(t)=∫𝑡𝑜 1/sqrt(2 ∗ pi) ∗ exp(−t^2/2) 𝑑𝑡

Donde C(t) es la concentración del reactante ( mol/L) , t el tiempo (min). Calcular la


concentración del reactante transcurridos 15 minutos desde que empezó la reacción química.

SOLUCIÓN:
clc,clear all
disp('Método de simpson compuesto')
disp('CÁLCULO DE LA CONCENTRACIÓN DEL REACTANTE')
disp(' ')
disp('---------------------------------')
disp('n CONCENTRACIÓN DEL REACTANTE ')
disp(' (MOL/L) ')
disp('---------------------------------')
a=0; b=15;
for i=1:12
n=2^(i-1);
S1=0; S2=0;
t=a; h=(b-a)/n;
C=1/sqrt(2*pi)*exp(-t^2/2);
if n>2
for j=1:n/2-1
t=t+h;
C=1/sqrt(2*pi)*exp(-t^2/2);
S1=S1+C;
t=t+h;
S2=S2+C;
end
end
t=t+h;
S1=S1+C;
Ca=1/sqrt(2*pi)*exp(-a^2/2);
Cb=1/sqrt(2*pi)*exp(-b^2/2);
S=h/3*(Ca+4*S1+2*S2+Cb);
fprintf('%4d %8.6f \n',n,S)
end
disp('------------------------------')
disp(' ')
fprintf('L a concentración del reactante transcurridos 15 min es : %.4f mol/L \n',S)

SOLUCIÓN
Método de simpson compuesto
CÁLCULO DE LA CONCENTRACIÓN DEL REACTANTE

---------------------------------
n CONCENTRACIÓN DEL REACTANTE
(MOL/L)
---------------------------------
1 9.973557
2 4.986779
4 0.503085
8 0.507288
16 0.621026
32 0.562335
64 0.531167
128 0.515584
256 0.507792
512 0.503896
1024 0.501948
2048 0.500974
------------------------------

L a concentración del reactante transcurridos 15 min es : 0.5010 mol/L


3) ANÁLISIS DEL ERROR DEL TRUNCAMIENTO EN LA APROXIMACIÓN

TRAPEZOIDAL

En esta oportunidad analizamos el error en una integración trapezoidal compuesta iniciemos

por tener en cuenta el i–esimo trapezoide, consideremos los puntos xi-1 y xi con una distancia

de h=(b-a)/n, además supongamos que F(x) es la primitiva del integrando f(x) luego

entonces podemos integrar f(x) en el intervalo [xi-1, xi ] es decir:


𝑥𝑖
𝐼=∫ 𝑓(𝑥)𝑑𝑥 = 𝐹(𝑥𝑖 ) − 𝐹(𝑥𝑖−1 ) … (1)
𝑥𝑖−1

Por otro lado la aproximación numérica de la integral usando el método del Trapezoide es:


𝑇𝑖 = [𝑓(𝑥𝑖−1 ) + 𝑓(𝑥𝑖 )] … (2)
2

Suponiendo que no existe errores en el cálculo entonces se puede suponer que:

𝐸𝑖 = 𝑇𝑖 − 𝐼𝑖 … (3)

Aplicamos la serie de Taylor alrededor de x= xi en f(x) de tal manera que obtenemos f(xi-1).

(𝑥𝑖−1 − 𝑥𝑖 )2 ′′
𝑓(𝑥𝑖−1 ) = 𝑓(𝑥𝑖 ) + (𝑥𝑖−1 − 𝑥𝑖 )𝑓 ′ (𝑥𝑖 ) + 𝑓 (𝑥𝑖 ) + ⋯
2!

Como h=xi-xi-1

(ℎ)2 ′′
𝑓(𝑥𝑖−1 ) = 𝑓(𝑥𝑖 ) − ℎ𝑓 ′ (𝑥𝑖 ) + 𝑓 (𝑥𝑖 ) + ⋯ … (4)
2!

ℎ (ℎ)2 ′′
𝑇𝑖 = [2𝑓(𝑥𝑖 ) − ℎ𝑓 ′ (𝑥𝑖 ) + 𝑓 (𝑥𝑖 ) + ⋯ ]
2 2!

ℎ2 ′ (ℎ)3 ′′
𝑇𝑖 = [ℎ𝑓(𝑥𝑖 ) − 𝑓 (𝑥𝑖 ) + 𝑓 (𝑥𝑖 ) + ⋯ ] … (5)
2 2 ∗ 2!

De manera análoga tenemos para F(xi-1 )

(ℎ)2 ′′ ℎ3
𝐹(𝑥𝑖−1 ) = 𝐹(𝑥𝑖 ) − ℎ𝐹 ′ (𝑥𝑖 ) + 𝐹 (𝑥𝑖 ) − 𝐹 ′′′ (𝑥𝑖 ) … ] … (6)
2! 3!
Entonces consideramos en (1) se tiene,

ℎ2 ′′ (ℎ)3 ′′′
𝐼𝑖 = ℎ𝐹 ′ (𝑥𝑖 ) − 𝐹 (𝑥 )
𝑖 + 𝐹 (𝑥𝑖 ) + ⋯ ]
2 3!

Pero se tiene que 𝑓(𝑥) = 𝐹 ′ (𝑥); 𝑓 ′ (𝑥) = 𝐹 ′′ (𝑥); 𝑓 ′′ (𝑥) = 𝐹 ′′′ (𝑥); … ,

ℎ2 ′′ (ℎ)3 ′′′
𝐼𝑖 = ℎ𝐹 ′ (𝑥𝑖 ) − 𝐹 (𝑥𝑖 ) + 𝐹 (𝑥𝑖 ) + ⋯ ] … (7)
2 3!

Considerando (7) y (6) en (5) se tiene,

ℎ2 ′ (ℎ)3 ′′ ℎ2 ′ (ℎ)3 ′′
𝐸𝑖 = [ℎ𝑓(𝑥𝑖 ) − 𝑓 (𝑥𝑖 ) + 𝑓 (𝑥𝑖 )] − [ℎ𝑓(𝑥𝑖 ) − 𝑓 (𝑥𝑖 ) + 𝑓 (𝑥𝑖 )]
2 3! 2 3!

1 1
𝐸𝑖 = [ − ] ℎ3 𝑓 ′′ (𝑥𝑖 ) + 𝑚𝑎𝑠 𝑡𝑒𝑟𝑚𝑖𝑛𝑜𝑠 𝑒𝑛 ℎ4 , … ]
4 6

Considerando que h<<1 los términos h4, h5,... pueden despreciarse de tal manera que el

error de truncamiento del i-esimo trapezoide es dado por.

ℎ3 ′′
𝐸𝑖 ≈ 𝑓 (𝑥𝑖 ) … (8)
12

Si además |𝑓 ′′ (𝑥)| ≤ 𝑀 para 𝑎 ≤ 𝑥 ≤ 𝑏, entonces,

ℎ3
|𝐸𝑖 | ≤ 𝑀 , de donde se tiene para n trapezoides
12

𝑛ℎ3 ℎ2 ℎ2
|𝐸𝑖 | ≤ 𝑀 = 𝑛ℎ 𝑀 = (𝑏 − 𝑎) 𝑀 … (9)
12 12 12

Consecuentemente para fines de análisis el error de truncamiento en el método trapezoidal se

expresa así.

𝑏 𝑛−1

∫ 𝑓(𝑥)𝑑𝑥 = [𝑓(𝑥0 ) + 2 ∑ 𝑓(𝑥𝑖 ) + 𝑓(𝑥𝑛 )] + 𝑜(ℎ2 ) … (10)
𝑎 2
𝑖=1
4) EXTRACCIÓN DE RICHARDSON. INTEGRACIÓN DE ROMBERG:

Con el nombre de extrapolación de Richardson se conoce a un conjunto de técnicas que

generan mejores aproximaciones a los resultados buscados o aproximaciones equivalentes a

métodos de alto orden, a partir de las aproximaciones obtenidas por medio de algún método de

bajo orden y pocos cálculos. Dichas técnicas están basadas en el análisis del error de

truncamiento, cuya aplicación a la integración numérica se presenta a continuación.

Supóngase que el error de truncamiento de cierto algoritmo de aproximación de

𝑏
𝐼 = ∫ 𝑓(𝑥)𝑑𝑥
𝑎

Se expresa

𝐸 = 𝑐 ℎ𝑟 𝑓 (𝑟) (𝜉)

Donde c es independiente de h, r es un entero positivo y 𝜉 u punto desconocido de (a, b).

Luego de obtener dos aproximaciones de I, con tamaños de paso distintos: ℎ1 𝑦 ℎ2 , de

llamar a dichas aproximaciones de 𝐼1 𝑦 𝐼2 , respectivamente, y despreciar errores de redondeo,

se puede escribir

𝐼 − 𝐼1 = 𝑐 ℎ1𝑟 𝑓 (𝑟) (𝜉1 )

𝐼 − 𝐼2 = 𝑐 ℎ2𝑟 𝑓 (𝑟) (𝜉2 )

Estas dos últimas ecuaciones se dividen miembro a miembro y como 𝑓 (𝑟) (𝜉1 ) y 𝑓 (𝑟) (𝜉2 )

son prácticamente iguales, se tiene


𝐼 − 𝐼1 𝑐 ℎ1𝑟 𝑓 (𝑟) (𝜉1 )
=
𝐼 − 𝐼2 𝑐 ℎ2𝑟 𝑓 (𝑟) (𝜉2 )

De donde

ℎ1𝑟 𝐼2 − ℎ2𝑟 𝐼1
𝐼= (6.20)
ℎ1𝑟 − ℎ2𝑟

Si en particular ℎ2 = ℎ1 ⁄2, la ecuación 6.20 se simplifica a

2𝑟 𝐼2 − 𝐼1
𝐼= 𝑟 (6.21)
2 −1

Este proceso, conocido como integración de Romberg, es efectivo cuando 𝑓 (𝑟) (𝑥) no

varía bruscamente en (a, b), y no cambia de signo en dicho intervalo. En estos casos as

ecuaciones 6.20 y 6.21 permiten obtener una mejor aproximación a I a partir de 𝐼1 𝑦 𝐼2 , sin

repetir el proceso de integración y con cálculos breves.

5) CUADRATURA DE GAUSS:

Ejemplo 6.3

fprintf('\n\n *(Ejemplo 6.3) La fugacidad del butano a 40 atm y 200 ºC*')


fprintf('\n--------------------------------------------------------------\n')
% intervalos de integracion:
a=0;
b=40;
% coeficientes
w1=1;
w2=w1;
%Expresion de Gauss-Legendre para 2 puntos
t1=-(b-a)/2*1/sqrt(3)+(b+a)/2
t2=(b-a)/2*1/sqrt(3)+(b+a)/2
% interpolacion por el polinomio de lagrange
P=[5 8 15 19 25 30 35 40]; z=[0.937 0.887 0.832 0.800 0.781 0.754 0.729 0.697];
x=t2;
y=t1;
Tabla=[P;z];
disp(' ')
disp(' P z')
disp(' (atm) ')
disp(' ================')
fprintf('%10.0f % 7.2f\n',Tabla)
disp(' ----------------')
disp(' ')
n=length(P); %longitud del vector
% validar longitud igual
if length(z)~=n, error('x e y deben ser la misma longitud');end;
xi=0;
yi=0;
%calculo de los n factores de lagrange
for i=1:n
% cada factor es el producto (x-xj)/(xi-xj) donde i~=J
producto1=z(i);
producto2=z(i);
for j=1:n
if i~=j
producto1=producto1*(x-P(j))/(P(i)-P(j));
producto2=producto2*(y-P(j))/(P(i)-P(j));
end
end
xi=xi+producto1; % suma cada termino
yi=yi+producto2;
end
z1=yi
z2=xi
f1=(z2-1)/t2;
f2=(z1-1)/t1;
s=(b-a)/2*(w1*f1+w2*f2)
fprintf('\nLa fugacidad del butano a 40 atm y 200 ºC es: %6.4f \n\n',exp(s))

RESULTADOS:

*(Ejemplo 6.4) La fugacidad del butano a 40 atm y 200 ºC*


--------------------------------------------------------------
t1 =
8.4530
t2 =
31.5470
P z
(atm)
=========
5 0.94
8 0.89
15 0.83
19 0.80
25 0.78
30 0.75
35 0.73
40 0.70
----------------
z1 = 0.8842
z2 = 0.7433
s = -0.4367
La fugacidad del butano a 40 atm y 200 ºC es: 0.6462
Ejemplo 6.26
disp('Propuesto (6.26) Una particuña de masa m se mueve a través de un fluido')
disp('sujeto a una resistencia R que es funcion de la velocidad v de m.')
disp(' t = integral desde vo a vf de (m/R(v)) dv')
disp('Supongase que R(v)=-v*sqrt(v)+0.0001 para un fluido particular. Si m=10 Kg')
disp('y vo=10 m/s. Aproxime el tiempo requerido para que la particula reduzca su')
disp('velocidad a vf=5 m/s, usando el método de cuadratura de Gauss con 2 y 3 puntos')
disp('__________________________________________________________________')
disp(' ')
%INGRESO DE LOS POOLINOMIOS DE LEGRENGE SEGUN EL NÚMERO DE PUNTOS

mb=[1,-0.5773502692;...
1,0.5773502692];

mc=[ 0.5555556,-0.7745966692;...
0.8888889,0.0;...
0.5555556,0.7745966692];
%-----------------------------------------------------------------

%DECLARACION DE LAS VARIABLES SIMBOLICAS A UTILIZAR


syms v wi;
%OBTENCION DE LA FUNCION A INTEGRAR
fv=10/(-v*(sqrt(v))+0.0001);
%OBTENCION DE LOS LIMITES DE INTEGRACION
vo=10;
vf=5;
%OBTENCION DEL NUMERO DE PUNTOS
disp('a) tiempo usando cuadratura de Gauss para dos puntos')
n1=2;
%Se procede a realizar un cambio de variable.
u=((vf+vo)+((vf-vo)*wi))/2;
du=diff(u,wi,1);
fvu=(subs(fv,v,u))*du;
findsym(fvu);
val_aprox=0;
mresp=zeros(1,1);
mresp_real=zeros(1,1);
if(n1==2)
for i=1:n1
ci=mb(i,1);
fi=mb(i,2);
val_aprox=val_aprox+ci*(subs(fvu,wi,fi));
end
mresp(1,1)=val_aprox;
fprintf('\nEl tiempo aproximado en (s) requerido para que la particula \nreduzca su velocidad es:
%6.4f \n\n',val_aprox)
end
disp('b) tiempo usando cuadratura de Gauss para tres puntos')
n2=3;
val_aprox1=0;
if(n2==3)
for i=1:n2
ci=mc(i,1);
fi=mc(i,2);
val_aprox1=val_aprox1+ci*(subs(fvu,wi,fi));
end
mresp(1,1)=val_aprox1;
fprintf('\nEl tiempo en(s) requerido para que la particula \nreduzca su velocidad es: %6.4f
\n\n',val_aprox1)
end
valor_real=int(fv,v,vo,vf);
mresp_real(1,1)=valor_real;
SOLUCIÓN:

a) tiempo usando cuadratura de Gauss para dos puntos

El tiempo aproximado en (s) requerido para que la particula reduzca su velocidad es: 2.6119

b) tiempo usando cuadratura de Gauss para tres puntos

El tiempo en(s) requerido para que la particula reduzca su velocidad es: 2.6194

Ejemplo 6.24

% intervalos de integracion:
T1=300;
T2=380;
% coeficientes
w1=0.5555556;
w2=0.8888889;
w3=w1;
% Abscisas
z3=0.7745966692;
z1=-z3;
z2=0;
% interpolacion por el polinomio de lagrange
T=[280 310 340 370 400]; Cp=[4.87 5.02 5.16 5.25 5.30];
x=(T1+T2)/2;
Tabla=[T;Cp];
disp(' T Cp')
disp(' ================')
fprintf('%10.0f % 7.2f\n',Tabla)
disp(' ----------------')
disp(' ')
n=length(T); %longitud del vector
% validar longitud igual
if length(Cp)~=n, error('x e y deben ser la misma longitud');end;
xi=0;
%calculo de los n factores de lagrange
for i=1:n
% cada factor es el producto (x-xj)/(xi-xj) donde i~=J
producto1=Cp(i);
for j=1:n
if i~=j
producto1=producto1*(x-T(j))/(T(i)-T(j));
end
end
xi=xi+producto1; % suma cada termino
end
Cp_interpolado=xi
% Integracion Por Cuadratura de Gauss para 3 puntos
f1=(2*Cp_interpolado)/((T2-T1)*z1+(T1+T2));
f2=(2*Cp_interpolado)/((T2-T1)*z2+(T1+T2));
f3=(2*Cp_interpolado)/((T2-T1)*z3+(T1+T2));
s=(T2-T1)/2*(w1*f1+w2*f2+w3*z3);
fprintf('\nEl cambio de entropia al cambiar su \ntemperatura de 300 a 380 K es: %6.4f \n\n',s)
SOLUCIÓN:

T Cp
=========
280 4.87
310 5.02
340 5.16
370 5.25
400 5.30
----------------

Cp_interpolado = 5.1600

El cambio de entropia al cambiar su temperatura de 300 a 380 K es: 18.1239

6) INTEGRALES MULTIPLES:

Algoritmo 6.4: Integración doble por Simpson de 1/3

𝑏 𝑑(𝑥)
Para aproximar ∫𝑎 ∫𝑐(𝑥) 𝑓(𝑥, 𝑦)𝑑𝑦 𝑑𝑥 , proporcionar las funciones C(x), D(x) y F(X, Y) y los

Datos: El numero N de subintervalos a usar en el eje x, el numero M de subintervalos por


emplear en el eje y, el límite inferior A y el límite superior B

SOLUCIÓN:

 Función C:

function c=C(x)
c=x^2;
end
 Función D:

function d=D(x)
d=2*x;
end
 Función F:

function f=F(x,y)
f=x^3+4*y;
end

Programa:
clear all; clc
a=0;
b=2;
N=4; %intervalos a usar en el eje x
M=2; %intervalos a usar en el eje y
H1=(b-a)/N;
S=(F(a,C(a))+F(a,D(a)))*(D(a)-C(a))/M+(F(b,C(b))+F(b,D(b)))*(D(b)-C(b))/M;
S1=0; S2=0; Y1=C(a); Y2=C(b); J=1;
while J<=M-1
H2A=(D(a)-C(a))/M;
Y1=Y1+H2A;
S1=S1+H2A*F(a,Y1);
H2B=(D(b)-C(b))/M;
Y2=Y2+H2B;
S1=S1+H2B*F(b,Y2);
if J==M-1
J=J+2;
else
Y1=Y1+H2A;
S2=S2+H2A*F(a,Y1);
Y2=Y2+H2B;
S2=S2+H2B*F(b,Y2);
J=J+2;
end
end
S3=0; S6=0; S7=0; X=a;I=1;
while I<=N-1
X=X+H1;
H2=(D(X)-C(X))/M;
S3=S3+H2*F(X,C(X));
S6=S6+H2*F(X,D(X));
if I==N-1
I=I+2;
else
X=X+H1; H2=(D(X)-C(X))/M;
S7=S7+2*(F(X,C(X))+F(X,D(X)));
I=I+2;
end
end
S4=0; S5=0; S8=0; S9=0; X=a-H1; I=1;
while I<=N-1
X=X+2*H1;
Y1=C(X); Y2=C(X+H1);
HA=(D(X)-C(X))/M;
HB=(D(X+H1)-C(X+H1))/M;
J=1;
while J<=M-1
Y1=Y1+HA;
S4=S4*HA*F(X,Y1);
if I==N-1
if J==M-1
J=J+2;
else
Y1=Y1+HA;
S5=S5+HA*F(X,Y1);
if I==N-1
J=J+2;
else
Y2=Y2+HB; S9=S9+HA*F(X+H1,Y2);
J=J+2;
end
end
else
Y2=Y2+HB; S8=S8+HB*F(X+H1,Y2);
if J==M-1
J=J+2;
else
Y1=Y1+HA;
S5=S5+HA*F(X,Y1);
if I==N-1
J=J+2;
else
Y2=Y2+HB; S9=S9+HA*F(X+H1,Y2);
J=J+2;
end
end
end
end
I=I+2;
end
AR=H1/3*(S+4*(S1+S3+S6+S9)+2*(S2+S7)+16*S4+8*(S5+S8));
fprintf('El area de esta integral doble es %.4f\n',AR);

RESULTADO:
El área de esta integral doble es 22.2500.

S-ar putea să vă placă și