Vous êtes sur la page 1sur 21

qwertyuiopasdfghjklzxcvbnmqwertyui

opasdfghjklzxcvbnmqwertyuiopasdfgh
jklzxcvbnmqwertyuiopasdfghjklzxcvb
nmqwertyuiopasdfghjklzxcvbnmqwer
Proyecto Final

tyuiopasdfghjklzxcvbnmqwertyuiopas
Mtodos Numricos
04/12/2013

dfghjklzxcvbnmqwertyuiopasdfghjklzx
Analco Bedolla Vctor Hugo
Brcenas Galicia Antonio

cvbnmqwertyuiopasdfghjklzxcvbnmq
Saldaa Beltrn Yotzelin

wertyuiopasdfghjklzxcvbnmqwertyuio
pasdfghjklzxcvbnmqwertyuiopasdfghj
klzxcvbnmqwertyuiopasdfghjklzxcvbn
mqwertyuiopasdfghjklzxcvbnmqwerty
uiopasdfghjklzxcvbnmqwertyuiopasdf
ghjklzxcvbnmqwertyuiopasdfghjklzxc
vbnmqwertyuiopasdfghjklzxcvbnmrty
uiopasdfghjklzxcvbnmqwertyuiopasdf
ghjklzxcvbnmqwertyuiopasdfghjklzxc
UNIVERSIDAD AUTONMA DE LA CIUDAD DE MXICO

MATERIA

MTODOS NUMRICOS

PROFESORA

DRA. ROSA MARGARITA LVAREZ GONZLEZ

PROYECTO FINAL

INTEGRANTES

ANALCO BEDOLLA VICTOR HUGO

BRCENAS GALICIA ANTONIO

SALDAA BELTRN YOTZELIN

4 DE DICIEMBRE 2013
EJERCICIO 1

Ajusta la siguiente funcin

g(x) = C1 + C2 x + C3 sen(x) + C4 sen(2x)


A los datos de la tabla, en el sentido de mnimos cuadrados

i 1 2 3 4 5 6 7 8 9
xi 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
yi 0 2.1222 3.0244 3.2568 3.1399 2.8579 2.514 2.1639 1.8358

a) Grafica los datos y la funcin ajustada

Al ajustar a puntos dados se puede utilizar una combinacin lineal de cualesquiera funciones
conocidas por el mtodo de mnimos cuadrados. La curva ajustada a los puntos dados se puede
escribir como:
N

g(x) = C1 f1 (x) + C2 f2 (x) + C3 f3 (x) + + Cn fn (x) = Cn fn (x)


n=1

Donde f1, f2 fn son funciones conocidas


C1, C2 Cn son coeficientes indeterminados
n N nmero total de funciones prescritas
de manera que fn(x) ajuste a los puntos en el sentido de mnimos cuadrados.
La desviacin de la curva con respecto a cada punto dado se define como:
N

fi = Cn fn (xi ) yi , i = 1, 2, 3 m (m = nmero de puntos dados)


n=1
El total de los cuadrados de desviacin, es decir minimizar la suma de los errores al cuadrado es:
m m N 2

F = (fi )2 = [ Cn fn (xi ) yi ]
i=1 i=1 n=1
El mnimo de F ocurre cuando las derivadas parciales de F respecto a las incgnitas Ci, i =
1,2.m son cero

N
F
= [2 ( Cn fn (xi ) yi )] f1 (xi ) = 0
C1
n=1
N
F
= [2 ( Cn fn (xi ) yi )] f2 (xi ) = 0
C2
n=1
. .
. .
. .
N
F
= [2 ( Cn fn (xi ) yi )] fn (xi ) = 0
Cn
n=1
Con las derivadas parciales tenemos la ecuacin matricial

2
f1 f2 f1 fn f1 yi
C1
f1 f2 f2 2 fn f2 C
[ 2] =
yi f 2

Cn

[ f1 fn f2 fn fn 2 ] [ yi fn ]

Al resolver el sistema de ecuaciones obtenemos los valores de los coeficientes C que generan la
menor suma de errores al cuadrado de las funciones

Otra forma para encontrar la ecuacin matricial se puede usar:


AC = y
Donde
C1 y1
f1 (x1 ) f2 (x1 ) fn (x1 )
C2 y2
f (x ) f2 (x2 ) fn (x2 )
A=[ 1 2 ] C = C3 y = y3


f1 (xm ) f2 (xm ) fn (m) [yn ]
[Cn ]
Que es equivalente a resolver
AAT C = Ay (Sistema de ecuaciones normales)
Debido a que m n
Por lo que la nueva forma matricial seria:
2
f1 f2 f1 fn f1 y
C1 f1 (x1 ) f1 (x2 ) f1 (xm ) 1
y
f1 f2 f2 2 fn f2 C f (x ) f2 (x2 ) f2 (xm ) y2
[ 2] = [ 2 1 ] 3

Cn fn (x1 ) fn (x2 ) fn (m) [y ]
n
[ f1 fn f2 fn fn 2 ]
PROCEDIMIENTO
Se realizar el mtodo de mnimos cuadrados para encontrar los coeficientes C1, C2, C3 y C4 de la
siguiente funcin
g(x) = C1 + C2 x + C3 sen(x) + C4 sen(2x)
Donde
f1 = 1, f2 = x, f3 = sen(x) y f4 = sen(2x) son funciones conocidas de manera que f(x)
ajuste a los puntos en el sentido de mnimos cuadrados
n

F(C1 , C2 , C3 , C4 ) = (g(xi ) yi )2
i=1
9

= [(g(x1 ) y1 )2 + (g(x2 ) y2 )2 + (g(x3 ) y3 )2 + (g(x4 ) y4 )2


i=1
+ (g(x5 ) y5 )2 + (g(x6 ) y6 )2 + (g(x7 ) y7 )2 + (g(x8 ) y8 )2
+ (g(x9 ) y9 )2 ]

Construyendo el Sistema de Ecuaciones Normales correspondiente


F(C1 , C2 , C3 , C4 )
= (C1 + C2 x1 + C3 sen(x1 ) + C4 sen(2x1 ) y1 )2
+ (C1 + C2 x2 + C3 sen(x2 ) + C4 sen(2x2 ) y2 )2
+ (C1 + C2 x3 + C3 sen(x3 ) + C4 sen(2x3 ) y3 )2
+ (C1 + C2 x4 + C3 sen(x4 ) + C4 sen(2x4 ) y4 )2
+ (C1 + C2 x5 + C3 sen(x5 ) + C4 sen(2x5 ) y5 )2
+ (C1 + C2 x6 + C3 sen(x6 ) + C4 sen(2x6 ) y6 )2
+ (C1 + C2 x7 + C3 sen(x7 ) + C4 sen(2x7 ) y7 )2
+ (C1 + C2 x8 + C3 sen(x8 ) + C4 sen(2x8 ) y8 )2
+ (C1 + C2 x9 + C3 sen(x9 ) + C4 sen(2x9 ) y9 )2
Cuyas derivadas parciales son
F
= [2(C1 + C2 x1 + C3 sen(x1 ) + C4 sen(2x1 ) y1 )] 1
C1
+ [2(C1 + C2 x2 + C3 sen(x2 ) + C4 sen(2x2 ) y2 )] 1
+ [2(C1 + C2 x3 + C3 sen(x3 ) + C4 sen(2x3 ) y3 )] 1
+ [2(C1 + C2 x4 + C3 sen(x4 ) + C4 sen(2x4 ) y4 )] 1
+ [2(C1 + C2 x5 + C3 sen(x5 ) + C4 sen(2x5 ) y5 )] 1
+ [2(C1 + C2 x6 + C3 sen(x6 ) + C4 sen(2x6 ) y6 )] 1
+ [2(C1 + C2 x7 + C3 sen(x7 ) + C4 sen(2x7 ) y7 )] 1
+ [2(C1 + C2 x8 + C3 sen(x8 ) + C4 sen(2x8 ) y8 )] 1
+ [2(C1 + C2 x9 + C3 sen(x9 ) + C4 sen(2x9 ) y9 )] 1= 0

F
= [2(C1 + C2 x1 + C3 sen(x1 ) + C4 sen(2x1 ) y1 )] x1
C2
+ [2(C1 + C2 x2 + C3 sen(x2 ) + C4 sen(2x2 ) y2 )] x2
+ [2(C1 + C2 x3 + C3 sen(x3 ) + C4 sen(2x3 ) y3 )] x3
+ [2(C1 + C2 x4 + C3 sen(x4 ) + C4 sen(2x4 ) y4 )] x4
+ [2(C1 + C2 x5 + C3 sen(x5 ) + C4 sen(2x5 ) y5 )] x5
+ [2(C1 + C2 x6 + C3 sen(x6 ) + C4 sen(2x6 ) y6 )] x6
+ [2(C1 + C2 x7 + C3 sen(x7 ) + C4 sen(2x7 ) y7 )] x7
+ [2(C1 + C2 x8 + C3 sen(x8 ) + C4 sen(2x8 ) y8 )] x8
+ [2(C1 + C2 x9 + C3 sen(x9 ) + C4 sen(2x9 ) y9 )] x9 = 0

F
= [2(C1 + C2 x1 + C3 sen(x1 ) + C4 sen(2x1 ) y1 )] sen(x1 )
C3
+ [2(C1 + C2 x2 + C3 sen(x2 ) + C4 sen(2x2 ) y2 )] sen(x2 )
+ [2(C1 + C2 x3 + C3 sen(x3 ) + C4 sen(2x3 ) y3 )] sen(x3 )
+ [2(C1 + C2 x4 + C3 sen(x4 ) + C4 sen(2x4 ) y4 )] sen(x4 )
+ [2(C1 + C2 x5 + C3 sen(x5 ) + C4 sen(2x5 ) y5 )] sen(x5 )
+ [2(C1 + C2 x6 + C3 sen(x6 ) + C4 sen(2x6 ) y6 )] sen(x6 )
+ [2(C1 + C2 x7 + C3 sen(x7 ) + C4 sen(2x7 ) y7 )] sen(x7 )
+ [2(C1 + C2 x8 + C3 sen(x8 ) + C4 sen(2x8 ) y8 )] sen(x8 )
+ [2(C1 + C2 x9 + C3 sen(x9 ) + C4 sen(2x9 ) y9 )] sen(x9 ) = 0
F
= [2(C1 + C2 x1 + C3 sen(x1 ) + C4 sen(2x1 ) y1 )] sen(2x1 )
C4
+ [2(C1 + C2 x2 + C3 sen(x2 ) + C4 sen(2x2 ) y2 )] sen(2x2 )
+ [2(C1 + C2 x3 + C3 sen(x3 ) + C4 sen(2x3 ) y3 )] sen(2x3 )
+ [2(C1 + C2 x4 + C3 sen(x4 ) + C4 sen(2x4 ) y4 )] sen(2x4 )
+ [2(C1 + C2 x5 + C3 sen(x5 ) + C4 sen(2x5 ) y5 )] sen(2x5 )
+ [2(C1 + C2 x6 + C3 sen(x6 ) + C4 sen(2x6 ) y6 )] sen(2x6 )
+ [2(C1 + C2 x7 + C3 sen(x7 ) + C4 sen(2x7 ) y7 )] sen(2x7 )
+ [2(C1 + C2 x8 + C3 sen(x8 ) + C4 sen(2x8 ) y8 )] sen(2x8 )
+ [2(C1 + C2 x9 + C3 sen(x9 ) + C4 sen(2x9 ) y9 )] sen(2x9 ) = 0

Con las derivadas parciales podemos encontrar nuestra forma matricial


m xi sen(xi ) sen(2xi ) yi
C1
xi xi 2 xi sen(xi ) xi sen(2xi ) C2 yi x i
[ ] =
C3
sen(xi ) xi sen(xi ) sen(xi )2 sen(xi ) sen(2xi ) yi sen(xi )
C4

[ sen(2xi ) xi sen(2xi ) sen(xi ) sen(2xi ) sen(2xi )2 ] [ yi sen(2xi )]

Por lo tanto nuestra matriz es


9 4.5 6.3138 0 C1 20.9147
[ 4.5 2.85 3.1569 1.5388] [C2 ] = [ 11.0623 ]
6.3138 3.1569 5 0 C3 16.5225
0 1.5388 0 5 C4 0.3990

Resolviendo la matriz nos queda que los valores de los coeficientes C1 , C2 , C3 y C4 de la funcin
g(x) son:
C1= -1.8576 C3= 3.2419
C2= 3.8144 C4 = 1.0941

Se tomara el sistema AAT C = Ay debido de que es ms fcil minimizar la funcin en el programa


MATLAP que minimizar la funcin F(C1 , C2 , C3 , C4 ) = ni=1(g(xi ) yi )2
MATLAB
>> format short
% x y y son los puntos dados
>> x = [0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9];
>> y = [0 2.122 3.0244 3.2568 3.1399 2.8579 2.514 2.1639 1.8358];
% Usamos la funcin plot para graficar puntos
>> plot(x, y, 'o')
%Para construir la matriz A usamos:
>> A=[ones(1,length(x));x;sin(pi*x);sin(2*pi*x)]
>> AAtr=A*A'
%Para calcular la matriz y usamos
>> Ay= A*y'
>> C = AAtr\[Ay]
>> fplot('-1.8576 + 3.8144*x + 3.2419*sin(pi*x) + 1.0941*sin(2*pi*x)',[.1,.9], 'r' )
>> plot(x,y,'ob'); hold on; fplot('-1.8576 + 3.8144*x + 3.2419*sin(pi*x) + 1.0941*sin(2*pi*x)',[.1,.9], 'r' )

Grafica de los datos

Grafica de la funcin ajustada en los puntos dados


EJERCICIO 2

La curva formada por un cable colgante se llama catenaria. Supongamos que el punto mas bajo de
una catenaria es el origen (0,0), entonces la ecuacin de la catenaria es y=C cosh(x/C) C. Usando
un programa hecho por usted, de alguno de los mtodos numricos visto en el curso:

a) Comprueba que la catenaria que pasa por los puntos (10,6) es


y=9.1889cosh(x/p.1889) 9.1889
b) Halla la ecuacin de la catenaria que pasa por los puntos (12,5)

SOLUCION (mtodo de Newton Raphson)

a) Nos dicen que la catenaria pasa por los puntos (10,6). Adems se supone que en el origen
se presencia el punto de interseccin de la funcin.

Representacin grafica de la funcin:

Como la grafica es simtrica, podemos utilizar solamente el intervalo (0,10)

Consideremos el punto (10,6) y considerando el hecho de que nos piden demostrar que C=9.1889,
remplazaremos los valores x,y respectivamente:
10
6=Ccosh( ) C

10
0=Ccosh( ) C 6

Por lo que nos queda una nueva funcin que podemos llamar (c)

10
(c)=Ccosh( ) C 6

Derivamos la funcin

10
10 10senh( )
(c)=cosh( )

1

A continuacin buscaremos la convergencia de la funcin, para ello determinaremos dos funciones


G(c) y H(c) tal que: (c)= G(c) H(c)

10
G(c)= Ccosh( )

H(c)= C + 6

Evaluamos estas funciones en el intervalo (0,10]

C G(c) H(c) C G(c) H(c)


1 11013.232 7 6 16.15009 12
2 148.4198 8 7 15.44334 13
3 42.10094 9 8 15.10739 14
4 24.52915 10 9 15.15116 15
5 18.81097 11 10 15.43080 16
Representacin grafica:

Basados en la grafica, podemos decir que la raz se encuentra en [9,10]

Observemos que:

(9)= G(9) H(9)=0.1511614

(10)= G(10) H(10)= - 0.56919

(9)*(10)<0

C (c) (c) C (c) (c)


9 0.1511614 0.82128 9.6 0.303348 0.82128
9.1 0.0701715 0.79867 9.7 0.372342 0.68116
9.2 0.0086057 0.77701 9.8 0.439603 0.66418
9.3 0.0852620 0.75625 9.9 0.505200 0.64784
9.4 0.1598840 0.73632 10 0.569193 0.63212
9.5 0.2325536 0.71719

Por lo que tenemos que 0 =9.1 la convergencia de Newton Raphson


Remplazamos (c) y (c) en el mtodo de Newton Raphson

10
cosh( ) 6

+1 =
10 10senh(10

)
cosh( )

1

n
0 9.1 Comprobamos que con 3 =9.1889414
1 9.1878595
y(9.1889414) = 9.1889414 cosh (9.1889414) 9.1889414
10
2 9.1889412
3 9.1889414
Se cumple que y(9.1889414)=6.000000002

b) Considerando que usamos la misma funcin podemos decir que es simtrica , por lo que
podemos utilizar el intervalo (0,12], es decir que tendremos lo puntos [12,5], por lo que
tenemos lo siguiente:

y=Ccosh( ) C

12
5=Ccosh( ) C

12
0=Ccosh( ) C 5

De igual forma llamaremos a esta nueva funcin (c)

12
(c)=Ccosh( ) C 5

derivamos la funcin

12
12 12senh( )
(c)=cosh( ) 1

De igual forma buscaremos la convergencia de la funcin, para ello determinaremos dos funciones
A(c) y B(c) tal que: (c)= A(c) B(c)
12
A(c)= Ccosh( )

B(c)= C + 5

Evaluamos estas funciones en el intervalo (0,12]

C A(c) B(c) C A(c) B(c)


1 81377.3957 6 7 20.064800 12
2 403.4312 7 8 18.819276 13
3 81.9246 8 9 18.257692 14
4 40.27064 19 10 18.106555 15
5 27.78473 10 11 18.220895 16
6 22.57317 11 12 18.516967 17

Como la raz no se encuentra en el intervalo deseado, tomaremos por tanto el intervalo (0, 16]

C A(c) B(c)
13 18.94306 18
14 19.46553 19
15 20.06152 20
16 20.71493 21

Representacin grafica
podemos apreciar que la raz se encuentra en [15,16]

(15)= G(15) H(15)=0.061524

(16)= G(16) H(16)= - 0.285067

(15)* (16)<0

C (c) (c)
15 0.061524 0.373059
15.1 0.0245023 0.367409
15.2 0.011962 0.361900
15.4 0.083269 0.351255
15.6 0.152495 0.341984
15.8 0.21973 0.331354
16 0.28506 0.322054

Por lo que tenemos que 0 =15.1 la convergencia de Newton Raphson

Remplazamos (c) y (c) en el mtodo de Newton Raphson

12
cosh( ) 5

+1 =
12 12senh(12

)
cosh( )

1

n
0 15.1 Comprobamos que con 3 =15.16702831
1 15.1666893
y(15.16702831) = 15.16702831 cosh (15.16702831) 15.16702831
12
2 15.16771756
Ecuacin de la catenaria
3 15.16702831

Se cumple que y(15.16702831)=5.000000012


a)
b)
EJERCICIO 3

En una reaccin qumica, una molcula de una sustancia A se combina con una molcula de una
sustancia B para formar una molcula de una sustancia c. Se sabe que la concentracin y(t) de la
sustancia C en el instante t es la solucin del problema de valor inicial

= ( )( ) (0) = 0

Donde k es una constante positiva, y a y b son las concentraciones iniciales de las sustancias A y B,
respectivamente. Supongamos que k=0.01, a=70milimoles/litro y b=50milimoles/litro. Usa el mtodo
Runge-Kutta 4, programado, con h=0.5 para hallar la solucin en el intervalo [0,20]

a) Compara la solucin numrica con la solucin exacta y(t)=350(1-e-0.2t)( 7-5e-0.2t ), dibujando


ambas.

PROCEDIMIENTO

Resolveremos una EDO por el mtodo Runge-Kutta 4 el cual tiene la siguiente forma:

= (, ) (0 ) = 0

(1 + 22 + 23 + 4 )
+1 = +
6

Donde

1 = ( , )


2 = ( + , + 1 )
2 2


3 = ( + , + 2 )
2 2

4 = ( + , + 3 )

Y +1 = +

= 0,1,2,3 .
Nosotros tenemos la EDO

= ( )( ) (0) = 0

Para los valores

= 0.01 = 70 = 50

Tenemos

= .01(70 )(50 ) = .01 2 + 1.2 + 35

Esta es la ecuacin que resolveremos mediante el mtodo Runge-Kutta 4, con un incremento h=0.5,
en un intervalo [0,20].

= (, ) = 01 2 + 1.2 + 35

(0) = 0 0 = 0 0 = 0

= 0.5

Nuestro intervalo es [0,20] con un incremento de h=0.5, esto nos lleva a un total de 40 valores para
k, por ser un procedimiento bastante tedioso solo encontraremos el valor y1 mismo que despus
comprobaremos mediante el programa realizado en matlab; siguiendo el procedimiento del mtodo
Runge-Kutta necesitamos calcular f1, f2, f3, y f4, para obtener y1 .

Como nuestra funcin solo depende de y utilizaremos los valores de la siguiente forma:

1 = ( ) 1 = (0 ) = 35

.5
2 = ( 0 + 35) = ( 8.75) = 25.26
2
.5
3 = ( 0 + 25.26) = ( 6.31) = 27.81
2

4 = ( 0 + .5 27.81) = ( 13.90) = 20.24

. 5(35 + 2 25.26 + 2 27.81 + 20.24)


1 = 0 + = 13.45
6
Desarrollamos el siguiente programa en matlab, para obtener cada uno de los valores se cre un
ciclo for.

%Mtodo de Runge-Kutta de orden 4


%Aproximaremos la solucin de la EDO y'= k(a-y)(b-y) con
y(0)=0
% En el intervalo [0,20] con un incremento h=0.5
%Donde k=0.01; a=70 y b=50
clear all
clc
%esta es la ecuacin con la que trabajaremos
%y'=.01y^2-1.2y+35
%establecemos nuestro intervalo [p,q]
p=0; %inicio del intervalo
q=20; %fin del intervalo
h=.5; %incremento del intervalo
%procedemos a realizar un vector tal que sus puntos se
encuentren
%dentro del intervalo con un incremento igual a .05.
x=linspace(p,q,41);% vector x
y(1)=0; %esta es nuestra condicin inicial y(0)=0
for i=1:((q-p)/h)
f1=((.01*(y(i)^2))-(1.2*y(i))+35);
f2=((.01*(y(i)+((h/2)*f1)^2))-(1.2*(y(i)+((h/2)*f1)))+35);
f3=((.01*(y(i)+((h/2)*f2)^2))-(1.2*(y(i)+((h/2)*f2)))+35);
f4=((.01*((y(i)+(h*f3))^2))-(1.2*(y(i)+(h*f3)))+35);
y(i+1)=(y(i)+(((h*(f1+2*f2+2*f3+f4))/6)));
end
y
plot(y,'g')%grafica de la solucin obtenida por RG4
%la compararemos con la solucin exacta la cual es la funcin
%y(t)=350(1-e^(-.2t))/(7-5e^(-.2t))
hold on
fplot('350*(1-(exp(-.2*x)))/(7-(5*exp(-.2*x)))',[0,41])

Donde los primeros 10 valores de y son:

y1 y2 y3 y4 y5 y6 y7 y8 y9 y10
0 13.4511 21.0618 25.5075 28.1502 29.7371 30.6958 31.2771 31.6303 31.8451

Como podemos comprobar el resultado que obtuvimos para y1 es el mismo que y2, ya que el ciclo no
nos permite iniciar en cero. Por lo que los valores se ven recorridos.
Graficamos los valores obtenidos:

Calculamos la solucin a la EDO

= ( )( ) (0) = 0

Tenemos que


= ( )( )

Hacemos separacin de variables


=
( )( )

Integramos

1 1 1
=
( ) ( )


ln = ( )

Aplicamos la exponencial y acomodando el resultado nos queda:

[1 () ]
() =
()
Sustituyendo nuestros valores tenemos la solucin

350[1 0.2 ]
() =
7 5 0.2
Graficamos esta funcin y obtenemos

Comparando ambas soluciones tenemos:

Lo que nos muestra uno de los principales defectos de este programa es que el error es
acumulativo.

Vous aimerez peut-être aussi