Sie sind auf Seite 1von 14

FACULTAD DE CIENCIAS QUMICAS

ESCUELA DE INGENIERA AMBIENTAL


Nombre: Melissa Pacheco Chica
Curso: 5to Ing. Ambiental

Asignatura: Programacin y mtodos numricos


Fecha: 13/05/14

TRABAJO DE INVESTIGACIN

Cuadratura de Gauss- Legendre


Se basa en obtener el rea bajo la lnea recta que une los valores de la funcin, en los
extremos del intervalo de integracin. Debido a que la regla del trapecio necesita los puntos
extremos, donde la frmula puede dar un error importante.
Por esa razn, se supondr que se elimina la restriccin de que los puntos estn igualmente
espaciados y que es posible evaluar el rea bajo una lnea recta que une dos puntos
cualesquiera de la curva.
Al ubicar esos puntos en forma conveniente, es posible definir una lnea recta que equilibre
los errores negativos y positivos. De esta manera, como se muestra en la Figura 2, se
obtiene una mejor estimacin de la integral.

Las cuadraturas de Gauss - Legendre es el nombre de una clase de tcnicas que aplica tal
estrategia para obtener una aproximacin ms precisa de la integral.
Cuadratura de Gauss - Legendre de dos puntos
El objetivo de la cuadratura de Gauss - Legendre es determinar las abscisas x 1 y x2 y dos
coeficientes w1 y w2 de manera que la frmula:

sea exacta para polinomios cbicos de la forma f(x) = a 3x3 + a2x2 + a1x +a0. Como hay que
determinar cuatro nmeros w1, w2, x1 y x2 en la expresin anterior, se deben seleccionar
cuatro condiciones que deben cumplirse. Usando el hecho de que la integracin es aditiva,
ser suficiente con exigir que la integral anterior sea exacta para las cuatro funciones f(x) =
1, x, x2, x3. Por lo tanto, las cuatro condiciones de integracin son:

FACULTAD DE CIENCIAS QUMICAS


ESCUELA DE INGENIERA AMBIENTAL
Nombre: Melissa Pacheco Chica
Curso: 5to Ing. Ambiental

Asignatura: Programacin y mtodos numricos


Fecha: 13/05/14
Captulo 5

Ejercicio 5.1

a).

tan ( x ) dx
0

Editor
function [k1,f]=trapecio (n, f, a, b)
f = input('ingrese la funcion: ', 's');
a = input('ingrese el limite inferior: ');
b = input('ingrese el limite superior: ');
n = input('ingrese el numero de trapecios: ');
f = inline (f);
h=(b-a)/n;
k1= f(a)+f(b);
for i=1:n-1
k=a+i*h;
k1 = k1 + 2*f(k);
end
k1 = (h/2)*k1;
Command window
n=2
>> trapecio2
ingrese la funcion: tan(x)
ingrese el limite inferior: 0
ingrese el limite superior: pi/4
ingrese el numero de trapecios: 2
ans =

n=4
>>trapecio2
ingrese la funcion: tan(x)
ingrese el limite inferior: 0
ingrese el limite superior: pi/4
ingrese el numero de trapecios: 4
ans =

0.3590
0.3498

n=8
>> trapecio2
ingrese la funcion: tan(x)
ingrese el limite inferior: 0
ingrese el limite superior: pi/4
ingrese el numero de trapecios: 8
ans =

n=16
>> trapecio2
ingrese la funcion: tan(x)
ingrese el limite inferior: 0
ingrese el limite superior: pi/4
ingrese el numero de trapecios: 16
ans =
0.3468

0.3474
1

b).

exp ( x ) dx
0

n=2
>> trapecio2
ingrese la funcion: exp(x)
ingrese el limite inferior: 0
ingrese el limite superior: 1
ingrese el numero de trapecios: 2
ans =
1.7539

n=4
>> trapecio2
ingrese la funcion: exp(x)
ingrese el limite inferior: 0
ingrese el limite superior: 1
ingrese el numero de trapecios: 4
ans =
1.7272

n=8

n=16

>> trapecio2
ingrese la funcion: exp(x)
ingrese el limite inferior: 0
ingrese el limite superior: 1
ingrese el numero de trapecios: 8
ans =

>> trapecio2
ingrese la funcion: exp(x)
ingrese el limite inferior: 0
ingrese el limite superior: 1
ingrese el numero de trapecios: 16
ans =

1.7205

1.7188

c).

2+1 x dx
0

n=2
>> trapecio2
ingrese la funcion: 1/(2+x)
ingrese el limite inferior: 0
ingrese el limite superior: 1
ingrese el numero de trapecios: 2
ans =

0.4083
n=4
>> trapecio2
ingrese la funcion: 1/(2+x)

ingrese el limite inferior: 0


ingrese el limite superior: 1
ingrese el numero de trapecios: 4

ans =

n=8
>> trapecio2
ingrese la funcion: 1/(2+x)
ingrese el limite inferior: 0
ingrese el limite superior: 1
ingrese el numero de trapecios: 8
ans =

n=16
>> trapecio2
ingrese la funcion: 1/(2+x)
ingrese el limite inferior: 0
ingrese el limite superior: 1
ingrese el numero de trapecios: 16
ans =

0.4056

0.4062

0.4055

Ejercicio 5.2
n=2
>> trapecio2
ingrese la funcion: sin(x)
ingrese el limite inferior: 0
ingrese el limite superior: pi/2
ingrese el numero de trapecios: 2
ans =
0.9481
n=8
>> trapecio2
ingrese la funcion: sin(x)
ingrese el limite inferior: 0
ingrese el limite superior: pi/2
ingrese el numero de trapecios: 8
ans =
0.9968

n=4
>> trapecio2
ingrese la funcion: sin(x)
ingrese el limite inferior: 0
ingrese el limite superior: pi/2
ingrese el numero de trapecios: 4
ans =
0.9871
n=25
>> trapecio2
ingrese la funcion: sin(x)
ingrese el limite inferior: 0
ingrese el limite superior: pi/2
ingrese el numero de trapecios: 25
ans =
0.9997

n= 100
>> trapecio2
ingrese la funcion: sin(x)
ingrese el limite inferior: 0
ingrese el limite superior: pi/2
ingrese el numero de trapecios: 100
ans =
1.0000

Ejercicio 5.3
INGRESE LA FUNCION:-(400-(x^2))/
(1645.2*x^(1/2))
INGRESE EL LIMITE INFERIOR:20
INGRESE EL LIMITE SUPERIOR:60
INGRESE n:20
I =4.753599s

Ejercicio 5.5
h= 0.4

n=2

>> trapecio2

ingrese la funcion: (-39.844*x.^4)+(93.745*x.^3)-(81.729*x.^2)+(28.055*x)+(0.0114)


ingrese el limite inferior: 0
ingrese el limite superior: 0.8
ingrese el numero de trapecios: 2
ans =
1.6221

h= 0.2 n=4
>> trapecio2
ingrese la funcion: (-39.844*x.^4)+(93.745*x.^3)-(81.729*x.^2)+(28.055*x)+(0.0114)
ingrese el limite inferior: 0
ingrese el limite superior: 0.8
ingrese el numero de trapecios: 4
ans =
1.9204
h=0.1 n=8
>> trapecio2
ingrese la funcion: (-39.844*x.^4)+(93.745*x.^3)-(81.729*x.^2)+(28.055*x)+(0.0114)
ingrese el limite inferior: 0
ingrese el limite superior: 0.8
ingrese el numero de trapecios: 8
ans =
1.9997

Ejercicio 5.9

function [k1,f]=simpsonuno (n, f, a, b)


f = input('ingrese la funcion: ', 's');
a = input('ingrese el limite inferior: ');
b = input('ingrese el limite superior: ');
n = input('ingrese el numero de particiones: ');
while(mod(n,2) ~= 0) % el simbolo ~= significa diferente
n = input('ingrese un numero par de particiones: ');
end
f = inline (f);
h=(b-a)/n;
k1= f(a)+f(b);
k2=0;
for i=1:2:n-1
k=a+i*h;
k1 = k1 + 4*f(k);
end
for i=2:2:n-2
k=a+i*h;
k2 = k2 + 2*f(k);
end
k1 = (h/3)*(k1 + k2);

function [k1,f]=simpsondos (n, f, a, b)


f = input('ingrese la funcion: ', 's');
a = input('ingrese el limite inferior: ');
b = input('ingrese el limite superior: ');
n = input('ingrese el numero de particiones: ');
while(mod(n,3) ~= 0) % el simbolo ~= significa diferente
n = input('ingrese un numero de particiones divisible para tres: ');
end
f = inline (f);
h=(b-a)/n;
k1= f(a)+f(b);
for i=1:n-1
k=a+i*h;
k1 = k1 + 3*f(k);
end
k1 = (3*h/8)*k1;
>> simpsonuno
ingrese la funcion: x^3
ingrese el limite inferior: 0
ingrese el limite superior: 3
ingrese el numero de particiones: 2

ans = 20.2500
>> simpsondos
ingrese la funcion: x^3
ingrese el limite inferior: 0
ingrese el limite superior: 3
ingrese el numero de particiones: 3
ans =20.250

Ejercicio 5.11

(a)

dx
2+cos(
x)
0

dx

n=2
>> simpsonuno
ingrese la funcion: 1/(2+cos(x))
ingrese el limite inferior: 0
ingrese el limite superior: pi
ingrese el numero de particiones: 2

n=4
>> simpsonuno
ingrese la funcion: 1/(2+cos(x))
ingrese el limite inferior: 0
ingrese el limite superior: pi
ingrese el numero de particiones: 4

ans = 1.7453

ans =1.8077

n=8
>> simpsonuno
ingrese la funcion: 1/(2+cos(x))
ingrese el limite inferior: 0
ingrese el limite superior: pi
ingrese el numero de particiones: 8

n=16
>> simpsonuno
ingrese la funcion: 1/(2+cos(x))
ingrese el limite inferior: 0
ingrese el limite superior: pi
ingrese el numero de particiones: 16

ans = 1.8138

ans = 1.8138

log ( 1+ x )
dx
x

n=2
>> simpsonuno

ingrese la funcion: log(1+x)/x


ingrese el limite inferior: 1
ingrese el limite superior: 2

ingrese el numero de particiones: 2


ans =0.6143

ingrese la funcion: log(1+x)/x


ingrese el limite inferior: 1
ingrese el limite superior: 2
ingrese el numero de particiones: 4

n=4
ans = 0.6143
>> simpsonuno
n=8

n=16

>> simpsonuno
ingrese la funcion: log(1+x)/x
ingrese el limite inferior: 1
ingrese el limite superior: 2
ingrese el numero de particiones: 8

>> simpsonuno
ingrese la funcion: log(1+x)/x
ingrese el limite inferior: 1
ingrese el limite superior: 2
ingrese el numero de particiones: 16

ans =0.6143

ans =0.6143

Das könnte Ihnen auch gefallen