Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Folleto de Métodos Númericos PDF
Folleto de Métodos Númericos PDF
Universidad
Politcnica Salesiana
MTODOS
NUMRICOS
CON MATLAB
Ing.William Caiza
Mtodos Numricos
Ing. William Caiza
Copyright 2015 por Ing. William Caiza. Todos los derechos reservados.
2
Mtodos Numricos
Ing. William Caiza
Dedicatoria
3
Mtodos Numricos
Ing. William Caiza
Agradecimientos
ESTA PAGINA ES OPCIONAL
4
Mtodos Numricos
Ing. William Caiza
CONTENIDO
CAPITULO I
ERRORES ......................................................................................................................... 7
NMEROS DECIMALES ........................................................................................ 7
NOTACIN BINARIA ............................................................................................. 5
DE DECIMAL (CON DECIMAL) A BINARIO .................................................... 10
ANLISIS DE ERRORES .............................................................................................. 5
ERROR DE TRUNCAMIENTO ................................................................................... 16
SERIE DE TAYLOR ..................................................................................................... 17
Teorema de Taylor................................................................................................... 10
CAPITULO II
RESOLUCIN DE ECUACIONES NO LINEALES ..................................................... 22
MTODO DE LA BISECCIN.- ................................................................................. 14
Algoritmo ................................................................................................................ 14
Error del Mtodo de Biseccin ................................................................................ 14
IMPLEMENTACIN DEL CDIGO EN MATLAB ............................................ 20
IMPLEMENTACIN DEL CDIGO EN MATLAB ........................................... 20
Mtodo de la Falsa Posicin.-..................................................................................... 50
Convergencia del Mtodo de Falsa Posicin ........................................................... 51
Interacin de Punto Fijo.- ........................................................................................... 52
Algoritmo de interacin del mtodo de punto fijo: ................................................. 53
Implementacin del Cdigo en Matlab ................................................................... 56
Mtodo de Newton-Raphson.- ..................................................................................... 57
TEOREMA: ............................................................................................................. 57
CAPITULO III
SISTEMAS DE ECUACIONES LINEALES .................................................................. 62
INTRODUCCIN........................................................................................................ 62
Operaciones Elementales de Fila ............................................................................... 67
Clculo de la matriz inversa........................................................................................ 67
Algoritmo ................................................................................................................ 67
Implementacin del Cdigo en Matlab ................................................................... 69
DEFINICIN: ............................................................................................................. 71
Teorema de Sustitucin Regresiva .............................................................................. 72
Implementacin del Cdigo en Matlab ................................................................... 74
TEOREMA: ............................................................................................................. 75
TEOREMA: ............................................................................................................. 75
ELIMINACIN GAUSSIANA Y PIVOTEO ................................................................. 75
OBSERVACIN: .................................................................................................... 75
TEOREMA: OPERACIONES ELEMENTALES CON LAS FILAS .................... 75
DEFINICIN: PIVOTEO Y MULTIPLICADORES ............................................. 76
ELIMINACIN DE GAUSS-JORDAN ........................................................................ 79
DEFINICIN: ......................................................................................................... 79
ALGORITMO: ........................................................................................................ 80
DESCOMPOSICIN L.U- FACTORIZACIN TRIANGULAR.................................. 84
CAPITULO IV................................................................................................................. 124
5
Mtodos Numricos
Ing. William Caiza
6
Mtodos Numricos
Ing. William Caiza
CAPITULO 1: INTRODUCCIN
Comnmente los seres humanos, realizamos los clculos aritmticos usando el sistema
numrico decimal (base 10); las computadoras hacen los clculos aritmticos usando el
sistema numrico binario (base 2).
Al traducir los tipos numricos existentes a notacin binaria queda claro que las
operaciones realizadas no necesariamente son exactas por lo tanto van acumulado
diferencias (errores) en cada una de las operaciones.
= + + + + = {, , , , , }
7
Mtodos Numricos
Ing. William Caiza
= + + + + = {, }
8
Mtodos Numricos
Ing. William Caiza
Todo nmero racional se puede clasificar en entero y fraccionario, los nmeros enteros se
clasifican en enteros positivos o naturales, cero y enteros negativos; los fraccionarios se
clasifican en decimal finito e infinito, de decimal finito si el residuo es cero.
Las fracciones de decimal infinito se clasifican en peridicas y semi-peridicas.
Las fracciones peridicas como 3,3333 = 3, 3 , se puede obtener su fraccin que es
igual al cociente cuyo numerador es igual al nmero menos la parte peridica (33-3), y el
denominador es tantos nueves como cifras (una) tenga la parte peridica (9).
333 30
3, 3 = = .
9 9
Las fracciones semi-peridicas como 3,2455555 = 3,245, se puede obtener su forma
fraccionaria, cuyo numerador es el nmero menos el nmero sin la parte peridica
(3245-324), el denominador es tantos nueves como cifras tenga la parte peridica y
tantos ceros como cifras tenga la parte no peridica (dos).
9
Mtodos Numricos
Ing. William Caiza
Ejemplo 1
1 0 0 12 = 1 23 + 0 22 + 0 21 + 1 20 8 + 0 + 0 + 1 = 9
Ejemplo 2
10010 = 1 1 0 0 1 0 02
100 2
0 50 2
0 25 2
1 12 2
0 6 2
0 3 2
1 1
Comprobacin:
1 1 0 0 1 0 02 = 1 26 + 1 25 + 0 24 + 0 23 + 1 22 + 0 21 + 0 20
= 64 + 32 + 0 + 0 + 4 + 0 + 0 100
10
Mtodos Numricos
Ing. William Caiza
Ejemplo 3
0,3125 =
Verificacin:
, = ,
Ejemplo 4
35 3 32
3. 5 = =
9 9
Verificamos
Parte Entera
32 9
50 3,55 =3.5
50
Ejemplo 5
11
Mtodos Numricos
Ing. William Caiza
325 32 293
3.25 = =
90 90
Verificamos
Parte Entera
293 90
230 3,255 =3.25
500
500
Ejemplo 6
5
Conversin de 1.3 + 3
13 5 39 + 50 89
+ = =
10 3 30 30
Ejemplo 7
Conversin de 6.312510
Ejemplo 8
Conversin de 6.312510 a binario
Parte Entera Parte Fraccionaria
6 2 0.3125*(2)= 0.625 = 0
0 3 2 : 110 0.625*(2)= 1.25 = 1
1 1 0.25*(2)= 0.5 = 0
0.5*(2)= 1 = 1
6.312510 = 110.01012
Ejemplo 9
a binario
Conversin de 5.341
5341 53 5288 2644
= =
990 990 495
Parte Entera
5 2
1 2 2 : 101.
0 1
1012 = 1(2)2 + 0(2)1 + 1(2)0
4 + 0 +1
=5
12
Mtodos Numricos
Ing. William Caiza
Parte Fraccionaria
0.341
0.341*(2)= 0.682 = 0 Sin importar q sea peridica
0.682*(2)= 1.364 = 1
0.364*(2)= 0.728 = 0
0.728*(2)= 1.456 = 1
0.456*(2)= 0.912 = 0
0.912*(2)= 1.824 = 1
0.824*(2)= 1.648 = 1
0.648*(2)= 1.296 = 1
0.296*(2)= 0.592 = 0
0.592*(2)= 1.184 = 1
0.184*(2)= 0.368 = 0
0.368*(2)= 0.736 = 0
0.736*(2)= 1.472 = 1
0.472*(2)= 0.944 = 0
0.944*(2)= 1.888 = 1
0.888*(2)= 1.776 = 1
Verificacin
= 01010111
0.341
1 1 1 1 1
= + + + + +
4 16 64 128 250
64 + 16 + 4 + 2 + 1 87
= =
256 256
13
Mtodos Numricos
Ing. William Caiza
Ejemplo
346734556700 = 0.346734556700 1012
Ejemplo:
Dado el siguiente nmero en binario, expresarlo en punto flotante
0,0000101 = 0,101 24
Para simplificar el formato es necesario evitar la necesidad de un bit para el signo del
exponente, por lo cual el exponente se representa usando un formato denominado en
exceso, que consiste en sumar un desplazamiento al valor real del nmero.
Si utilizamos 8 bits para representar el exponente, hay 28 combinaciones posibles,
2551
desde 0 hasta 255, el desplazamiento ser = 127, el formato de simple precisin
2
tiene un exponente de 8 bits en formato exceso 127, se utiliza para representar
exponentes con valores entre -126 y 127.
14
Mtodos Numricos
Ing. William Caiza
Ejemplo:
Si el exponente tiene un valor de -126, 0, 1, Cul es el valor normalizado del
exponente?
= 126 126 + 127 = 1 00000001
= 0 0 + 127 = 127 01111111
= 1 1 + 127 = 128 10000000
= 1 27+ + 0 26 + 0 25 + 0 24 + 0 23 + 0 22 + 0 21 + 0 20
= 128
Casos especiales
Si el exponente es -127, normalizando tenemos -127+127 =0, su correspondiente
binario es 00000000, se tiene los siguientes casos:
Si la mantisa tambin es cero se est representando el cero.
Si la mantisa es distinto de cero se trata de un nmero no normalizado,
supondremos que el bit implcito de la parte entera no es 1 sino 0, y el exponente
es -126
Si el exponente es 128, normalizando tenemos 128+127= 255, su correspondiente
binario es 11111111, se tiene los siguientes casos:
Si la mantisa es cero se est representando el infinito.
Si la mantisa es distinta de cero se est representando el resultado de una
operacin no vlida (NaN no es un nmero).
Ejemplo:
Dado el siguiente nmero binario +1011010010001 transformado en binario con coma
flotante
Es un nmero positivo, por lo que el bit del signo ser un 0.
Normalizando el binario 1011010010001 1,011010010001 212
Calculando el valor de la mantisa 011010010001
Calculando el valor del exponente y normalizando se tiene 12 12 + 127 =
139 10001011
1 bit 8 bits 23
bits
0 10001011 01101001000100000000000
Ejemplo:
Dado el siguiente nmero binario normalizado
1 bit 8 bits 23
bits
1 10010001 10001110001000000000000
15
Mtodos Numricos
Ing. William Caiza
El bit del signo es 1, por lo tanto es un nmero negativo, la mantisa nos proporciona la
magnitud del nmero 1, 10001110001, el valor del exponente se calcula de la siguiente
forma:
El exponente: 10010001 = 1 27 + 0 26 + 0 25 + 1 24 + 0 23 + 0 22 + 0 21 +
1 20 = 128 + 16 + 1 = 145 145 127 = 18
resumiendo obtenemos el siguiente nmero binario 1,10001110001 218
En la prctica del clculo numrico es importante tener en cuenta que las soluciones
calculadas por el computador no son soluciones matemticas exactas. La precisin de
una solucin numrica puede verse disminuida por diversos factores y la comprensin
de estas dificultades puede guiarnos a menudo a desarrollar o construir algoritmos
numricos adecuados.
= | |
= | |
= | |
| |
= 100
||
| |
= 100
| |
16
Mtodos Numricos
Ing. William Caiza
2 4 6 8
= 1 + 2 + + + +
2! 3! 4!
Toda funcin puede ser expresada como un polinomio de orden (), la serie de Taylor
proporciona un medio para predecir el valor de una funcin en un punto.
Teorema de Taylor
Dada la funcin f y sus n+1 derivadas son continuas, se dice que la expresin siguiente
es el polinomio de Taylor de orden n y alrededor de a.
Donde
(0) 2 () (0)
() = (0) + (0)() + +. . . + +. ..
2! !
Ejemplo a):
() = ()
17
Mtodos Numricos
Ing. William Caiza
(0) = (0) = 0
() = cos(0) (0) = 1
() = () () = 0
() = cos() () = 1
() = + +
! ! !
Ejemplo b):
() = ()
(0) = cos(0) = 1
() = (0) (0) = 0
() = cos(0) (0) = 1
() = (0) (0) = 0
() = + +
! ! !
Ejemplo c):
(3.5)3 (3.5)5
(3.5) = 3.5 +
3! 5!
18
Mtodos Numricos
Ing. William Caiza
(3.5) = 0.73098
(3.5) = 0.35078
E = |0.35078 0.730981 |
= .
|0.35078 0.730981 |
E = 100
|0.35078|
= .
Ejemplo d):
() = ()
x3 x5 x7 x9
2) Sen(x) = x 3! + 5! 7! + +
9!
19
Mtodos Numricos
Ing. William Caiza
(3)(3.453)2 (3)(3.453)3
3) Sen(3.45) = Sen(3) + Cos(3)(3.45 3) +
2! 3!
Sen(3)(3.453)4
4!
= - 0.303788
= | | 100
0.303541 + 0.284381
= | | 100
0.30541
= . %
20
Mtodos Numricos
Ing. William Caiza
0.303541 + 0.303388
= | | 100
0.30541
= . %
5) Conclusin:
Ejemplo e):
() = ()
2.
(3.45) = 0,958967
0.959204 0,958967
= | | 100
0.959204
= . %
21
Mtodos Numricos
Ing. William Caiza
Ejemplo f):
Demostrar
() = = () + ()
(0) = = (0) = 0 = 1
() = = (0) =
() = 2 = (0) = 2
() = 3 = (0) = 3
22 33 44
= 1 + + + + +. ..
2! 3! 4!
2 4 6 3 5
= (1 + + ) + ( + +)
2! 4! 6! 3! 5!
= () + ()
(, ) = (, )
1
= (, ) + ( (, )( ) + (, )( ))
1!
1 2 2 2 2
+ ( 2 (, )( )2 + 2 (, )( )2 + (, )( )( ))
2!
22
Mtodos Numricos
Ing. William Caiza
1 3 3 3 3
+ ( 3 (, )( )3 + 3 (, )( )3 + 2 (, )( )2 ( )
3!
3 3
+ (, )( )( )2 ) +. . ..
2
Ejemplo:
f(x, y) = sen(x)sen(y)
23
Mtodos Numricos
Ing. William Caiza
(+1) (())
() = ( )+1
( + 1)!
|x c|+1
| ()| max| (+1) ()|
( + 1)!
t (x,c).
Ejemplo 5
cos( )
2 () = cos( ) ( )(x ) ( )2
2
1
2 () = 1 + ( )2
2
|3 |3
|| |()|; [3, ].
6
|| 0.0004731 (3)
Observacin:
Para calcular el valor de una funcin para x el valor de a, deber estar alrededor
de x.
Ejercicios propuestos
Ejercicios de notacin decimal
Escribir en notacin decimal las siguientes cantidades:
1. 374=
2. 17350=
3. 1,0243=
24
Mtodos Numricos
Ing. William Caiza
4. 745,36=
5. 1357, 924=
Pginas web:
http://www.montereyinstitute.org/courses/DevelopmentalMath/U03L1T1_RESOUR
CE/U03_L1_T1_text_final_es.html
http://es.wikihow.com/convertir-binario-a-decimal
Series de Taylor
1. Calcular el polinomio de Taylor de la funcin () =
2. Calclese la serie de Taylor de () = ()
3. Encuentre una serie de Taylor para f(x)= cos(2x)
4. Encuentre la serie de Taylor para f(x) = x5
5. Encontrar la serie de Taylor para la funcin f(x)= log (cosx)
Series de Mc- Claurin
1. Hallar el polinomio de Maclaurin para f(x)=e x, para n=0, n=1, n=2, n=3, y el
polinomio general.
2. Encuentre una serie de Maclaurin para () = 2
ex + ex
3. Encontrar la serie de Maclaurin para f(x) = 2
ex ex
4. Encontrar la serie de Maclaurin para f(x) = 2
1
5. Encontrar la serie de Maclaurin para f(x) = 1+x2
Pginas web:
25
Mtodos Numricos
Ing. William Caiza
http://es.scribd.com/doc/102297219/Series-de-Taylor-Ejemplos-y-Problemas
http://www.wikimatematica.org/index.php?title=Series_de_Taylor_y_Maclaurin#Eje
mplo_.231
http://www4.ujaen.es/~cisneros/Documentos/Des_Taylor.pdf
Dado el intervalo [a, b], la primera aproximacin a la raz es el punto medio del
intervalo se calcula como la suma de los dos puntos dividido para 2, encontrando
un nuevo punto c1, luego se verifica si () (1 ) < 0 implicara que la nueva
raz se encuentra en el intervalo [, 1 ] por lo tanto la nueva aproximacin seria el
punto medio de dicho intervalo. Y seguiramos verificando si el ( ) ( ) < 0
o ( ) ( ) < 0 , en el intervalo que cumpla las definiciones anteriores se
proceder otra vez a encontrar el punto medio que es la siguiente mejor
aproximacin a la raz, as sucesivamente hasta obtener una aproximacin
deseada.
26
Mtodos Numricos
Ing. William Caiza
{xn } = {c, c1 , c2 , . . , cn }
Algoritmo de la biseccin
funcion=char(inputdlg('ingrese la funcion'));
f=inline(funcion);
x=-5:0.1:5;
n=length(x);
for i=1:n
y(i)=f(x(i));
end
plot(x,y);
hold on;
plot([-5 5],[0 0],'r');
grid on;
plot([0 0],[-5 5],'r');
j=-5;
for i=1:11
text(j,0,num2str(j));
j=j+1;
end
a=str2double(inputdlg('ingrese el valor de a'));
b=str2double(inputdlg('ingrese el valor de b'));
iteraciones=1;
j=1;
pmviejo=0;
while iteraciones<5
pm=((a+b)/2);
fa=f(a);
fb=f(b);
fpm=f(pm);
aa(j)=a;
bb(j)=b;
ppm(j)=pm;
errorf=abs(pm-pmviejo);
err(j)=errorf;
if fa*fpm<0
b=pm;
end
27
Mtodos Numricos
Ing. William Caiza
if fb*fpm<0
a=pm;
end
pmviejo=pm;
j=j+1;
iteraciones=iteraciones+1;
end
set(handles.uitable1,'data',[aa' ppm' bb' err']);
+
=
2
3. Realice las siguientes evaluaciones para determinar en que subintervalos cae
la raz.
28
Mtodos Numricos
Ing. William Caiza
a) Si f(ai )f(Ci ) < 0 , entonces la raz se encuentra dentro del subintervalo, por lo
tanto bi = Ci , ai = ai ; y contine en el paso 2.
b) Si f(ai )f(Ci ) > 0 , entonces la raz se encuentra dentro del subintervalo superior,
por lo tanto ai = Ci , bi = bi ; y contine en el paso 2.
4. Si f(ai )f(Ci ) = 0 , la raz es igual a Ci , termina el clculo.
%
= | |
y= -exp(x)tan(x)
200
150
100
50
0
0 0,5 1 1,5 2 2,5 3 3,5
-50
-100
Cuadro de datos:
29
Mtodos Numricos
Ing. William Caiza
1.- Ingresamos una funcin a ser evaluada, utilizamos el comando char que
transforma lo que ingresamos mediante la funcin inputdlg en string.
2.- Ingresamos el intervalo en el cual deseamos encontrar una raz as como la
tolerancia admisible para encontrar la raiz, adems hacemos uso de la funcin
str2double que transforma un string a double o nmero.
3.- Creamos la funcin con inline-
4.- Usamos el comando while para definir las iteraciones que se van a realizar,
para este caso el nmero de iteraciones es menor que 10 y la tolerancia debe ser
menor al error.
5.- Aplicamos el algoritmo para obtener las races.
6.- y los resultados obtenidos enviamos a los objetos uitable, como se puede
observar en la ejecucin del programa.
30
Mtodos Numricos
Ing. William Caiza
(r2,y2)
r2
C1
(r2,y2)
Como en el mtodo de la biseccin, supongamos que f(a) y f (b) tienen distinto signo.
En el mtodo de la biseccin se usa el punto medio del intervalo [a, b] para llevar a
cabo, las iteraciones hasta obtener la raz.
Para hallar la abscisa c, igualamos las dos frmulas para la pendiente m de la recta
secante L.
() ()
= (1)
0 ()
= (2)
31
Mtodos Numricos
Ing. William Caiza
() () ()
= ( )(() ()) = ()( )
()( ) ()( )
= + =
() () () ()
( )( )
= = 1,2,3,
( ) ( )
a) Si f(a) y f(c) tienen distintos signos, entonces hay un cero (raz) en [a, c].
b) Si f(c) y f (b) tienen distinto signo, entonces hay un cero (raz) en [c, b].
c) Si f(c)=0, entonces c es una raz.
32
Mtodos Numricos
Ing. William Caiza
tan(x)*cos(x)
1,5
1
0,5
0
-4 -2 0 2 4 6 8
-0,5
-1
-1,5
Figura 2.6: grafica ejercicio tan(x)*cos(x).
Si f(c) y f (b) tienen distinto signo, entonces hay un 0 en [c, b]; por lo tanto c=a y
b=b.
Ejemplo 4: f(x)=ln(x^3+2)*tan(x)
Grfica de la funcin
33
Mtodos Numricos
Ing. William Caiza
Si f(c) y f (b) tienen distinto signo, entonces hay un 0 en [c, b]; por lo tanto c=a y b=b.
34
Mtodos Numricos
Ing. William Caiza
end
plot(handles.axes1,x,y1);
hold(handles.axes1,'on');
plot(handles.axes1,[-7 7],[0 0],'r');
Sea () = + y = .
Demuestre que para x=1 es un punto fijo:
(1) = 12 2(1) + 2 = 1 2 + 2 = 1
(1) = 1
35
Mtodos Numricos
Ing. William Caiza
= ()
Dado un problema de buscar una raz f (p)=0, podemos definir una funcin g, con
un punto fijo p de diversas formas, por lo tanto sea g(x) = x f(x) si la funcin g
tiene un punto fijo en p entonces, p es una raz de f(x):
3 + 4 2 10 = 0
4 2 = 10 3
10 3 10 3
2 = || =
4 4
10 3
= (1)
4
= ()
( 2 + 4) = 10
10
= (2)
2 + 4
36
Mtodos Numricos
Ing. William Caiza
= ()
3 = 10 4 2
3 3
3 = 10 4 2
3
= 10 4 2 (3)
= g(x)
() = ()
10 3
() =
4
10 3
() =
2
2 10 3
() =
2
() = 0
2 10 3
=0
2
2 10 3 = 0
2
(2)2 = (10 3 )
4 2 = 10 3
3 + 4 2 10 = 0
+1 = ( ) ; = 0,1,2,3
37
Mtodos Numricos
Ing. William Caiza
e = |xrnuevo xranterior |
Ejemplo 6: resuelto en Excel
() = +
= + ()
= + ()
+
= ()
F(x)= =(&^+)
15
10
5
0
-4 -3 -2 -1 0 1 2 3 4 5
-5
-10
-15
-20
-25
38
Mtodos Numricos
Ing. William Caiza
Grfico de la ecuacin (2) en la cual las rectas se intersectan y las funciones convergen.
k pk pk+1=g(pk) Pk pk+1=g(pk)
0 2 0,75 2 1,44224957
1 0,75 1,78515625 1,44224957 1,49047078
2 1,78515625 1,12446938 1,49047078 1,4827081
3 1,12446938 1,71065425 1,4827081 1,48391569
4 1,71065425 1,23009637 1,48391569 1,48372676
5 1,23009637 1,66295816 1,48372676 1,48375629
6 1,66295816 1,29165893 1,48375629 1,48375168
7 1,29165893 1,62835032 1,48375168 1,4837524
8 1,62835032 1,3334784 1,4837524 1,48375229
9 1,3334784 1,60175513 1,48375229 1,4837523
Si (), (), () son continuas cercas de una raz p, esta informacin sobre la
naturaleza de f(x) puede usarse para desarrollar algoritmos que produzcan
sucesiones {pk } que converjan a p ms rpidamente.
Sea = () los puntos (1 ,0) y (2 , (2 )) entonces la pendiente es igual:
0 ( )
= (1) ; = (0 ) (2)
1 0
Igualando tenemos que:
39
Mtodos Numricos
Ing. William Caiza
0 ( )
(0 ) =
1 0
(1 0 ) (0 ) = (0 )
1 (0 ) 0 ( ) = (0 )
(0 ) + 0 (0 )
1 =
(0 )
(0 )
1 = 0
(0 )
Este proceso puede repetirse para obtener la sucesin {pk } que converge ap.
= .
2 0.7 = 0
() = 2 0.7
()=ln^2 0.7
3
2
1
0
-3 -2 -1 -1 0 1 2 3 4 5 6
-2
-3
-4
-5
-6
2
() =
40
Mtodos Numricos
Ing. William Caiza
( )
+1 = ( )
(22 ) 0.7
+1 = 2 +1 = 1.3137
2
2
( )
+1 = ( )
(1.31372 ) 0.7
+1 = 1.3137 +1 = 1.415
2
1.3137
= | |
( )
+1 = ( )
(1.4152 ) 0.7
+1 = 1.415 +1 = 1.419
2
1.415
= | |
( )
+1 = ( )
(1.4192 ) 0.7
+1 = 1.419 +1 = 1.419
2
1.419
= | |
= |1.419 1.419| 0
41
Mtodos Numricos
Ing. William Caiza
funcion=char(inputdlg('ingrese la funcion'));
po=str2double(inputdlg('ingrese valor inicial para calcular la raiz'));
f=inline(funcion);
df=diff(sym(funcion));
dff=inline(df);
p(1)=po;
for i=1:5
p(i+1)=p(i)-(f(p(i))/(dff(p(i))));
end
x=[0:1:5];
set(handles.uitable1,'data',p');
plot(x,p);
42
Mtodos Numricos
Ing. William Caiza
() = ( + )( )( )
() = ( + 3)( 1)2
= ( + 3)( 2 2 + 1)
= 3 22 + + 32 6 + 3
= 3 + 2 5 + 3
f(x)=(x-2)^2
30
25
20
15
10
0
-4 -2 0 2 4 6 8
43
Mtodos Numricos
Ing. William Caiza
Sea f(x)=(x-2) ^3, se puede apreciar en el grfico que el cero topa y corta
tangencialmente al eje de las x.
f(x)=(x-2)^3
20
10
0
-2 -1 0 1 2 3 4 5
-10
-20
-30
-40
El mtodo de Newton Raphson, tiene que ser modificado para ser utilizado en
races mltiples.
()
Sea = () (1)
( )
Y, +1 = ( ) (2)
( ) ( )() ( )
( ) = ( ( ))2
Remplazando (1) en (2)
()
( )
+1 =
( ( ))2 ( ) ( ))
(( ))2
( )(( ))2
+1 =
( )[( ( ))2 ( ) ( ))]
( )( )
+1 =
( ( ))2 ( ) ( ))
44
Mtodos Numricos
Ing. William Caiza
f(x)=(x-3)(x-1)^2
40
20
0
-3 -2 -1 0 1 2 3 4 5 6
-20
-40
-60
Ejercicio extra
Ponemos los siguientes botones para realizar una grfica varias funciones.
45
Mtodos Numricos
Ing. William Caiza
x=[-5:0.1:5];
[fx cx]=size(x);
for i=1:cx;
y(i)=f(x(i));
end
plot(x,y);
hold on;
grid on;
x1=str2double(get(handles.edit2,'String'));
y1=str2double(get(handles.edit3,'String'));
text(x1,y1,'x');
46
Mtodos Numricos
Ing. William Caiza
Mtodo de la biseccin
1.- Use el mtodo de la biseccin para resolver la siguiente funcin (x) = x
cos(x) con una tolerancia de 0,001.
METODO DE LA BISECCION
5
0
-3 -2 -1 0 1 2 3 4 5
-1
-2
47
Mtodos Numricos
Ing. William Caiza
Ejercicios propuestos
Falsa posicin
Ejercicios resueltos:
1.- Planteamiento del problema. Con el mtodo de la falsa posicin determine la
raz:
c
9.8(68.1)
f(c) = (1 e(68.1)10 ) 40
c
Solucin. Se empieza el clculo con los valores iniciales xl = 12 y xu = 16.
Primera iteracin:
xl = 12 f(xl) = 6.0699
xu = 16 f(xu) = 2.2688
2.2688(12 16)
xr = 16 = 14.9113
6.0669 (2.2688)
Segunda iteracin:
f(xl) f(xr) = 1.5426
48
Mtodos Numricos
Ing. William Caiza
xl = 12 f(xl) = 6.0699
xu = 14.9113 f(xu) = 0.2543
0.2543(12 14.9113)
xr = 14.9113 = 14.7942
6.0669 (0.2543)
El cual tiene errores relativos verdaderos y aproximados de 0.09 y 0.79 por ciento.
Es posible realizar iteraciones adicionales para hacer una mejor aproximacin de
las races.
2.- Mediante el mtodo de la falsa posicin encontrar la raz de f(x) = sen 10x +
cos 3x con una toleracia de 0,001
2,5
2
1,5
1
0,5
0
-2 -1 -0,5 0 1 2 3 4 5
-1
-1,5
-2
-2,5
Ejercicios propuestos
49
Mtodos Numricos
Ing. William Caiza
() () 0 ()
= (1) = (2)
(1)=(2)
() () ()
= ( )(() ()) = ()( )
()( ) ()( )
= + =
() () () ()
Por lo tanto generalizando tenemos:
( )( )
= = 1,2,3, .
( ) ( )
50
Mtodos Numricos
Ing. William Caiza
Ejemplo Excel:
Grfica de
la funcin
51
Mtodos Numricos
Ing. William Caiza
Cuadro del
Mtodo de la
Falsa Posicin
EJEMPLO 1:
Sea () = + y x=1. Demuestre que para x=1 es un punto fijo:
(1) = 12 2(1) + 2 = 1 2 + 2 = 1
(1) = 1
= ()
Dado un problema de buscar una raz f(p)=0, podemos definir una funcin g, con
un punto fijo p de diversas formas, por lo tanto sea () = () si la funcin g
tiene un punto fijo en p entonces la funcin definida es:
() = (),
Ejemplo 2:
La ecuacin 3 + 4 2 10 = 0 tiene una raz nica en el intervalo de [1,2],
encuentre una expresin x=g(x)
3 + 4 2 10 = 0
52
Mtodos Numricos
Ing. William Caiza
4 2 = 10 3
( 2 + 4) = 10
10 3
2 =
4 10
= (2)
2 + 4
10 3
|| =
4
10 3
= ()
= (1)
4
3 = 10 4 2
3 3
3 = 10 4 2
3
= () = 10 4 2 (3)
= ()
+ = ( ) ; = , , ,
= | |
Ejemplo Excel:
53
Mtodos Numricos
Ing. William Caiza
() = +
= + ()
= + ()
+
= ()
54
Mtodos Numricos
Ing. William Caiza
55
Mtodos Numricos
Ing. William Caiza
56
Mtodos Numricos
Ing. William Caiza
0 ( )
= (1) ; = (0 ) (2)
1 0
0 ( )
(0 ) =
1 0
(1 0 ) (0 ) = (0 )
1 (0 ) 0 ( ) = (0 )
(0 ) + 0 (0 )
1 =
(0 )
(0 )
1 = 0
(0 )
Este proceso puede repetirse para obtener la sucesin { } que converge ap.
2 [, ]
Esto quiere decir, f elementos de las continuas e integrables en el intervalo [a, b] y que
exista un nmero [, ] tal que f(p)=0
(1 )
= (1 ) = 1 ; = 1,2,
(1 )
57
Mtodos Numricos
Ing. William Caiza
Ejemplo:
Aplicar el mtodo de Newton-Raphson para resolver la siguiente ecuacin:
= .
ln 2 0.7 = 0
() = ln 2 0.7
2
() =
( )
+1 = ( )
(22 ) 0.7
+1 = 2 +1 = 1.3137
2
2
( )
+1 = ( )
(1.31372 ) 0.7
+1 = 1.3137 +1 = 1.415
2
1.3137
= | |
( )
+1 = ( )
58
Mtodos Numricos
Ing. William Caiza
(1.4152 ) 0.7
+1 = 1.415 +1 = 1.419
2
1.415
= | |
( )
+1 = ( )
(1.4192 ) 0.7
+1 = 1.419 +1 = 1.419
2
1.419
= | |
= |1.419 1.419| 0
59
Mtodos Numricos
Ing. William Caiza
Ejemplo:
= ( )( + )
= 2 + 3 3
= 2 + 2 3
2
= = = 1
2 2(1)
= (1)2 + 2(1) 3
-1-2-3 = -4.
-3 -1 1 2
-4
SI x=2
F(3)= 4+4-3 =5
(2 , 5)
Encontramos la recta en x=2
m f(2)=2x+2
2(2)+2=6
y5=6(x2)
y 5 = 6 x 12
1) y = 6x 7
x y
0 -7
1 1
60
Mtodos Numricos
Ing. William Caiza
1) En y = 0
0 =6x 7
7= 6x
X=7/6
Ahora encuentro la recta tg en x= 7/6.
(7/6 , f(7/6))
2
(76) = (76) + 2(76) 3
49/36 + 7/3 -3
49 + 84 108
=
36
=
(76) = 2(76) + 2
7 7+6
= +2= =
3 3
= ( )
13 13(7) 25
= +
3 18 36
) =
Si y = 0 en 2
13 157
0=
3 36
157 13
=
36 3
= = .
61
Mtodos Numricos
Ing. William Caiza
CAPITULO III
INTRODUCCIN
Matriz escalonada
Para precisar las ideas sobre la forma especial de los sistemas que pueden resolverse por
el mtodo de sustitucin hacia atrs, se utiliza el concepto de matriz escalonada. As se
dira que un sistema con esta forma especial tiene como matriz aumentada una matriz en la
forma escalonada.
Sea A una matriz nm. A es escalonada si es nula o si satisface las tres condiciones
siguientes:
Es decir, la forma escalonada reducida se obtiene de una forma escalonada, haciendo cero
los elementos de la matriz arriba de los primeros unos de cada fila.
62
Mtodos Numricos
Ing. William Caiza
Para caracterizar los sistemas de ecuaciones lineales que tienen solucin y aquellos que
no la tienen se introducira la nocin de rango de una matriz, lo cual requerira ampliar un
poco la notacin de sistemas.
63
Mtodos Numricos
Ing. William Caiza
Aunque es claro, en este caso, que agregando filas nulas a la que tenga menos filas, se
pueden transformar en matrices equivalentes.
Teorema Si A es una matriz mn entonces existe una nica matriz B con la forma
escalonada reducida que es equivalente a A.
Definicin (Rango de A)
Sea A una matriz nm, se llama rango de A y se denota Rng (A) al nmero de filas no
nulas de la matriz en la forma escalonada reducida equivalente a A.
64
Mtodos Numricos
Ing. William Caiza
En cada columna de la forma escalonada de la matriz del sistema, hay un primer uno de
alguna fila.
O, el nmero de filas no nulas en la matriz del sistema en su forma escalonada es igual a
m, el nmero de variables del sistema.
O, Rng (A) = Rng (A|b) = m.
Sistemas homogneos
65
Mtodos Numricos
Ing. William Caiza
Si las constantes a la derecha del igual en todas las ecuaciones son cero, se dice que el
sistema es homogneo, es decir, Ax = b se llama homogneo si b = 0 es el vector columna
de ceros. En este caso, se tiene que Rng (A) = RngA|0)
Porque ninguna operacin elemental sobre las filas de (A|0), puede cambiar los ceros que
forman la ltima columna de (A|0). As, en un sistema homogneo no pueden existir
ecuaciones inconsistentes.
As, el Rng (A) informa del nmero de ecuaciones que realmente aportan informacin para
resolver el sistema homogneo Ax = 0, o en otros trminos, El Rng (A) es:
66
Mtodos Numricos
Ing. William Caiza
i) Rng (A) = n.
ii) A es equivalente a la identidad.
iii) Ax = 0 tiene solucin nica.
iv) Ax = b tiene solucin nica para todo b elemento de Rn.
1) ; .
2)
3) 1 2
[ ] [ ] [+1 +1 ] [ ]
[()]
= , ||
||
Ejemplo:
Calcular la matriz inversa:
1 1 3
=[ 2 1 4] || = (1 + 12 + 4) (3 + 8 2) || = 17 3 = 14 || 0
1 2 1
67
Mtodos Numricos
Ing. William Caiza
1 1 3 1 0 0 1 1 3 1 0 0 1
[2 1 4| 0 1 0] 2 2 21 [0 3 2| 2 1 0] 2 2
1 2 1 0 0 1 3 3 21 0 1 4 1 0 1 3
7 1 1
1 0 0
1 1 3 1 0 0 + 3 3 3
2 2 1 1 1 2
2| 2 1
[0 1 | 0] 0 1 0 3
3 3 3 3 3 2 3| 3 3 3 3 ( )
0 1 4 1 0 1 14 5 1 14
[0 0 3 3
3
1]
1 1 1 1 1
7 0 7
1 0 2 3 1 1 3 2 2 2
3 2 1 3 1 0 0 3 2 1
2|| 0 2 0 1 0|
0 1 3 3 2 2 + 3 0 0 1 7 7 7
3 5 1 3 3 5 1 3
0 0 1
[ 14 14 14] [ 14 14 14 ]
Verificacin:
1 1 1
2 2 2
1 1 3 3 2 1 1 0 0
1 =[ 2 1 4] [0 1 0]
1 2 1 7 7 7 0 0 1
5 1 3
[ 14 14 14 ]
1 9 5 1 9 5 1 9 5
(1 3 1) 2 3 (0 4 2 ) 2/2 (0 2 1)
1 1 1 3 1 0 8 4 3/4 0 2 1 3 + 2
1 9 5
(0 2 1) () = 2
0 0 0
68
Mtodos Numricos
Ing. William Caiza
1 9 5 33 1 9 5 33
(1 3 1 |9) 2 1 (1 12 6 |42) 2/6
1 1 1 5 1 1 1 5
1 9 5 33 1 9 5 33
(0 2 1 |7) (0 2 1 |7)
1 1 1 5 3 + 2 1 1 0 2 3 1
1 9 5 33 1 9 5 33
(0 2 1 | 7 ) (0 2 1 |7)
1 10 5 35 3/5 0 2 1 7 3 2
1 9 5 33
(0 2 1 |7) () = 2 < , ,
0 0 0 0
=>
2 1 = 7 x = 33 + 9y 5z
7+
X 9y 5 z = 33 = 33 + 9 ( 2 ) 5
63 9
Donde = 33 + + 2 5
2
63 1
2y = 7 + z = 33 + 2
2
+
= =
Sea z = t
129 1
= 2 2
{ = 7+ , :
2
=
69
Mtodos Numricos
Ing. William Caiza
Ejemplo:
70
Mtodos Numricos
Ing. William Caiza
3 2 1 1
= [1 1 1] ; = [ 2]
1 3 1 1
3 2 1 1 1 31 + 22 + 3 1
[1 1 1] [2 ] = [ 2 ] [ 1 + 2 3 ] = [ 2 ]
1 3 1 3 1 1 + 32 + 3 1
31 + 22 + 3 = 1
{ 1 + 2 3 = 2
1 + 32 + 3 = 1
DEFINICIN: Se dice que una matriz = [ ] triangular superior cuando sus elementos
Se dice que una matriz = [ ] , es triangular inferior cuando sus elementos verifican
= 0, para < .
Ejemplo:
11 12 13 <
= [21 22 23 ]
31 32 33
=
>
[ ] = 0 >
71
Mtodos Numricos
Ing. William Caiza
1 0 0
[ ] = 0 <
= [2 1 0]
3 2 4
Si A es una matriz triangular superior entonces se dice que el sistema = es un sistema
triangular superior de ecuaciones lineales:
11 1 + 12 2 + 13 3 + + 1 = 1
22 2 + 23 3 + + 2 = 2
(1)
2,2 2 + 2,1 1 + 2, = 2
1,1 1 + 1, = 1
=
La solucin es fcil, la ltima ecuacin solo contiene la incgnita , es decir:
= ; 0
Conocido , podemos utilizarla para encontrar 1
1 1,
1 =
1,1
As:
2 2,1 1 2,
2 =
2,2
3 2,2 2 3,1 1 3,
3 =
3,3
Generalizando tenemos:
=+1
=
Ejemplo
Aplicando el mtodo de sustitucin hacia atrs de una matriz 4X4
72
Mtodos Numricos
Ing. William Caiza
11 1 + 12 2 + 13 3 + 14 4 = 1
0 + 22 2 + 23 3 + 24 4 = 2
0 +0 + 33 3 + 34 4 = 3
0 +0 + 43 3 + 44 4 = 4
4
4 = (Constante y conocido)
44
3 34 4
3 =
33
2 23 3 24 4 2 (23 3 + 24 4 )
2 = =
22 22
1 12 2 13 3 14 4 1 (12 2 + 13 3 +)
1 = =
11 22
73
Mtodos Numricos
Ing. William Caiza
74
Mtodos Numricos
Ing. William Caiza
75
Mtodos Numricos
Ing. William Caiza
1 + 22 + 3 + 44 = 13
21 + 02 + 43 + 34 = 28
41 + 22 + 23 + 4 = 20
31 + 2 + 33 + 24 = 6
1 2 1 4 13
[2 0 4 3| 28]
4 2 2 1 20
3 1 3 2 6
21 2
= 2 21 = = = 2 ; 2 2 21 1
11 1
1 2 1 4 13
[ 0 4 2 5| 2 ]
4 2 2 1 20
3 1 3 2 6
31 4
= 3 31 = = = 4 ; 3 3 31 1
11 1
1 2 1 4 13
[0 4 2 5 | 2 ]
0 6 2 15 32
3 1 3 2 6
41 3
= 4 41 = = = 3 ; 4 4 41 1
11 1
76
Mtodos Numricos
Ing. William Caiza
1 2 1 4 13
[0 4 2 5 | 2 ]
0 6 2 15 32
0 7 6 14 45
Segunda columna
= , = , ,
32 6 3
= 3 32 = = = ; 3 3 32 2
22 4 2
1 2 1 4 13
0 4 2 5 | 2 ]
[
0 0 5 152 35
0 7 6 14 45
42 7 7
= 4 42 = = = ; 4 4 42 2
22 4 4
1 2 1 4 13
0 4 2 5 2
[ | ]
0 0 5 152 35
0 0 192 214 972
Tercera columna
= , = ,
19
43 19
= 4 43 = = 2 = ; 4 43 3
33 5 10 4
1 2 1 4 13
0 4 2 5 | 2 ]
[
0 0 5 152 35
0 0 0 9 18
94 = 18 =
15 15
53 4 = 35 53 (2) = 35 =
2 2
42 + 23 54 = 2 42 + 2(4) 5(2) = 2 =
1 + 22 + 3 + 44 = 13 1 + 2(1) + 4 + 4(2) = 13 =
Ejemplo2
77
Mtodos Numricos
Ing. William Caiza
Calculemos el rango
3 2 1
[1 1 1]
1 2 3
Primera columna
21 1 1
= 2 21 = = = ; 2 2 21 1
11 3 3
3 2 1
5 4
[0 ]
3 3
1 2 3
31 1 1
= 3 31 = = = ; 3 3 31 1
11 3 3
3 2 1
5 4
0
3 3
4 10
[0 3 3 ]
Segunda columna
= , =
32 6 3
= 3 32 = = = ; 3 3 32 2
22 4 2
3 2 1
5 4
0
3 3
22
[0 0 5 ]
78
Mtodos Numricos
Ing. William Caiza
3 2 1 2
[1 1 1| 1]
1 2 3 1
= , = , ,
Primera columna
21 1 1
= 2 21 = = = ; 2 2 21 1
11 3 3
3 2 1 2
[ 0 5/3 4/3| 5/3]
1 2 3 5/3
31 1 1
= 3 31 = = = ; 3 3 31 1
11 3 3
3 2 1 2
[0 5/3 4/3| 5/3]
0 4/3 10/3 5/3
Segunda columna
= , =
32 6 3
= 3 32 = = = ; 3 3 32 2
22 4 2
3 2 1 2
[ 0 5/3 4/3 | 5/3 ]
0 0 22/5 1/3
El rango de A
Ran(A)=3
Ran(A|b)=3
m=3
ELIMINACIN DE GAUSS-JORDAN
79
Mtodos Numricos
Ing. William Caiza
ALGORITMO:
EJERCICIOS:
+ + =
=
=
3 1 1
1
3 1 1 2 2 2
2 3 1 1 1
1 2
2| 2] 2 2 31 13 11| 9 2
[3 2 4| 3] [ 0 2 2 ( )
2 3 2 4 3 3 3 51 2 2| 2 13
5 1 1 4
5 1 1 4 17 7 3
[0 2
2 2 ]
80
Mtodos Numricos
Ing. William Caiza
3 1 1 10 7
1 1 0 10 7
2 2 2 3 13 13 1 0
11| 9 1 1 2
2 11| 9 13 13 13
0 1 0 1 3 3 ( ) 11|| 9
13| 13 17 13| 13 48 0 1
17 7 3 3 3 + 2 48 96 13 13
2 [0 0 1 2 ]
[0
2
2 2 ] [0 0
13 13 ]
10
1 1 + 3 1 0 0 1 =
13 [0 1
11 0| 1] =
2 2 3 0 0 1 2 =
13
+ =
+ =
2 5
3 2 3 5 1 1 2 1 5 1
3
1
[ | ] [ 3 | 3] 2 2 21 [ | 3 ]
2 4 1 2 1 3 16 4
2 4 1 2 0 3
3 3
2 5 5 3
3 1 3 1
3 2 1 0
8 | 2 ]
2 2 ( ) [ | ] 1 1 + 2 [
16 9 1 3 9 1
0 1 0 1
16 4 16 4
5 3 3 5
+ = =
8 2 2 8
9 1 9 1
= =
16 4 16 4
=
=
=
=
81
Mtodos Numricos
Ing. William Caiza
1
1 1 2 1 1 3
2 1 6 1 1 3 2 3
[ | ]
1 4 1 2
[ 2| 4] 2 2 1 [ | ]
1 1 2 1
[ 2| 2 ] 1
1 0 2 0 1 2 1
2
2
1 3 1
1 0 2( 1)
1 2 | 2 1 0
2 0 1 2 2
[ 2 1 ]
1
=
2
1
2
+ =
+ =
1
1 1 1
2 1 2 | 2 ] ( 2 )
[ | ] 1 [1 2| 2] 2 2 1 [
2 1 2 4 2 2 2 2
4 2
2 1 0
2 2
1 1
1 0 2+
[1 2| 2 ] 1 1 2 [ | ]
1 2 0 1 1
0 1
2+ 2+
4 2 0 4 2 2 4 2
|| =
i. 0 || = || = 2 = 2
ii. < 0 || = || = 2 = 2
= 2
1 0 12
[ | ] 02
0 0 2
2
= 2
1 1 12
[ | ]
0 0 0
82
Mtodos Numricos
Ing. William Caiza
83
Mtodos Numricos
Ing. William Caiza
11 12 13 11 0 0
=[ 0 22 23 ] = [21 22 0 ]
0 0 33 31 32 33
=
=
=
=
=
= = [ ] (2)
= = [ ] (1)
=
() ()
=
[ ]
84
Mtodos Numricos
Ing. William Caiza
end
end
for i=1:n
B(i)=A(i,n+1);
end
U=zeros(n);%triangular superior
L=zeros(n);%triangular inferior
for j=1:n
L(j,j)=1;
end
for j=1:n
U(1,j)=A(1,j);
end
for i=2:n
for j=1:n
for k=1:i-1
s1=0;
if k==1
s1=0;
else
for p=1:k-1
s1=s1+L(i,p)*U(p,k);
end
end
L(i,k)=(A(i,k)-s1)/U(k,k);
end
for k=i:n
s2=0;
for p=1:i-1
s2=s2+L(i,p)*U(p,k);
end
U(i,k)=A(i,k)-s2;
end
end
end
Laux=L;
for i=1:n
Laux(i,n+1)=B(i);
end
for i=1:n
Sumatoria=0;
for p=1:i-1
Sumatoria=Sumatoria+Laux(i,p)*z(p);
end
z(i)=(Laux(i,n+1)-Sumatoria)/Laux(i,i);
end
Uaux=U;
for i=1:n
Uaux(i,n+1)=z(i);
end
85
Mtodos Numricos
Ing. William Caiza
for i=n:-1:1
sumat=0;
for j=i+1:n
sumat=sumat+Uaux(i,j)*x(j);
end
x(i)=(Uaux(i,n+1)-sumat)/Uaux(i,i);
end
set(handles.uitable1,'Data',A);
set(handles.uitable2,'Data',L);
set(handles.uitable3,'Data',U);
set(handles.uitable4,'Data',x);
end
MTODO DOOLITTLE`S
86
Mtodos Numricos
Ing. William Caiza
= [ ] = []
11 0 0 11 12 13
= [ ] = [21 22 0 ][ 0 22 23 ]
31 32 33 0 0 33
11 11 = 8 =
11 12 = 6 =
11 13 = 2 =
21 11 = 4 =
21 12 +22 22 = 11 =
21 13 +22 23 = 7 =
31 11 = 4 =
31 12 +32 22 = 7 =
31 13 +32 23 + 33 33 = 6 =
1 0 0
1 8 6 2
1 0
2 [0 8 6]
1 1 0 0 2
[ 2 1]
2
=
=
= ()
= ()
Resolviendo (1)
1 0 0 1
2 1 + 2 = 40 14 + 2 = 40
1 28
1 0| =
2 | 40
1 1
2 + 3 = 33 14 + 13 + 3 = 33
1 1 6 2 1 2
[ 2 1 ] =
2
Resolviendo (2)
87
Mtodos Numricos
Ing. William Caiza
8 6 2 28 23 = 6 =
[0 8 6| 40] 82 63 = 26 82 6(3) = 26
0 0 2 6 =
81 62 + 23 = 28 81 = 6(1)
2(3) + 28 =
[
] [ ] = []
+ = () () + () = =
Ejercicios Propuestos
88
Mtodos Numricos
Ing. William Caiza
Mtodo de Gauss
Resuelva las siguientes ecuaciones por el mtodo de Gauss
1)
2)
3)
4)
5)
Mtodo De Sustitucin
1)
2)
3)
4)
5)
89
Mtodos Numricos
Ing. William Caiza
(1) (2)
(3)
(4) (5)
90
Mtodos Numricos
Ing. William Caiza
Ejemplo 1:
= 0 + 1
y = 5 + 3x ; x=7
y=5+3(7)
y = 26.
1) Desconocidos
= 0 + 1 + 2 2
Se ajusta
a una parbola
recta
91
Mtodos Numricos
Ing. William Caiza
2
=1
92
Mtodos Numricos
Ing. William Caiza
1 1
2 2
. .
Entonces,
0
= 0 + 1
1
(0 ) = 0
(1 ) = 1
1) , 0 , 1
=
Sea:
= +
=> =
= (0 + 1 )2
2 = ( 0 + 1 )2
=1 =1
0 +
= [2 2 ( 1 ) + (
0 +
1 )2 ]
2
0 2
= [2 2 0 2 + 2
1 + 0
1 +
1 ]
=
,
93
Mtodos Numricos
Ing. William Caiza
Y 3 6 10 5 10 12 5 10 10 8
X 1 1 1 2 2 2 3 3 3 2
Interpretacin 1
Interpretacin:
La interpretacin para generar un modelo de ajuste de los datos de la tabla anterior, el
tcnico deber definir inicialmente que variable lo va a tomar como independiente o
dependiente para el caso que estamos analizando, a los vendedores se los toma como
variable independiente y a los televisores vendidos como variable dependiente.
Por cada vendedor que se aumente las ventas aumentaran en una unidad.
Verificacin
= . + .
Si x = 2 y = 8.9
Si x = 3 y = 10.4
94
Mtodos Numricos
Ing. William Caiza
Por lo tanto la diferencia es 10.4 8.9=1.5, lo cual comprueba que por el aumento de un
vendedor las ventas aumentan en 1.5 artculos.
Para comprobar si el modelo es adecuado o no, se debera calcular el coeficiente de
determinacin .
El cual nos indica que cantidad de la variabilidad del modelo est justificada, para el caso
R2 = 0.076 R2 = 7.6%, lo cual nos indica que es un porcentaje muy bajo de la
justificacin de su variabilidad por ende es un modelo no adecuado.
Como solo el 7.6% de la variabilidad est justificado, no se considera buen modelo.
Un modelo adecuado, para ser considerado en el anlisis debera tener al menos un 70%
del coeficiente de variabilidad ( ), el valor anterior se deduce de la experiencia en la
elaboracin de diferentes modelos.
Verificacin
= . +
= 2 = 7.9
Para cada aumento de vendedores las ventas aumentaran en 1, es decir, que si disminuyo
vendedores, las ventas tambin disminuirn en unidad, esto es de acuerdo a la funcin
encontrada.
2 = 0.076 2 = 7.6%
95
Mtodos Numricos
Ing. William Caiza
Interpretacin 2
Clculos en Excel
x y xy x^2
1 3 3 1
Vendedores Vs televisores
1 6 6 1 14
y = x + 5,9
1 10 10 1 12
R = 0,076
2 5 10 4 10
2 10 20 4 Televisores 8
2 12 24 4
6
3 5 15 9
3 10 30 9 4
3 10 30 9 2
2 8 16 4 0
Suma 20 79 164 46 0 1 2 3 4
Promedio 2 7,9 Vendedores
B1= 1
B0= 5,9
96
Mtodos Numricos
Ing. William Caiza
( ) = , donde = ; donde = +
( ) = ( ( )) = ;
( , ) = ( ( )) ( ( )) =
Por lo tanto:
1
() = ( x)2
1
4.2.1 Propiedades
(xi 2 2xi x + x 2 ) = xi 2 2 xi x + x 2
97
Mtodos Numricos
Ing. William Caiza
= xi 2 2xnx + nx 2
= xi 2 2nx 2 + nx 2
(yi 2 2yi y + y 2 ) = yi 2 2 yi y + y 2
= yi 2 2yny + ny 2
= yi 2 2ny 2 + ny 2
= ( )( ) =
Demostracin:
SCxy = (xi x)(yi y)
= xi yi xyi yxi + xy
=
; =
; +
=
Ejemplo 2
= 0
2
(
)
=0
Modelo: Min(SCE)
Sujeto a:
= 0
= 0
1
98
Mtodos Numricos
Ing. William Caiza
= (
)
2 0 +
= ( ( 1 ))2
=1 =1
0 +
= [2 2 ( 1 ) + (
0 +
1 )2 ]
2
0 2
= [2 2 0 2 + 2
1 + 0
1 +
1 ]
2
0 2
= 2 2 0 2 + 2
1 + 0
1 +
1 ]
12 2
+ ++ =0
=
+ 2
( + +
)
1
= 1 + 2 + +
=
= 2 +
( 2 + +
2 )
= 21 + 22 + + 2
= +
( 2 + +
)
1
1 +
= 2 + +
= (1 + + )
=
:
+2
2 +2n 1 = 0
+
- + 1 = 0 (1)
= 0
2 + 2 1 2 =0
0 +2
0 +
+ 1 2 =0 (2)
99
Mtodos Numricos
Ing. William Caiza
+ + 1 = 0
Ecuaciones Normales {
0 +
+ 1 2 = 0
Ejercicio.-
Encontrar 0 1
x y
(1+3+5+6) 15
1 1 = =4
4
3 3,5
(1+3.5+6+7) 17.5
5 6 = =
4 4
6 7
( )( ) ( )^2
143
1 = 8 = 1.212
59
4
175 15
0 = 1.212 = 0.17
4 4
= 0.17 + 1.212
Ejercicio 2
100
Mtodos Numricos
Ing. William Caiza
2
= 81.4 (1 )
1 =14.134
2
= 4.2 (1 )
1 =31.229
219.2
1 = = 0.143
152.68
a.- Interpretacin
Ttulo del grfico
Hipertensin=f(ruido) 8
7 y = 0,1436x - 7,4895
= 7.4402 + 0.143 R = 0,6903
6
b.- Si x=65
5
= 7.4402 + 0.143(65) 4
= 1.815 3
2
Si x=66
1
= 7.4402 + 0.143(66) 0
0 20 40 60 80 100 120
= 1.958
Por cada nivel que aumenta en el ruido, la hipertensin aumenta a 0.143 unidades
101
Mtodos Numricos
Ing. William Caiza
El coeficiente de correlacin de Pearson (r), mide la relacin lineal existente entre dos
variables.
El coeficiente de correlacin es un valor que se encuentra en el intervalo [-1 , 1]; teniendo
en cuenta que si r se acerca a 1, se dice que existe una relacin lineal fuerte positiva, es
decir: si la variable x toma valores grandes la variable y tambin toma variables grandes y
si la variable x toma valores pequeos, la variable y tambin toma valores pequeos.
Si el coeficiente de correlacin toma valores alrededor de cero, el coeficiente de Person
indica que no existe una relacin lineal entre dichas variables.
Adems si el coeficiente de PEARSON toma valores cercanos a -1, indica que existe una
relacin lineal fuerte negativa, es decir: si la variable x aumenta la variable y disminuye y si
la variable x disminuye la variable y aumenta.
A continuacin analicemos las siguientes expresiones:
La covarianza de dos variables se define como Sxy; y la suma de los cuadrados de los xy
como SCxy, cuya relacin se la define de la forma siguiente:
1
= ( )( )
1
( 1) = ( )( )
(1) =
=
1
= 2 = ( )2
= ( )( ) = ;
102
Mtodos Numricos
Ing. William Caiza
= 1
= 1
( ) .
1
=
.
( 1)
=
( 1).
=
.
103
Mtodos Numricos
Ing. William Caiza
Respuesta: esto nos indica que por cada kg que aumente de peso el carro, el consumo de
combustible es 0,0134 por cada 100km.
(r) nos indica si existe relacin lineal entre el peso del carro y el consumo de combustible.
104
Mtodos Numricos
Ing. William Caiza
for i=1:2
for j=1:n
etiqueta=['Dato(' num2str(i) ';' num2str(j) ')'];
dato(j,i)=str2double(inputdlg(etiqueta));
end
end
%calculo de promedios
sumx=0;
for i=1:n
sumx=sumx+dato(i,1);
end
promx=(sumx/n);
sumy=0;
for i=1:n
sumy=sumy+dato(i,2);
end
promy=(sumy/n);
%suma de los xy
sumpxy=0;
for i=1:n
sumpxy=sumpxy+(dato(i,1)-promx)*(dato(i,2)-promy);
end
sumpxx=0;
for i=1:n
sumpxx=sumpxx+(dato(i,1)-promx)*(dato(i,1)-promx);
end
sumpyy=0;
for i=1:n
sumpyy=sumpyy+(dato(i,2)-promy)*(dato(i,2)-promy);
end
%calculo de r
r=sumpxy/sqrt(sumpxx*sumpyy);
beta1= (sumpxy/sumpxx);
beta0= promy-beta1*promx;
%calculo de r^2
for i=1:n
ytecho(i)=beta0+beta1*promx;
end
%condiciones
if r>=0.7
etiqueta='Relacion Lineal Fuerte';
end
if r<=0.7 & r>=0.5
etiqueta='Relacion Lineal debil';
end
if r<0.5 & r>-0.5
etiqueta='no existe Relacion Lineal ';
end
if r<-0.7 & r>=-0.5
etiqueta='Relacion lineal d ';
end
105
Mtodos Numricos
Ing. William Caiza
if r<=-0.7
etiqueta='R.L.F. ';
end
set(handles.uitable1,'Data',dato);
set(handles.text2,'String',etiqueta);
set(handles.uitable2,'Data',[ beta1 beta0 r ]');
plot(dato(:,1),dato(:,2),'r*');
hold on;
grid on;
plot([-10 10],[0 0],'r');
plot([0 0],[-10 10],'r');
106
Mtodos Numricos
Ing. William Caiza
107
Mtodos Numricos
Ing. William Caiza
Ejemplo 5
R2 = 0.85, indica que el 85% de la variacin del modelo lineal est justificada y que solo un
15% no est justificado debido a la aleatoriedad del fenmeno.
SCyy=SCE+SCR
2 2
( ) = (1 )
+ ( )2
=1 =1 =1
108
Mtodos Numricos
Ing. William Caiza
2 =
2 =
=
Dado un modelo no lineal mediante transformaciones pasar a modelo lineal
Sea el modelo potencial
=
= ( )
= +
= +
= + 1
=
0 =
1 =
=
Ejercicios
= . ,
= +
= + 1
=
=
=
109
Mtodos Numricos
Ing. William Caiza
=
=
=
+ =
=
= 0 + 1
=
=
=
Coeficiente de determinacin ( )
0 +
Determina el porcentaje de variacin del modelo justificativo por la relacin lineal y= 1
Coeficiente de correlacin(r)
(,)
Corr(x,y)=
(,)(,)
2. ( ) = ( ( )) = ;
3. ( , ) = ( ( )) ( ( )) =
110
Mtodos Numricos
Ing. William Caiza
PROPIEDADES
= ( )2 , demuestre que = 2 2
( 2 2 + 2 ) = 2 2 + 2
= 2 2 + 2
= 2 2 2 + 2
= ( + )
= +
= +
=
=
EJERCICIO
Demuestre: =
Sabemos:
1 =
=
2
1 =
=
2
111
Mtodos Numricos
Ing. William Caiza
1 =
= 2 2
2
1 =
2 2
=
Programa de Regresin Lineal.
112
Mtodos Numricos
Ing. William Caiza
MODELO POTENCIAL
=
EJERCICIOS
= .
=
= + ln
= + 1 =
= ln = ln
= ln + ln = ln
= ln = ln ln
= = 0 + 1
=
=
=
=
En el captulo anterior se desarroll el ajuste lineal simple, es decir donde haba una
variable dependiente junto a una variable independiente.
En el presente tema se tratar el caso de ajuste lineal donde hay una variable dependiente
y varias variables independientes, por ejemplo:
= ( , , )
113
Mtodos Numricos
Ing. William Caiza
La expresin anterior indica que el ingreso del docente (ID) es funcin de los aos de
servicio(AS), de los ttulos obtenidos (TO) y de las publicaciones hechas(PH), pudindose
tener la siguiente expresin lineal.
= + + , en la expresin es necesario conocer las constantes a, b y
c las mismas que se obtendrn mediante el mtodo de mnimos cuadrados como se
describe a continuacin:
= (1 , 2 , 3 , , )
0 +
= 0 1 +
0 2 +. . . +
0
Para el caso d funcin real de variable vectorial:
1 = 0 + 1 11 + 2 12 +. . . + 1 + 1
2 = 0 + 1 21 + 2 22 +. . . + 2 + 2
= 0 + 1 1 + 2 2 +. . . + +
= + (1)
= 1 , 2 , , ,
= (+1) (+1) + 1
Ejemplo 6
Matricialmente la expresin (1) se puede representar de la siguiente manera:
1 1 11 12 1 1
(2 ) = (1 21 22 ) (2 ) + (2 )
3 1 31 32 3 3
1 0 1 11 2 12 1
( 2 ) = (0 1 21 2 22 ) + ( 2 )
3 0 1 31 2 32 3
1 0 + 1 11 + 2 12 + 1
(2 ) = (0 + 1 21 + 2 22 + 2 )
3 0 + 1 31 + 2 32 + 3
114
Mtodos Numricos
Ing. William Caiza
m=3;
n=str2double(inputdlg('Ingrese el numero de filas:'));
for i=2:m
for j=1:n
etiqueta=['Ingrese el valor X(',num2str(j),',',num2str(i),')'];
x(j,i)=str2double(inputdlg(etiqueta));
end
end
x(:,1)=1;
for i=1:n
etiqueta=['Ingrese el valor B(1,',num2str(i),')'];
y(i,1)=str2double(inputdlg(etiqueta));
end
total=(inv(x'*x)*(x'*y));
for i=1:n
ys(i,1)=(total(1,1)*x(i,1))+(total(2,1)*x(i,2))+(total(3,1)*x(i,3));
end
set(handles.uitable1,'Data',x);
set(handles.uitable2,'Data',y);
set(handles.uitable3,'Data',total);
set(handles.text1,'String',ys);
x=[x(:,2) x(:,3)];
plot3(x,y,ys,'*');
grid on;
axis on;
hold on;
rotate3d on;
plot3([min(x(:,1)) max(x(:,1))],[min(y) max(y)],[min(ys) max(ys)]);
Programa Ejecutado
115
Mtodos Numricos
Ing. William Caiza
Sea = 51 + 22 + 33
(1 , 2 , 3 ) = 51 + 22 + 33
5
= ( 2)
3
= ( ) =
1
( ) = (2 )
3
= 1 + 2 + 3
1
( ) = (2 ) =
3
= ;
( ) = 2
11 12 13 1
(1 2 3 ) = (12 22 23 ) (2 )
13 23 33 3
116
Mtodos Numricos
Ing. William Caiza
1
(11 1 + 12 2 + 13 3 + 12 1 + 22 2 + 23 3 ) + 13 1 + 23 2 + 33 3 = (2 )
3
11 1 + 12 2 1 + 13 3 1 + 12 1 2 + 22 2 + 23 3 2 + 13 3 1 + 23 3 2 +33 32
2 2
= 211 1 + 212 2 + 213 3
1
= 212 1 + 222 2 + 223 3
2
= 233 3 + 213 1 + 223 2
3
11 12 13 1
= (12 22 23 ) (2 ) () = 2
13 23 33 3
Demuestre que: = 2 +
= ( ) ( )
= ( + () )( )
= ( )( )
=
Se debera demostrar que:
=
= ( )
=
= ( )
= ( )
= ( ( ) )
=
= 2 +
= 2 +
=
2 = ( )2 = ( 0 0 )2
117
Mtodos Numricos
Ing. William Caiza
= ( (0 + 0 ))2
2
=1 =1
= [ 2 2 (0 + )]2
=1
= [ 2 2 (0 + ) + (0 + 0 )2 ]
=1
2
= [ 2 2 0 2 + 0 + 20 1 + 1 2 ]
=1
2 = = 0
0 1 0 1
2 2
= [2 20 1 21 + 0 + 20 1 2 + 1 1 2 ]
0 0
2
= (20 1 + 1 + 20 1 2)
0 0 0
2 + 0 + 1 =0
118
Mtodos Numricos
Ing. William Caiza
for i=1:n
restx(i)=(x(i)-xbarra);
end
for i=1:n
resty(i)=(y(i)-ybarra);
end
for i=1:n
SCxy(i)=restx(i)*resty(i);
SCxx(i)=restx(i)*restx(i);
SCyy(i)=resty(i)*resty(i);
end
b1=num2str((sum(SCxy))/(sum(SCxx)));
etiqueta=['b1: ',num2str(b1)];
set(handles.text2,'String',etiqueta)
b0=num2str(ybarra-(str2double(b1)*xbarra));
etiqueta=['b0: ',num2str(b0)];
set(handles.text3,'String',etiqueta)
datos=[x' y' restx' resty' SCxy' SCxx' SCyy'];
set(handles.uitable1,'Data',datos);
etiqueta=['xbarra: ',num2str(xbarra)];
set(handles.text1,'String',etiqueta);
etiqueta=['ybarra: ',num2str(ybarra)];
set(handles.text4,'String',etiqueta);
etiqueta=['Y=',b0,'+',b1,'(x)'];
set(handles.text10,'String',etiqueta);
Programa Ejecutado
119
Mtodos Numricos
Ing. William Caiza
Ejercicios propuestos
Ajuste de curvas
1.- Ajustar los datos de la siguiente tabla:
X 1 2 4
Y 3 5,1 8,8
200 60
400 120
500 150
700 210
900 260
1000 290
3.- 15 estudiantes a los cuales se les realizo un test de inteligencia cuyas puntuaciones se
reflejan en la variable X, y a los que se haba realizado una prueba que se refleja en las
puntuaciones de la variable Y, calcular la recta de regresin de Y sobre X.
n 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
X 9 12 6 9 7 9 5 9 7 3 10 6 11 4 13
Y 5 5 1 4 2 2 1 3 3 1 4 2 5 2 5
4.- Construir una recta que aproxime los datos de la tabla siguiente y hallar la ecuacin de
dicha recta:
X 1 2 4 5 6 8
Y 1 2 2 4 5 7
120
Mtodos Numricos
Ing. William Caiza
5.- Ajustar una recta de mnimos cuadrados a los datos de la tabla que a continuacin se
indica, en los casos siguientes:
a).- X como variable independiente,
b).- Y como variable independiente.
Y hacer la grfica correspondiente
X 1986 1987 1988 1989 1990 1991 1992 1993 1994
Y 18 20 22 24 25 26 28 30 32
Coeficiente de correlacin
1. Una compaa desea hacer predicciones del valor anual de sus ventas totales en
cierto pas a partir de la relacin de estas y la renta nacional. Para ello cuenta con
los siguientes datos:
x 189 190 208 227 239 252 257 274 293 308 316
y 402 404 412 425 429 436 440 447 458 469 469
2. La empresa Santos desea saber si sus ventas dependen de la publicidad que ellos
hacen a sus productos tomaran sus datos segn resultados obtenidos, ellos deciden
utilizar el mtodo de correlacin lineal simple para encontrar la relacin las
cantidades de son en millones:
publicidad ventas
1172,2 593,8
1209,2 596
1233,1 598,3
1256,9 600,8
1301,9 603,3
1320 607,7
1350,4 608,5
1357,9 611,2
1380,8 592,4
1381,8 585,6
1402,5 589
1403 589,4
1406,1 593,5
1423,7 597,6
Inversin (x) 11 14 16 15 16 18 20 21 14 20 19 11
121
Mtodos Numricos
Ing. William Caiza
Rendimiento(y) 2 3 5 6 5 33 7 10 6 10 5 6
Edad 56 42 72 36 63 47 55 49 38 42
Presin 14.8 12.6 15.9 11.8 14.9 13.0 15.1 14.2 11.4 14.1
a) Calculad el coeficiente de correlacin lineal entre las variables y decid que indica.
d) Haced las predicciones siguientes, slo cuando crea que tengan sentido:
122
Mtodos Numricos
Ing. William Caiza
xi 1 1 2 3 4 5 5 6
yi 13 15 18 19 21 16 20 14
11. Los datos siguientes forman parte de un anuncio publicado por un joyero de
Singapur en el peridico Strauss Times el 29 de febrero de 1992. Estos datos hacen
referencia al precio (en dlares de Singapur) de anillos que llevan un diamante. El
tamao de un diamante, que se indica en quilates (1 quilate=200 mg).
Ajustad un modelo lineal a estos datos y decidid si el ajuste obtenido es bueno. Comprobad
si se cumplen para los residuos las suposiciones de independencia y de varianza
constante.
,
Representan las rectas de regresin lineal de una distribucin estadstica vicariante. Hallad
los coeficientes de determinacin y de correlacin entre las variables X e Y.
123
Mtodos Numricos
Ing. William Caiza
CAPITULO IV
INTERPOLACIN
Interpolar significa estimar el valor desconocido de una funcin en un punto, tomando una
media ponderada de sus valores conocidos en puntos cercanos al dado.
En la interpolacin lineal, conocido como regla de 3 se utiliza un segmento rectilneo que
pasa por 2 puntos que se conocen.
Ajuste
Es una ecuacin que tiene la mnima dispersin en el eje y con respecto a los datos que
estn comparando.
Definicin
124
Mtodos Numricos
Ing. William Caiza
DIFERENCIAS DIVIDIDAS
Diferencias divididas
La diferencia dividida de orden cero es:
[0 ] = (0 ) = 0
La diferencia dividida de orden 1 es:
(1 ) (0 ) [1 ] [0 ]
[0 , 1 ] = =
1 0 1 0
La diferencia dividida de orden 2 es:
(2 ) (1 ) (1 ) (0 )
[1 , 2 ] [0 , 1 ]
2 1 1 0
]
[0 , 1 , 2 = =
2 0 2 0
La diferencia dividida de orden 3 es:
[2 , 3 ] [1 , 2 ] [1 , 2 ] [0 , 1 ]
[1 , 2 , 3 ] [0 , 1 , 2 ]
3 1 2 0
]
[0 , 1 , 2 , 3 = =
3 0 3 0
Relacin existente entre el polinomio de newton y las diferencias divididas
1 () = 0 + 1 ( 0 ) = [0 ] + [0 , 1 ]( 0 )
2 () = 0 + 1 ( 0 ) + 2 ( 0 )( 1 ) = [0 ] + [0 , 1 ]( 0 )+ [0 , 1 , 2 ](
0 )( 1 )
() = 1 () + [0 , 1 , . ]( 0 )( 1 ) . . ( )
0 = [0 ]
1 = [0 , 1 ]
2 = [0 , 1 , 2 ]
= [0 , 1 , 2 . ]
Ejemplo.-
Dados los siguientes 3 puntos, encontrar el polinomio de interpolacin.
2 () = + +
125
Mtodos Numricos
Ing. William Caiza
3 = 4 + 2 +
2 = 16 + 4 +
1 = 36 + 6 +
=
1 = 1
1 =
X=1
4 2 1
= [16 4 1]
36 6 1
4 2 1 1 0 0
1 = [16 4 1 0 1 0]
36 6 1 0 0 1
4 2 1 1 0 0
1 = [ 0 4 3 0 1 0]
36 6 1 0 0 1
1 Diferencia [ ] = ( )
[ ][ ] ([ ][ ]) [ ][ ]
2 Diferencia [ , ] = = =
( )
[ ][ ] [ ][ ]
[ , ][ , ]
3 Diferencia [ , , ] = =
[ , ][ , ] [ , ][ , ]
[ , , ][ , , ]
4 Diferencia [ , , , ] = = =
[ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ]
EJERCICIO
126
Mtodos Numricos
Ing. William Caiza
0 = 1 (0 ) = 0
1 = 4 (1 ) = 1,386294
2 = 6 (2 ) = 1,791759
3 = 5 (3 ) = 1,609438
3 ( = 2) = ( = 2)
0 = [0 ] = (1) =
[1 ] [0 ] 1,386294 0
1 = [1 , 0 ] = = = ,
1 0 41
[3 ] [2 ] [2 ] [1 ] [2 ] [1 ] [1 ] [0 ]
3 2 2 1 2 1 1 0
3 1 2 0
3 = [3 , 2 , 1 , 0 ] =
3 0
1,609438 1,791759 1,791759 1,386294 1,791759 1,386294 1,386294 0
56 64 64 41
= 5 4 6 1
51
= ,
() = 0 + 1 ( 0 ) + 2 ( 0 )( 1 ) + ( )( )( )
= 0,462098(2 1) 0,0518731(2 1)(2 4) + 0,0078655(2 1)(2 4)(2 6)
= ,
127
Mtodos Numricos
Ing. William Caiza
TEMAS
Interpolantes definidos en Tramos. Interpolacin lineal y al adyacente ms cercano.
Interpolacin con trazadores (spline ) cuadrticos y cbicos . Determinacin de los
coeficientes. Error de truncacin y capacidad de filtrado. Trazadores con interpolacin
Hermtica, algoritmo Pchip . Curvas paramtricas. Curvas de Bzier, caractersticas,
polinomios de tercer orden con interpolacin hermtica, empalmes. Introduccin a las B -
Spline , caractersticas ms destacadas . Funciones de Matlab.
Dados los datos: (x i ,y i ), i = 0,1, 2, ..., n con x 0 ,< x 1 ,< x 2 , < ... < x n , determinar la
funcin f , tal que : f(x i ) = y i , i = 0, 1, 2, ..., n f es llamada la Funcin de Interpolacin o
Funcin Interpolante o Interpolante a secas . En forma adicional, dependiendo del tipo
de interpolacin, se pueden imponer otras restricciones como pendiente en
determinados puntos, concavidad, etc.
128
Mtodos Numricos
Ing. William Caiza
EJEMPLO TIPICO
Interpolacin Lineal que usa lneas rectas para interconectar puntos.
INTERPOLACION LINEAL
Se puede usar interpolacin LaGrange o Newton para determinar las ecuaciones de las
rectas:
( 0 )
1 () = 0 + 1 ( 0 ) 1 > > 0
(1 0 ) 1
( 1 )
2 () = 1 + 2 ( 1 ) 2 > > 1
(2 1 )
( 2 )
3 () = 2 + 3 ( 2 ) 3 > > 2
(3 2 )
( 3 )
4 () = 3 + 4 ( 3 ) 4 > > 3
(4 3 )
129
Mtodos Numricos
Ing. William Caiza
No hay buenas razones para escoger este mtodo en vez de interpolacin lineal (casi
tan simple como ste, pero con prdida de la continuidad), Si embargo en interpolacin
multivariada, esta opcin puede ser favorable por su velocidad y simplicidad.
SPLINE TRAZADORES
Consiste en emplear polinomios de bajo orden para conectar puntos adyacentes. (Trazador
o cinta de plomo)
Funciones Spline tpicas:
Spline lineal () = +
Spline cuadrtica () = 2 + +
Spline cbica () = 3 + 2 + +
(4,4) f1 (7,4)
F0 f2
(10,3)
(1,2)
*En [1, 4]
FORMULA: () = +
42
2= ( 1)
41
2 2 2 4
= +2 = +
3 3 3 3
() = +
En [7 , 4]
() =
En [7 , 10]
130
Mtodos Numricos
Ing. William Caiza
34
4= ( 7)
10 7
1
4 = ( 7)
3
1 7
= + +4
3 3
() = +
SPLINE CUADRTICA
Se conectan dos puntos adyacentes con una parbola de orden 2. La funcin tiene
derivada primera continua.
131
Mtodos Numricos
Ing. William Caiza
Spline Lineal.- Una funcin spline de grado 1 que interpola los satos es
simplemente unir cada uno de los puntos mediante u n segmento de recta.
0 1
0 1
0 () = 0 + 0 ; (0 , 1 )
1 () = 1 + 1 ; (1 , 2 )
() =
1 () = 1 + 1 ; (1 , )
Ejercicio:
Interpolar con spline lineal los siguientes puntos:
f(1)=1
1,2
f(2)=0.5
f(4)=0.25 1 1; 1
0,8
0,6
2; 0,5
0,4
0,2 4; 0,25
0
0 1 2 3 4 5
= ( )
. . .
: = ( ) : . = ( )
= + + = + +
= + = +
132
Mtodos Numricos
Ing. William Caiza
() = () +
() = +
() =
() = 2 + +
Las condiciones a las cuales se les debe dar al modelo, son las siguientes:
1. Los valores de la funcin de polinomios adyacentes deben ser iguales en los nodos
interiores.
Ejercicio
3
3; 2,5 7; 2,5
2,5
1,5
4,5; 1
1
9; 0,5
0,5
0
0 2 4 6 8 10
1)
. + . + = (1)
. + . + = (2)
+ + = . (3)
+ + = . (4)
2)
+ + = . (5)
133
Mtodos Numricos
Ing. William Caiza
+ + = . (6)
3)
1 2 + 1 + 1 =
21 + 1 =
+ = + (7)
+ = + (8)
4)
21 + 1 =
=
= (9)
Respuestas:
=
=
= .
= .
= .
= .
= .
= ,
= .
() = + + +
As n+1 datos (i=0, 1, 2,.., n), existen n intervalos y por consiguiente, 4n incgnitas
constantes para evaluar. Como con las segmentarias cuadrticas se requieren 4n
condiciones para evaluar las incgnitas.
Condiciones:
134
Mtodos Numricos
Ing. William Caiza
La interpolacin visual de la condicin 5 es que la funcin se vuelve una lnea recta en los
nodos extremos, la especificacin de tal condicin extrema nos lleva a lo que se denomina
SEGMENTACIN NATURAL.
Ejercicio
0 = 3 ; (0 ) = 2.5
1 = 4.5 ; (1 ) = 1
2 = 7 ; (2 ) = 2.5
2,5 3; 2,5
7; 2,5
1,5
1 4,5; 1
0,5
0
0 1 2 3 4 5 6 7 8
1.
. + . + . + = (1)
. + . + . + = (2)
2.
+ + + = . (3)
135
Mtodos Numricos
Ing. William Caiza
+ + + = . (4)
3.
. + + = . + + (5)
4.
+ = + (6)
5.
+ = (7)
+ = (8)
Respuesta:
= .
= .
= .
= .
= .
= .
= .
= .
136
Mtodos Numricos
Ing. William Caiza
Recordemos que existe un nico polinomio para aproximar la funcin f(x) en el [a, b],
de manera que:
= ( )
b
h
f(x)dx = (f(x0 ) + f(x1 ) ); Regla del trapecio
a 2
137
Mtodos Numricos
Ing. William Caiza
= ; donde n es el numero de intervalos que tiene [a, b]
1. = ( )
2. = ( ), [ , ]
3. = +
GRAFICO CUADERNO
= + -2 = 2
= = =
= + = + = = ( )()
= + = + () = 74=3
= + = + () = 3=3
= + = + () =
= + = + () =
1ra Verificacin 1.
= ( )()
1ra Verificacin de 2.
X X 3 = ( 3), [0,5]
si t = 0
x5=1(03)
x = -3 + 5
138
Mtodos Numricos
Ing. William Caiza
x=2
2da Verificacin de 2.
X X 0 = ( 3), [0,5]
si t = 5
x2=1(50)
x=5+2
x=7
3ra Verificacin de 2.
X X 4 = ( 4), [0,5]
si t = 2
x6=1(24)
x=-2+6
x=4
() = (() + ())
:
() = ()
: = 1
() () = 1 (); = 1
1
= (0 ) 0 () + (1 ) + 1 ()
139
Mtodos Numricos
Ing. William Caiza
1 0
= (0 ) + (1 ) 1
0 1 1 0
() ((0 ) + 4(1 ) + (2 ))
3
= () = 2 (), = 2
2
= ()( ) = (0 ()(0 ) + 1 ()(1 ) + 2 ()(2 ))
=0
= (0 ) () + (1 ) 1() + (2 ) 2 ()
2
=
=0
1 2
0 () =
0 1 0 2
0 2
1 () =
1 0 1 2
0 1
2 () =
2 0 2 1
140
Mtodos Numricos
Ing. William Caiza
Ejemplo
Sea f(x)=sen(x) integrar el mtodo del trapecio en [ 6 , ]
5
Grafica
1
i. () 2 (0 + 1 ) REGLA DEL TRAPECIO
0
2
ii. () 3 (0 + 41 + 2 ) REGLA DE SIMPSON
0
3 3 3
iii. () 8
(0 + 31 + 32 + 3 ) REGLA DE 8 DE SIMPSON
0
4 2
iv. () 45 (70 + 321 + 122 + 323 + 74 ) REGLA DE BOOLE
0
INTEGRACION DE ROMBERG
Aun cuando la regla del trapecio es la frmula de Newton Cotes ms sencilla de aplicar,
hemos mostrado en las secciones anteriores que carece del grado de exactitud requerido
generalmente. La integracin de Romberg es un mtodo que tiene aplicaciones muy
variadas debido a que usa la regla del trapecio para dar aproximaciones preliminares y
luego aplicar el proceso de extrapolacin, para obtener correcciones a las aproximaciones.
Algoritmo de Romberg
141
Mtodos Numricos
Ing. William Caiza
Nivel 1
() ()
Donde,
hm : Integral ms exacta
Integrar mediante Romberg ()
() = () | = (. + . ) = .
a) Nivel 0
= , = ; =
(=) = [() + ()] = .
= [() + ( ) + ()] = .
(= )
(. ) (. ) = .
Error:
|. . |
= = . %
|. |
b) Nivel 0
= , = , =
(=) = [() + ()] = .
142
Mtodos Numricos
Ing. William Caiza
= [() + ( ) + ()] = .
(= )
= [() + ( ( ) + ( ) + ( )) + ()] = .
(= )
Nivel 1
() ()
(. ) (. ) = .
(. ) (. ) = .
Nivel 2
() ()
(. ) (. ) = .
|. . |
= = %
|. |
Nivel 3
() ()
Ejemplo
Dado el mtodo del trapecio mltiple, tenemos:
1
() = [()] + () + 2 ( )
2
=1
= ; = + , ( = 0,1,2,3, , )
143
Mtodos Numricos
Ing. William Caiza
= = +1 ; ( )
2
1 1
2 2
3 4
4 8
5 16
6 32
21 1
() = [() + () + 2 ( + )]
2
=1
Demostracin:
2 2 2
() = 2 () =
0 0 =0
(2 ) () = (0 ) (0 ) () + (1 ) (1 ) + (2 ) (2 ) ()
Donde:
1 2
(0 ) =
0 1 0 2
0 2
(1 ) =
1 0 1 2
0 1
(2 ) =
2 0 2 1
2 2
( 1) ( 2) ( 0)( 2)
(0 ) + 1 +
0 2 0
2
() ( 1)
+(2 )
0 2
(0 ) 2 2 ( ) 2
( 1)( 2) (1 ) ()( 2) + 20 ()( 1)
2 0 0 2 0
144
Mtodos Numricos
Ing. William Caiza
(0 ) 2 2 2
2
(2 ) 2 2
( 3 + 2) (1 ) ( 2) + ( )
2 0 0 2 0
(0 ) 3 3 2 2 3 2 2 2 ( ) 3 2 2
( + 2| ) (1 ) ( | )+ 2 ( | )
2 3 2 0 3 2 0 2 3 2 0
(0 ) 2 4 ( ) 2
( ) (1 ) ( ) + 2 ( )
2 3 3 2 3
1 2
1
= [( ) + 4 ( ) + 2 ( ) + ( ) ]
3
=1 =1
() = 3 =
0 0 =0
3 () = 0 0 () + 1 1 () + 2 2 () + 3 3 ()
Donde:
0 2 3
0 =
0 1 0 2 0 3
0 2 3
1 =
1 0 1 2 1 3
0 1 3
2 =
2 0 2 1 2 3
0 1 2
3 =
3 0 3 1 3 2
145
Mtodos Numricos
Ing. William Caiza
3
( 1) ( 2) ( 3)
0 =
0 2 3
3
() ( 2) ( 3)
+ 1
0 2
3
() ( 1) ( 3)
+ 2
0 2
3
( 1) ( 2) 0 3
+ 3 ( 1)( 2)( 3)
0 3 2 6 0
3 3
+ 1 ( 2)( 3) 2 ( 1)( 3)
2 0 2 0
3
+ 3 ( 1)( 2)
6 0
0 3 2
( 3 3 + 2)( 3)
6 0
1 3 3 2
3 3 3
+ ( 4 + 3) + 3 + 2
2 0 6 0
3
3 ()3 3 2 + 2
6 0
( ) 3 ( ) 4 5 3 3
0 ( 3 6 2 + 11 6) + 1 [ + 3 2 | ]
6 0 2 4 3 0
( ) 4 4 3 3 2 3 ( ) 4 3
+ 2 [ + + | ] + 3 [ 3 + 2| ]
2 4 3 2 0 6 4 0
3 9 9 3
0 + 1 + 2 + 3
8 8 8 8
3
[0 + 31 + 32 + 3 ] R. de 3/8 Simpson
8
for i=1:n
etiqueta=['x( ' num2str(i) ')='];
x(i)=str2double(inputdlg(etiqueta));
146
Mtodos Numricos
Ing. William Caiza
end
for i=1:n
y(i)=f(x(i));
end
147
Mtodos Numricos
Ing. William Caiza
h=x(2)-x(1);
integral=(f(x(2))-f(x(1)))*(h/2);
ex=x(1):0.1:x(2);
[fx cx]=size(ex);
for i=1:cx
ff(i)=f(ex(i));
end
plot([x(1)-5 x(2)+5],[0 0]);
hold on;
plot([0 0],[max(ff)+3 min(ff)-3]);
area(ex,ff);
148
Mtodos Numricos
Ing. William Caiza
:
1 2 3 4
() = = 1 () + 1 () + 1 () + 1 ()
0 1 2 3
= ((0 ) + (1 )) + ((1 ) + (2 )) + ((2 ) + (3 )) + ((3 ) + (4 ))
2 2 2 2
= ((0 ) + 2(1 )) + 2(2 ) + 2(3 ) + (4 )
2
:
() = (( ) + ( ) + ( ))
=
Ejemplo 1
7
Dado 3 2 , calcular:
a) Utilizar la Regla del Trapecio
b) Utilizar la Regla del Trapecio 3 veces
c) Utilizar la Regla del Trapecio 5 veces
RESOLUCION
73
a) = =4
1
7
4
() = ((3) + (7)) = (9 + 49) = 116
2 2
3
73 4
b) = =
3 3
4 13
1 = 3 + =
3 3
8 17
2 = 3 + =
3 3
3 = 3 + 4 = 7
7
13 13 17 17
() = ((3) + ( )) + ( ( ) + ( )) + ( ( ) + (7))
2 3 2 3 3 2 3
3
13 17
= ((3) + 2 ( ) + 2 ( ) + (7))
2 3 3
169 289
= (9 + 2 ( ) + 2( ) + 49) = 106,518
2 9 9
73 4
c) = =
5 5
149
Mtodos Numricos
Ing. William Caiza
4 19
1 = 3 + (1) =
5 5
4 23
2 = 3 + (2) =
5 5
4 27
3 = 3 + (3) =
5 5
4 31
4 = 3 + (4) =
5 5
4
5 = 3 + (5) = 7
5
7
19 19 23 23 27
() = ((3) + ( )) + ( ( ) + ( )) + ( ( ) + ( ))
2 5 2 5 5 2 5 5
3
27 31 31
+ ( ( ) + ( )) + ( ( ) + (7))
2 5 5 2 5
19 23 27 31
= ((3) + 2 ( ) + 2 ( ) + 2 ( ) + 2 ( ) + (7))
2 5 5 5 5
2 361 529 729 961
= (9 + 2 ( ) + 2( ) + 2( ) + 2( ) + 49) = 105,76
5 25 25 25 25
%eje x
plot([x(1)-2 x(n)+2],[0 0]);
150
Mtodos Numricos
Ing. William Caiza
hold on;
%eje y
plot([0 0],[min(y)-2 max(y)+2]);
%area de integracin
xx=x(1):0.1:x(n);
[fxx cxx]=size(xx);
for i=1:cxx
yy(i)=f(xx(i));
end
plot(xx,yy,'r');
area(xx,yy);
%para graficar los puntos x0...xn
for i=1:n
cadena(i)=num2str(x(i));
end
for i=1:n
text(x(i),0,cadena(i));
end
legend('Trapecio Mltiple');
151
Mtodos Numricos
Ing. William Caiza
n=2
() = (( ) + ( ) + ( ))
Demostrar que () = 3 ((0 ) + 4(1 ) + (2 ))
2 0
= =
2 2
2
= 2 (1) :
2 = 0 +
2 0 =
2 =
=2
152
Mtodos Numricos
Ing. William Caiza
2 2 2
( 1) ( 2) ( 2) ( 1)
= (0 ) + (1 ) + (2 )
2 2
0 0 0
2 2 2
= (0 ) ( 1)( 2) (1 ) ( 2) + (2 ) ( 1)
2 2
0 0 0
n=3
() = (( ) + ( ) + ( ) + ( ))
Ejemplo 2
8
Dada 5 ()
a) Integrar mediante el trapecio
b) Integrar 5 veces mediante el trapecio
c) Integrar 5 veces simpson 1/3
RESOLUCION:
85
a) = =3
1
8
3
() = ((5) + (8)) = ((5) + (8)) = 0.0456
2 2
5
Valor real
8
() = cos()85 = 0.429
5
Error
153
Mtodos Numricos
Ing. William Caiza
0.429 0.0456
= | | = 0.89 100% = 89%
0.429
85 3
b) = =
5 5
8
28 28 31 31 34
() = ((5) + ( )) + ( ( ) + ( )) + ( ( ) + ( ))
2 5 2 5 5 2 5 5
5
34 37 37
+ ( ( ) + ( )) + ( ( ) + (8))
2 5 5 2 5
3 28 31 34 37
= ((5) + 2 ( ) + 2 ( ) + 2 ( ) + 2 ( )) + (8) = 0.4162
10 5 5 5 5
0.429 0.4162
= | | = 0.03 100% = 3%
0.429
85 3
c) = =
4 4
8
23 26 26 29
() = ((5) + 4 ( ) + ( )) + ( ( ) + 4 ( ) + (8))
3 4 4 3 4 4
5
1 23 26 29
= ((5) + 4 ( ) + 2 ( ) + 4 ( ) + (8)) = 0.42997
4 4 4 4
Algoritmo de Simpson
function calcular_Callback(hObject, eventdata, handles)
% hObject handle to calcular (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
%CODIGO DEL PROGRAMA(CALCULO DE AREA)
f=inline(get(handles.fx,'string'));
a=str2num(get(handles.a,'string'));
b=str2num(get(handles.b,'string'));
n=str2double(get(handles.n,'string'));
h=(b-a)/n;
s=f(a)+f(b);
for i=2:n
x(i)=a+(i-1)*h;
s=s+2*f(x(i));
end
I=s*(h/2);
set(handles.area,'string',I)
154
Mtodos Numricos
Ing. William Caiza
line([x(i),x(i)],[0,f(x(i))]);
end
hold on
ezplot(f,[min(x):0.2:max(x)])
ylabel('F(X)');
grid 'on'
set(handles.axes1,'xminorgrid','on');
set(handles.axes1,'yminorgrid','on');
155
Mtodos Numricos
Ing. William Caiza
() = 4 () =
0 0 =0
4 () = 0 0 () + 1 1 () + 2 2 () + 3 3 () + 4 4 ()
Donde:
0 2 3 4 ( 1) ( 2) ( 3) ( 4)
0 = =
0 1 0 2 0 3 0 4 2 3 4
0 2 3 4 () ( 2) ( 3) ( 4)
1 = =
1 0 1 2 1 3 1 4 2 3
156
Mtodos Numricos
Ing. William Caiza
0 1 3 4 ( 1) ( 3) ( 4)
2 = =
2 0 2 1 2 3 2 4 2 2
0 1 2 4 ( 1) ( 2) ( 4)
3 = =
3 0 3 1 3 2 3 4 3 2
0 1 2 3 ( 1) ( 2) ( 3)
4 = =
4 0 4 1 4 2 4 3 4 3 2
0 4 1 4
( 1)( 2)( 3)( 4) ( 2)( 3)( 4) +
24 0 6 0
2 4 4
( 1)( 3)( 4) 3 ( 1)( 2)( 4) +
4 0 6 0
4 4
( 1)( 2)( 3)
24 0
0 4 2 4
( 3 + 29( 2 7 + 12) 1 ( 3 5 2 + 6) ( 4) +
24 0 6 0
2 4 3 2
3 4 3
( 4 + 3) ( 4) ( 3 2 + 2)( 4) +
4 0 6 0
4 4 3
( 3 2 + 2)( 3)
24 0
0 4 4 3 2
1 4 4
( 10 + 35 50 + 24) ( 9 3 + 26 2 24) +
24 0 6 0
2 4 4 4
( 8 3 + 19 2 12) 3 ( 4 7 3 + 14 2 8) +
2 0 6 0
4 4 4
( 6 3 + 11 2 6) +
24 0
0 5 10 4 35 3 50 2 4 5 9 4 26 3 24 2 4
[ + + 24| ] 1 [ + | ]
24 5 4 3 2 0 6 5 4 3 2 0
2 5 8 4 19 3 12 2 4 5 7 4 14 3 8 2 4
+ [ + | ] 3 [ + | ]
4 5 4 3 2 0 6 5 4 3 2 0
157
Mtodos Numricos
Ing. William Caiza
4 5 6 4 11 3 6 2 4
[ + | ]
24 5 4 3 2 0
[ ] [ ] + [ ] [ ] + [ ]
[ + + + + ] R. de Boole
Ejercicios propuestos
1.-Integre la funcin siguiente en forma tanto analtica como la regla de Simpson, con n=4 y
5. Analice los resultados.
5
(4x 3)3 dx
3
2.- Integre la funcin siguiente tanto en forma analtica como numrica. Emplee las reglas
del trapecio y de Simpson 1/3 para integrar numricamente la funcin. Para ambos casos,
utilice la versin de aplicacin mltiple, con n=4. Calcule los errores relativos porcentuales
para los resultados numricos.
3
x 2 ex dx
0
3.- Integre la funcin siguiente tanto analtica como numricamente. Para las evaluaciones
numricas use a) una sola aplicacin de la regla del trapecio, b) la regla de Simpson 1/3, c)
la regla de Simpson 3/8, d) la regla de Boole, e) el mtodo del punto medio, f) la frmula de
integracin abierta de 3 segmentos y 2 puntos, y g) la frmula de integracin abierta de 4
segmentos y 3 puntos. Calcule los errores relativos porcentuales de los resultados
numricos.
1
152x dx
0
4.- Integre la funcin que sigue tanto en forma analtica como numrica. Para las
evaluaciones numricas utilice, a) una sola aplicacin de la regla del trapecio; b) la regla de
Simpson 1/3; c) la regla de Simpson 3/8; d) aplicacin mltiple de las reglas de Simpson,
con n=5; e) la regla de Boole; f) el mtodo del punto medio; g) la frmula de integracin
abierta de 3 segmentos y 2 puntos, y h) la frmula de integracin abierta de 4 segmentos y
3 puntos.
158
Mtodos Numricos
Ing. William Caiza
3
(5 + 3cosx) dx
0
Calcule los errores relativos porcentuales para los resultados numricos.
5.- Suponga que la fuerza hacia arriba de la resistencia del aire sobre un objeto que cae es
proporcional al cuadrado de la velocidad. Para este caso, la velocidad se calcula con
gm gcd
v(t) = tanh ( t)
cd m
Donde cd =coeficiente de arrastre de segundo orden, a) Si g=9.8 m/s 2 , m=68.1 kg y cd =
0.25 kg/m, use integracin analtica para determinar qu tan lejos cae el objeto en 10
segundos, b) Haga lo mismo, pero evale la integral con la regla del trapecio de segmento
mltiple. Use una n suficientemente grande para detener tres dgitos significativos de
exactitud.
6.- Evalu la integral de los datos tabulados a continuacin, con a) la regla del trapecio y b)
las reglas de Simpson:
x 0 0.1 0.2 0.3 0.4 0.5
f(x) 1 8 4 3.5 5 1
159
Mtodos Numricos
Ing. William Caiza
4
(1 x 4x 3 + 2x 5 )dx
2
a)en forma analtica; b)con una sola aplicacin de la regla del trapecio; c)con aplicacin
mltiple de la regla de trapecio, con n=2y4; d)con una sola aplicacin de la regla de
Simpson1/3; e con la aplicacin mltiple de la regla de Simpson1/3, con n=4; f)con una sola
aplicacin de regla de Simpson 3/8; g) con aplicacin mltiple de la regla de Simpson 3/8,
con n=5.
Referencia4: mtodos numricos para ingenieros (sexta edicin), autor: Steve C. Chapra,
pg.: 572
Las ecuaciones diferenciales son una parte muy importante del anlisis matemtico y
modelan innumerables procesos de la vida real. Una ecuacin diferencial es una relacin,
vlida en cierto intervalo, entre una variable y sus derivadas sucesivas. Su resolucin
permite estudiar las caractersticas de los sistemas que modelan y una misma ecuacin
160
Mtodos Numricos
Ing. William Caiza
Ejemplo.-
Utilizando el mtodo de Euler calcule.-
= 2 1.2 En x [0,2] con = 0.25 y la condicin inicial (0) = 1
Inicialmente resolviendo analticamente la ecuacin diferencial tenemos:
= 2 1.2
161
Mtodos Numricos
Ing. William Caiza
= ( 2 1.2)
= ( 2 1.2)
3
ln = 1,2 +
3 3
= 3 1,2+
Encontrando el valor de c mediante la condicon iniciual y(o)=1, entonces
03
1 = 3 1,20+
1 =
1 =
=0
(, ) +1 () Error
0 0 1 -1,2 0,7 1 0
1 0,25 0,7 -0,79625 0,5009375 0,7446 0,059897932
-
2 0,5 0,5009375 0,47589063 0,38196484 0,5721 0,124388219
-
3 0,75 0,38196484 0,24350259 0,3210892 0,4679 0,183661373
-
4 1 0,3210892 0,06421784 0,30503474 0,4203 0,236047593
5 1,25 0,30503474 0,11057509 0,33267851 0,4278 0,286968824
6 1,5 0,33267851 0,34931244 0,42000662 0,5091 0,346536024
7 1,75 0,42000662 0,78226233 0,6155722 0,7308 0,425278299
8 2 0,6155722 1,72360216 1,04647274 1,3056 0,528513939
` = 4 0,8 0.5
[0,4] h=1 pasos de 1
Condicin (0) = 2
(, ) +1 () Error
0 0 2 3 5 6,40216371 4,70108186
1 1 6,70108186 5,55162279 12,2527046 13,6857774 9,61870008
2 2 16,3197819 11,6522387 27,9720207 30,1066952 20,879467
3 3 37,1992489 25,4930811 62,69233 66,7839558 46,1385184
- -
4 4 83,3377673 56,4612371 139,799004 65,8995022 4,71913255
+ = + ( , )
+ = +
162
Mtodos Numricos
Ing. William Caiza
+ =
` + = (+ , + )
` + = ( ; )
` + = 4 0,81 0.5 5
` + = ,
( , )(+ , + )
=
+ ,
=
= 4,7010815
+ = +
+ = + ,
+ = ,
` = 4 0,8 0.5
() () + , () =
,
() + , () = +
,
+ ,
() + , () =
,
+ ,
()( + , ) =
,
+ ,
() =
, ( + , )
2 2,4
= +
0,8 ( + 0,5) 0,8 + 0,5
+ =2
0,5 0,8 = 2,4
163
Mtodos Numricos
Ing. William Caiza
14 0,8 40 0,5
= +
13 13
= 2 3+ 12 2 20 + 8,5
Desde x=0 hasta x=4 con un tamao de paso 0,5. La condicin inicial en x=0 es y=1.
Solucin
= 2 3 + 12 2 20 + 8.5
= (2 3 + 12 2 20 + 8.5)
= (2 3 + 12 2 20 + 8.5)
4
= + 4 3 10 2 + 8.5 +
2
04
1= 2 + 4(0)3 10(0)2 + 8.5(0) +
=1
= 0,5 4 + 4 3 10 2 + 8,5 + 1
Error:
=
En el segundo paso:
164
Mtodos Numricos
Ing. William Caiza
Por lo tanto,
(0,5) = 1,0 + 8,5(0,5) = 5,25
4 y verd
y euler
3
0
0 2 4 6 8 10 12
Figura 7.2 grafica del mtodo de Euler en Excel
EULER h=0,5
i xi yreal f(xi,yi) yi+1
0 0 1.0000 0 1
165
Mtodos Numricos
Ing. William Caiza
3,0000
2,5000
0,0000
0 0,5 1 1,5 2 2,5
166
Mtodos Numricos
Ing. William Caiza
Este mtodo emplea dos derivadas uno en el punto inicial y otra en el final. Las dos
derivadas se promedian con la finalidad de obtener una mejor estimacin de la pendiente
en todo el intervalo.
Recuerde que en el mtodo de Euler la pendiente al inicio del intervalo
y i= f(xi, yi )
la expresin anterior se utiliza para extrapolar linealmente a yi+1,mediante la siguiente
expresin
y i+10= yi + f(xi, yi )h
La ecuacin es una prediccin intermedia, da una estimacin de yi+1
que permite el clculo de la estimacin de la pendiente al final del intervalo:
y i+1= f(xi+1, y i+10)
combinando las dos pendientes, para obtener un pendiente promedio se obtiene:
f(xi, yi )+f(xi+1, y i+10)
=
2
(, )+(+, +)
+ = + (Corrector)
El mtodo de Heun es un procedimiento predictor corrector de un solo paso.
Un criterio de terminacin para la convergencia del corrector est dado por:
j j1
(y y )
|Ea | = | i+1 j i+1 |
(y i+1)
167
Mtodos Numricos
Ing. William Caiza
Si = / tenemos:
168
Mtodos Numricos
Ing. William Caiza
1
a1+ a2 = 1 a1 = 1 = 1/2
2
1
a2 p1 = 2 p1 = 1
1
a2 q11 = 2 q11 = 1
Entonces:
1 1
Yi+1 = Yi + ( k1 + k 2 )h
2 2
k1 = f(xi , yi ) METODO HEUN
Entonces:
Yi+1 = Yi + ( k 2 )h
k1 = f(xi , yi ) METODO DE PUNTO MEDIO
Explicacin
Los mtodos de Runge-Kutta tienen la exactitud del esquema de la Serie de Taylor, sin
necesitar del clculo de derivadas superiores.
La frmula general es:
+1 = + (; ; )
= a1 k 1 + a 2 k 2 + + a n k n
169
Mtodos Numricos
Ing. William Caiza
k1 = f(xi ; yi )
k 2 = f(xi + p1 h; yi + q11 k1 h)
k 3 = f(xi + p2 h; yi + q 21 k1 h++ q 22 k 2 h)
k n = f(xi + pn h; yi + q n1 k1h+q n1 2k 2 h +.+ q n1 (n 1k n h )
Todas las k son relaciones recurrentes. Por lo que k1 aparece en la ecuacin k2, que
aparece en la ecuacin k3, etc. Esta recurrencia hace a los mtodos RK eficientes para su
clculo en computadora.
7.6 Mtodos de Runge-Kutta de tercer orden
Para el resultado son seis ecuaciones con ocho incgnitas, por lo tanto se deben
suponer dos valores con antelacin para poder desarrollar el sistema de ecuaciones. Una
versin ampliamente usada es:
1
Yi+1 = Yi + (k1 + 4k 2 + k 3 )h
6
k1 = f(xi , yi )
1 1
k 2 = f (xi + h , yi + (k1 )h)
2 2
k 3 = f(xi + h , yi (k1 )h) + 2k 2 h)
Si la ecuacin deferencial ordinaria est en funcin solo de x, este mtodo de tercer orden
se reduce a la regla de Simpson 1/3.
Los mtodos de RK de tercer orden dan resultados exactos cuando la solucin es cubica,
al tratarse de polinomios la ecuacin ser exacta cuando la ecuacin diferencial ordinaria
sea cbica y la solucin sea de cuarto grado.
170
Mtodos Numricos
Ing. William Caiza
La ecuacin (1) es comparada con los primeros cinco trminos de la serie Taylor
dy 1 d2 y 1 d3 y
Yi+1 = Yi + dx| (xi+1 xi ) + | (xi+1 xi )2 + | (xi+1 xi )3 +
xi ,yi 2! dx2 xi ,yi 3! dx3 xi ,yi
1 d4 y
| (xi+1 xi )4 (2)
4! dx4 xi ,yi
dy
Sabiendo que dx = f(xi , yi ) y h = (xi+1 xi )
Entonces:
1 1 1
Yi+1 = Yi + f(xi , yi )h + 2! f(xi , yi ) (h)2 + 3! f(xi , yi ) (h)3 + 4! f(xi , yi ) (h)4
Basndonos en la ecuacin (2) y (3), una de las soluciones ms usadas es:
1
Yi+1 = Yi + (k1 + 2k 2 + 2k 3 + k 4 )h
6
Este mtodo tiene similitud con el procedimiento de Hun en cuanto a que se usan
mltiples estimaciones de la pendiente para obtener una mejor pendiente promedio en el
intervalo.
As, el siguiente valor (Yi+1) es determinado por el presente valor (Yi )mas el producto del
tamao del intervalo (h) por una pendiente estimada. La pendiente es un promedio
ponderado de pendientes:
k3 es otra vez la pendiente del punto medio, pero ahora usando k2 para determinar el valor
de y
171
Mtodos Numricos
Ing. William Caiza
Figura 7.9: Cuadro de datos del mtodo de runge kutta 4to orden
3,0000
2,5000
0,0000
0 0,5 1 1,5 2 2,5
1
Yi+1 = Yi + (7k1 + 32k 3 + 12k 4 + 32k 5 + 7k 6 )h
90
172
Mtodos Numricos
Ing. William Caiza
Donde:
k1 = f(xi , yi )
1 1
k 2 = f (xi + h , yi + (k1 )h)
4 4
1 1 1
k 3 = f (xi + h , yi + (k1 )h + (k 2 )h))
4 8 8
1 1
k 4 = f (xi + h , yi (k 2 )h + (k 3 )h)
2 2
3 3 9
k 5 = f (xi + h , yi + (k1 )h + (k 4 )h)
4 16 16
3 2 12 12 8
k 5 = f (xi + h , yi (k1 )h + (k 2 )h + (k 3 )h (k 4 )h + (k 5 )h)
7 7 7 7 7
Ejemplo 6
173
Mtodos Numricos
Ing. William Caiza
Ejercicios propuestos
1.- Resuelva el siguiente problema de valor inicial en el intervalo de t=0 a 2, donde y (0) =
1. Muestre todos sus resultados en la misma grfica.
dy
= yt 3 1.5y
dt
b) Analticamente.
c) Mtodo de Euler con h=0.5 y 0.25.
d) Mtodo RK de cuarto orden con h=0.5.
3.- Utilice los mtodos de a) Euler y b) Heun (sin iteracin) para resolver:
174
Mtodos Numricos
Ing. William Caiza
d2 y
t+y=0
dt 2
Donde y (0) = 2 y y (0) = 0. Resuelva de x = 0 a 4, con h = 0.1. Compare los mtodos por
medio de graficar las soluciones.
4.- Resuelva el problema siguiente con el mtodo de RK de cuarto orden:
d2 y dy
2
+ 0.6 + 8y = 0
dx dx
Donde y (0) = 4 y y (0) = 0. Resuelva de x = 0 a 5 con h= 0.5. Grafique sus resultados.
5.- Resuelva la ecuacin que se presenta a continuacin, de t = 0 a 3, con h = 0.1, con los
mtodos de a) Heun (sin corrector), y b) RK y Ralston de segundo orden:
dy
= y sen3 (t) y(0) = 1
dx
dz yz 2
=
dx 3
En el rango de x = 0 a 1, con un tamao de paso de 0,2, con y(0) = 2 y z(0) = 4.
8.-El movimiento de un Sistema acoplado masa-resorte (como indica la figura) esta descrito
por la ecuacin diferencial ordinaria que sigue:
d2 x dx
m 2
+ c + kx = 0
dt dt
175
Mtodos Numricos
Ing. William Caiza
inicial es x = 1(m). Resuelva esta ecuacin con el uso de un mtodo numrico durante el
periodo 0 t 15 s grafique el desplazamiento versus el tiempo de amortiguamiento sobre
la misma curva.
9.- Si se drena el agua desde un tanque cilndrico vertical por medio de abrir una vlvula en
la base, el lquido fluir rpido cuando el tanque este lleno y despacio conforme se drene.
Como se ve, la tasa a la que el nivel del agua disminuye es:
dy
= ky
dt
Donde k es una constante que depende de la forma del agujero y del area de la seccin
transversal del tanque y agujero de drenaje. La profundidad del agua y se mide en metros y
el tiempo t en minutos.
Si k = 0.006, determine cuanto tiempo se requiere para vaciar el tanque si el nivel de fluido
se encuentra en un inicio a 3m. Resuelva con la aplicacin de la ecuacin de Euler y
escriba un programa de computadora en Excel. Utilice un paso de 0.5 minutos.
10.-La siguiente es una ecuacin diferencial de Segundo orden con valor inicial:
d2 x dx
2
+ (5x) + (x + 7)sen(wt) = 0
dt dt
Donde:
dx
(0) = 1,5 y x(0) = 6
dt
176
Mtodos Numricos
Ing. William Caiza
Referencia5: mtodos numricos para ingenieros (sexta edicin), autor: Steve C. Chapra,
pg.: 68
177
Mtodos Numricos
Ing. William Caiza
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
178
Mtodos Numricos
Ing. William Caiza
n=(xf-x)/h;
sol=strcat('Dy=',f1);
soly=strcat('y(0)=',yi);
in=dsolve(sol,soly,'x');
inte=inline(in,'x','y');
fun=string(in);
ff(1)=y(1);
a(1)=0;
for i=1:n
a(i+1)=i;
y(i+1)=y(i)+h*f(x(i),y(i));
x(i+1)=x(i)+h;
ff(i+1)=inte(x(i+1),y(i+1));
end
set(handles.text7,'string',fun);
set(handles.uitable1,'data',[a',x',ff',y']);
plot(handles.axes1,x,y,'b','linewidth',5);
hold(handles.axes1,'on');
plot(handles.axes1,x,ff,'r','linewidth',4)
grid on;
hold on;
plot([0 0],[min(y)-2 max(y)+2]);
hold on;
plot([min(x)-2 max(x)+2],[0 0]);
hold on;
179
Mtodos Numricos
Ing. William Caiza
ANEXOS
Propiedades de Laplace
L{ f(t) + g(t) } = F(s) + G(s)
L{ a.f(t) } = a.F(s)
L{ f(at) } = ()
1
L{ eat.f(t) } = F(s-a)
L{ f(t-a) } = e-as.F(s)
L{ f (t) } = s.F(s) f(0)
L{ f (t) } = s2.F(s) s.f(0) f(1)
()
L{ 0 f(T). dt } =
f(t) F(s)
() 1
1
2
!
2+1
()
+ 2
2
cos()
2 + 2
() 1
( )
1
. () ()
1
() ()
() () (). ()
180
Mtodos Numricos
Ing. William Caiza
( ())() = () (0) = () 2
( ())() = 2 () (0) (0) = 2 () 2 12
8
(8 )() = 8( )() =
+1
Aplicacin la transformada de Laplace a nuestra ecuacin obtenemos:
8
( 2 2 + 5)() 2 8 = ,
+1
Lo que implica:
2 2 + 10
() = 2
( 2 + 5)( + 1)
3( 1) + 2(4) 1
= 2 2
.
( 1) + +1
Por lo tanto
3( 1) + 2(4) 1
() = 1 ( 2 2
) ()
( 1) + +1
1 2 1
= 3 1 ((1)2 +2 ) ()+4 1 ((1)2 +2 ) () 1 (+1) ()
= 3 cos(2) + 4 sen(2)
()
+ () = () () = () =
181
Mtodos Numricos
Ing. William Caiza
0 <0
() = {
1 0
3 + 1 +
= + 2+ 2
2 ( 2
+ 4) +4
Resolviendo se obtiene
3 1 3 1
= 4, = 4, = 4, = 4
Asi
3 + 1 31 1 1 3 1
= + 2 2 2
2 ( 2
+ 4) 4 4 4 + 4 4 + 4
3 + 1 3 1 3 1
() = 1 ( ) () = + cos(2) sin(2)
2 ( 2 + 4) 4 4 4 8
Por lo tanto
() = ( 3)( 3)
3 1 3 1
= ( + ( 3) cos(2( 3)) sin(2( 3))) ( 3)
4 4 4 8
182
Mtodos Numricos
Ing. William Caiza
Hallar:
{ + () + ()}
Por la propiedad de linealidad tenemos que:
{4 5 + 6 3 3(4) + 2(2)}
= 4{ 5 } + 6{ 3 } 3{(4)} + 2{cos(2)}
1 3! 4
=4 +6 43 2 +2 2
5 + 16 +4
4 36 12 2
= + +
5 4 2 + 16 2 + 4
Hallar:
{( + ) + ()}
Por la propiedad de linealidad tenemos que:
{( + 2)2 + 4 (2)}
= {( + 2)2 } + { 4 cosh(2)}
= {( 2 + 4 + 4) } + { 4 cosh(2)}
= {( 2 } + 4{ } + 4{ } + { 4 cosh(2)}
Aplicando el primer teorema de la traslacin:
= {( 2 } + 4{ } + 4{ } + { 4 cosh(2)}
2! 4 4 +4
= + + +
( 1)3 ( 1)2 1 ( + 4)2 4
5 4 + 29 3 + 9 2 21 + 20
=
( 1)3 ( + 2)( + 6)
183
Mtodos Numricos
Ing. William Caiza
Anexo de optimizacin
Multiplicadores de Lagrange
En los problemas de optimizacin, el mtodo de los multiplicadores de Lagrange, llamados
as en honor a Joseph Louis Lagrange, es un procedimiento para encontrar los mximos y
mnimos de funciones de mltiples variables sujetas a restricciones. Este mtodo reduce el
problema restringido con n variables a uno sin restricciones de n + k variables, donde k es
igual al nmero de restricciones, y cuyas ecuaciones pueden ser resueltas ms fcilmente.
Estas nuevas variables escalares desconocidas, una para cada restriccin, son llamadas
multiplicadores de Lagrange. El mtodo dice que los puntos donde la funcin tiene un
extremo condicionado con k restricciones, estn entre los puntos estacionarios de una
nueva funcin sin restricciones construida como una combinacin lineal de la funcin y las
funciones implicadas en las restricciones, cuyos coeficientes son los multiplicadores.
La demostracin usa derivadas parciales y la regla de la cadena para funciones de varias
variables. Se trata de extraer una funcin implcita de las restricciones, y encontrar las
condiciones para que las derivadas parciales con respecto a lasvariables independientes
de la funcin sean iguales a cero.
donde c es una constante. Podemos visualizar las curvas de nivel de f dadas por
para varios valores de dn, y el contorno de g dado por g(x, y) = c. Supongamos que
hablamos de la curva de nivel donde g= c. Entonces, en general, las curvas de nivel
de f y g sern distintas, y la curva g = c por lo general intersectar y cruzar muchos
contornos de f. En general, movindose a travs de la lnea g=c podemos incrementar o
disminuir el valor de f. Slo cuando g=c (el contorno que estamos siguiendo) toca
tangencialmente (no corta) una curva de nivel de f, no se incrementa o disminuye el valor
de f. Esto ocurre en el extremo local restringido y en los puntos de inflexin restringidos def.
184
Mtodos Numricos
Ing. William Caiza
Un ejemplo familiar puede ser obtenido de los mapas climatolgicos, con sus curvas de
nivel de presin y temperatura (isbaras e isotermas respectivamente): el extremo
restringido ocurrir donde los mapas superpuestos muestren curvas que se tocan.
Geomtricamente traducimos la condicin de tangencia diciendo que los gradientes
de f y g son vectores paralelos en el mximo. Introduciendo un nuevo escalar, ,
resolvemos
[(, ) ((, ) )] = 0
para 0.
Una vez determinados los valores de , volvemos al nmero original de variables y as continuamos
encontrando el extremo de la nueva ecuacin no restringida.
porque es igual a cero en la restriccin, pero los ceros de F(x, y) estn todos
en .
lo que es equivalente a
Demostracin
185
Mtodos Numricos
Ing. William Caiza
para todo v vector tangente a M en p (es decir, sea cual sea la direccin en la que nos desplacemos en M, el
incremento de f a primer orden es nulo) La anterior condicin significa que es perpendicular al tangente
a M en p y dado que dim M=n-1 existe un nico vector perpendicular linealmente independiente que viene
clear all;
clc;
fprintf('Interpolacion con el Metodo del Polinomio de Lagrange\n\n');
n=input('grado del polinolio: ');
for i1:n+1
x(1,i)=input('dame los valores de xi:');
end
for i=1:n+1
xi(1,i)=input('dame los valores de f(xi):');
end
x
xi
xint=input('Numero para el que desea interpolar x: ');
fxint=0;
i=1;
while i<=n+1
L=1;
J=0;
while J<=n
if i~=J+1
L=L*(xint-x(1,J+1))/(x(1,i)-x(1,J+1));
end
J=J+1;
end
fxint=fxint+L*xi(1,i);
i=i+1;
end
186
Mtodos Numricos
Ing. William Caiza
tabla2=get(handles.uitable2,'Data');
tabla2=str2double(tabla2);
x=tabla';
y=tabla2';
intervalo=0:1:3 ;
axes(handles.axes2)
m=length(x);
n=m-1;
plot(x,y,'*r')
hold on
for i=1:n+1
q=1;
for j=1:n+1
if i~=j
q= conv (q , poly(x(j)))/(x(i)-x(j));
end
end
l(i,:)= q;
end
disp('LOS COEFICIENTES DE LAGRANGE INTERPOLADOS SON: ')
c=y*l;
disp(c);
z=length(c);
suma=0;
for d=z-1:-1:0
syms x;
suma=suma+c(z-d)*x^(d);
end
disp('EL POLINOMIO OBTENIDO ES: ')
fun=suma;
f=inline(char(fun));
%disp(f)
ezplot(f,[-5,5])
grid on
F=char(f);
set(handles.text5, 'String',F);
187
Mtodos Numricos
Ing. William Caiza
set(handles.uitable2,'Data',num_elem);
set(handles.uitable2,'ColumnEditable',true());
188
Mtodos Numricos
Ing. William Caiza
Operadores relacionales
Permiten comparar datos, los resultados son valores lgicos, es decir: 1 (verdadero) o 0
(falso).
Estructuras de control
Matlab se manejan principalmente tres estructuras de control:
Condicional
Si queremos ejecutar un conjunto de instrucciones en el caso de que se cumpla una
condicin, usaremos una estructura if.
La manera ms sencilla de usarla es la siguiente:
if expresin lgica 1
Conjunto de ordenes 1 (de Matlab )
end
El conjunto de ordenes 1 se ejecuta si la expresin lgica 1 es verdadera.
189
Mtodos Numricos
Ing. William Caiza
Control de flujo
MATLAB, al igual que la mayora de los lenguajes de programacin, incluye instrucciones
para el control del flujo de sus programas, incrementando de esta forma la potencia de los
clculos realizables.
Bucles FOR
Estos bucles permiten la ejecucin de un comando o grupo de comandos, un nmero fijo
predeterminado de veces. Por ejemplo:
for i=1:n, x(i)=0, end
Asigna el valor 0 a los n primeros elementos del vector x. Si n es menor que 1, el comando
central no se ejecutar ninguna vez. Si x no existe, o bien tiene menos de n elementos, se
reservar memoria adicional de forma automtica.
Una prctica comn es la utilizacin de bucles anidados:
for i=1:m
for j=1:m
A(i,j)=1/(i+j-1) ;
end
end
Es importante no olvidar que cada sentencia for debe concluir con su end correspondiente.
Bucles WHILE
Los bucles WHILE permiten la ejecucin de un comando o grupo de comandos un nmero
indeterminado de veces bajo el control de una condicin lgica. Esto es, los comandos se
ejecutarn mientras} se verifique dicha condicin.
Como ejemplo mostramos los comandos necesarios para averiguar cul es el primer
nmero entero cuyo factorial es un nmero de 100 dgitos:
n=1
while prod(1:n)< 1e100, n=n+1; end;
Sentencia IF
En su forma ms simple, la sentencia if se escribe en la forma siguiente (obsrvese que a
diferencia de C/C++/Java la condicin no va entre parntesis, aunque se pueden poner si
se desea):
if condicion
190
Mtodos Numricos
Ing. William Caiza
sentencias
end
Existe tambin la bifurcacin mltiple, en la que pueden concatenarse tantas condiciones
como se desee, y que tiene la forma:
if condicion1
bloque1
elseif condicion2
bloque2
else %opcin por defecto para cuando no se cumplen las condiciones 1 ni 2
bloque3
end
Donde la opcin por defecto else puede ser omitida: si no est presente no se hace nada
en caso de que no se cumpla ninguna de las condiciones que se han chequeado. Un
ejemplo de uso podra ser:
if I == J
A(I,J) = 2;
elseif abs(I-J) == 1
A(I,J) = -1;
else
A(I,J) = 0;
end
Desde el punto de vista de la programacin, una GUI es una visualizacin grafica de una o
ms ventanas que contienen controles, llamados componentes, que permiten a un usuario
realizar tareas en forma interactiva.
GUI es un entorno de programacin grfica, que ofrece Matlab para poder realizar y
ejecutar diversos programas, el entorno de Matlab tiene las caractersticas bsicas de
todos los programas visuales como Visual Basic o Visual C++.
Para poder realizar un programa en GUI, se debe seguir los siguientes pasos:
191
Mtodos Numricos
Ing. William Caiza
192
Mtodos Numricos
Ing. William Caiza
Figura A.1
Ejemplo 2:
El ejemplo hace uso del objeto axes, para graficar una funcin
193
Mtodos Numricos
Ing. William Caiza
Figura B.1
Ejemplo 3:
Se hace uso de dos objetos axes, en el cual se puede ver su uso para realizar grficos.
Figura B.2
Ejemplo 4:
En el ejemplo se muestra un men de opciones de colores, que al elegir nos muestra el color
seleccionado.
194
Mtodos Numricos
Ing. William Caiza
Primera forma:
texto=get(handles.popupmenu1,'Value');
switch texto
case 1
color= 'y';
case 2
color='r'
case 3
color= [ 1 0 1];
end
set(handles.text1,'Backgroundcolor',color);
Segunda forma:
clc;
contenido = get(hObject,'String');
valor =get(hObject,'Value');% El valor nmerico de la posicin
texto= contenido(valor)% muestra en contenido dentro de la matriz
switch cell2mat(texto)
case 'Amarillo'
color= 'y';
case 'Azul'
color='b';
case 'Verde'
color='g';
end
set(handles.text1,'Backgroundcolor',color);
Figura C.1
195
Mtodos Numricos
Ing. William Caiza
Ejemplo 5:
En este ejemplo mostramos una lista con operaciones aritmticas, ingresando los nmeros n1=5 y
n2=10, procedemos a seleccionar una de las operaciones y ver su resultado.
switch cell2mat(operaciones)
case 'Suma'
res=n1+n2;
case 'Resta'
res=n1-n2;
case 'Multiplicacin'
res=n1*n2;
case 'Divisin'
res=n1/n2;
end
set(handles.text1,'string',res);
Figura D.1
Ejemplo 5:
196
Mtodos Numricos
Ing. William Caiza
elige_valor = get(handles.uipanel1,'SelectedObject');
elige_cadena=get(elige_valor,'String')
set(handles.text2,'String',elige_cadena)
Ejemplo 6:
% En este ejemplo se muestra como con el uso de Radio Button se puede cambiar el
tamao de letra en un mensaje.
197
Mtodos Numricos
Ing. William Caiza
Figura E.1
3. Radio Button: Indica una opcin que puede ser seleccionada y realiza una accin
determinada. Button Group: Solo se puede tener un Button Group en la Gui, permite
exclusividad de seleccin con los radio button.
198
Mtodos Numricos
Ing. William Caiza
grid off;
end
Figura F.1
3. Check Box: Indica el estado (on off) de un atributo.
Toggle Button: Un botn con solo 2 estados (on off)
199
Mtodos Numricos
Ing. William Caiza
Figura G.1
3. Slider: Una barra que nos permite deslizarnos para aumentar o disminuir el rango
de valores.
200
Mtodos Numricos
Ing. William Caiza
Figura H.1
201
Mtodos Numricos
Ing. William Caiza
Descripcin:
202
Mtodos Numricos
Ing. William Caiza
3. En la cuarta lnea contiene la instruccin set (colocar), por medio del cual los
resultados obtenidos en el programa son visualizados en el programa por medio del
objeto text2.
203
Mtodos Numricos
Ing. William Caiza
Descripcin:
1. Asignamos a la variable n, el nmero de datos a realizarse las operaciones, se
idntica manera al programa anterior, se utiliza la funcin str2double para pasar de
cadena a nmero como se verifica en la instruccin: str2double(inputdlg(Cuantos
nmeros desea ingresar));
2. Utilizamos el comando for end, para poder ingresar los datos al programa.
3.- En la tercera lnea creamos la variable etiqueta por medio del cual se da una
mejor visualizacin al ingreso de los datos.
4.- Utilizamos la variable s como inicializador de la suma de los nmeros ingresados,
mediante la cual podemos realizar la suma de los datos.
5.- calculamos el promedio, utilizando la suma anterior dividida para el nmero de
datos ingresados.
6.- usamos el comando set para poder visualizar los resultados como indica el
siguiente cdigo: set(handles.txt3, string,etiqueta).
204
Mtodos Numricos
Ing. William Caiza
205
Mtodos Numricos
Ing. William Caiza
mul=mul*x(i)
end
set(handles.text1,'string',mul);
Suma
Multiplicacin
Pushbutton3
1. En la primera lnea de cdigo importamos los datos del edit1
2. En la segunda lnea de cdigo importo el dato ingresado del Listbox1, el cual ser mi
dato antiguo.
206
Mtodos Numricos
Ing. William Caiza
3. En la tercera lnea creo mu nuevo dato concatenando verticalmente los datos del
Listbox1 con el comando strvcat.
4. En la cuarta lnea imprimo mis datos concatenados en el Listbox1.
Pushbutton1
1. En la primera lnea de cdigo creo un acumulador que este igualado a 0, mientras
que en la segunda lnea meto en una variable a los datos encontrados en el Listbox
2. Creo un bucle con un For que empiece desde 1 y recorra hasta el nmero de datos
ingresados en el Listbox
3. Dentro del for acumulo los datos (acum=acum+ datos), de esta manera los datos
quedan sumados.
Pushbutton4
1. En la primera lnea de cdigo creo una variable que este igualado a 1 ya que con
esta variable vamos a realizar las multiplicaciones y la multiplicacin por 0 es 0,
mientras que en la segunda lnea meto en una variable a los datos encontrados en el
Listbox
2. Creo un bucle con un For que empiece desde 1 y recorra hasta el nmero de datos
ingresados en el Listbox
3. Dentro del for multiplico los datos (mul=mul*datos), de esta manera los datos
quedan multiplicados.
207
Mtodos Numricos
Ing. William Caiza
Descripcin
Botn 1:
1.- En la primera lnea de cdigo usamos la funcin inputdlg para ingresar por un cuadro de
dilogo la direccin del archivo a leer, presentamos la direccin en la segunda lnea.
2.- En la tercera lnea usamos la funcin cell2mat en la variable ruta para convertir el vector
tipo cell a vector normal.
3.- En la cuarta lnea usamos la funcin xlsread para importar los datos desde la ruta
ingresada.
4.- En la quinta lnea presentamos los datos importados en una tabla de datos.
Botn 2:
1.- En la primera lnea obtenemos los datos de la tabla.
2.- En la segunda lnea ingresamos la ruta de destino para nuestro nuevo archivo y
presentamos la misma en la tercera lnea.
3.- En la cuarta lnea usamos la funcin cell2mat para convertir el vector tipo cell a vector
normal.
4.- En la quinta lnea exportamos el archivo, con la funcin xlswrite, a la ruta ingresada con
los datos obtenidos.
208
Mtodos Numricos
Ing. William Caiza
Mediante el uso del axes en el entorno grafico guide del Matlab nosotros podemos crear la
grfica de una funcin que ingresemos:
Para obtener un axes presionamos el botn indicado por la flecha en el entorno grafico
guide:
Programacin:
% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
funcion=char(inputdlg('ingrese la funcion'));
f=inline(funcion);
etiqueta1=['(x)inicial'];
xi =str2double(inputdlg(etiqueta1));
etiqueta2=['(x)final'];
xf =str2double(inputdlg(etiqueta2));
x=xi:0.1:xf;
[f1 c]=size(x);
for i=1:c
y(i)=f(x(i));
end
plot(handles.axes1,x,y ,'g');
hold on;
209
Mtodos Numricos
Ing. William Caiza
xlabel('x')
ylabel('y')
Descripcin
1) Usamos la funcin (char) para convertir la funcin en una cadena de caracteres y
poder evaluarla
La funcin hold on, nos permite dibuja barias lneas en una misma figura.
La funcin lebel podemos poner nombre a los ejes de la grafica
210
Mtodos Numricos
Ing. William Caiza
211
Mtodos Numricos
Ing. William Caiza
Uitable es una funcin del entorno grafico de Matlab que enumera los datos ingresados o
enumera los resultados de un programa.
Para obtener un uitable presionamos el botn indicado en el entorno grafico guide:
Programacin:
funcion=char(inputdlg('ingrese la funcion'));
f=inline(funcion);
etiqueta1=['(x)inicial'];
xi =str2double(inputdlg(etiqueta1));
etiqueta2=['(x)final'];
xf =str2double(inputdlg(etiqueta2));
x=xi:0.1:xf;
[f1 c]=size(x);
for i=1:c
y(i)=f(x(i));
end
plot(handles.axes1,x,y);
hold on;
212
Mtodos Numricos
Ing. William Caiza
datos1=[x' y'];
datos2=[xi xf'];
xlabel('x')
ylabel('y')
Descripcin
1) Ordenamos los datos que queremos que devuelva el elemento uitable
2) La funcin inline transforma en funcin una cadena de caracteres.
3) Mediante la funcin set devolvemos los datos de la grfica
4) podemos poner nombres a las filas o columnas de nuestra uitable mediante las
funciones :
213
Mtodos Numricos
Ing. William Caiza
214
Mtodos Numricos
Ing. William Caiza
215
Mtodos Numricos
Ing. William Caiza
Descripcin:
1.- En la primera lnea de cdigo creamos una sentencia if (de condicin) para obtener el
valor numrico del elemento checkbox ( 1 como verdadero y cero como falso).
2.- Se enva un cuadro de mensaje, con la sentencia msgbox, enviando Seleccionado si
es nmero 1 No seleccionado si es cualquier otro nmero.
216
Mtodos Numricos
Ing. William Caiza
0 = ( ) = ( (0) + )
1
= ( (0) ) + { ( (0) )} + {} [ ( (0) + )]
2
1
( (0) ) + { ( (0) )} + {} [ ( (0) + )] = 0
2
Podra determinarse como = 0 + . Pero para resolver este sistema primero
deberamos conocer los valores de (lo cual no es obvio) y, una vez conocidos, resolver
un sistema, en general, no lineal pues obsrvese que x interviene en la expresin de las
matrices hessianas [ ( (0) + )]. Por tanto, salvo en situaciones muy particulares,
no se ganara gran cosa remplazando el problema de resolver f (x) = 0 por el de resolver el
sistema anterior.
El mtodo de Newton-Raphson (o mtodo de linealizacin de Newton) se sustenta en
simplificar las expresiones anteriores linealizndolas. Para ello considera que si se est
217
Mtodos Numricos
Ing. William Caiza
de cada ecuacin del sistema. Por ello, denotando por [Jf (x)] a la matriz jacobiana de f en
el punto x, en este mtodo se resuelve el sistema lineal:
1
(+1) = () [Jf ( () )] ( () )}
=0
Sobre este mtodo, en primer lugar, puede observarse que si denotamos por:
1
() = [Jf ( () )] ()
estamos en presencia de un caso particular del mtodo de aproximaciones sucesivas antes
contemplado en el aparatado 1.4.1.. En otros trminos, se tiene la siguiente propiedad:
Propiedad 3.1. Si la funcin g(x) = x [Jf (x)]1 f (x) es, para alguna norma matricial,
1
una contraccin definida en D la sucesin dada por (+1) = () [Jf ( () )]
( () )} obtenida a partir de cualquier vector (0) D converge hacia la nica
=0
solucin de la ecuacin f (x) = 0 en D.
218
Mtodos Numricos
Ing. William Caiza
Jf () [Jf ()] x, y D
() f(y) [Jf ()]( ) 2 x, y D
2
Demostracin.
Siendo x e y dos vectores genricos de D denotemos por q(t) a la funcin vectorial
dependiente de un nico parmetro real definida por:
() = ( + ( ))
Esta funcin, habida cuenta de las hiptesis realizadas sobre f es derivable t [0,1]. As,
denotando por z = y + t (x y) se tiene que:
219
Mtodos Numricos
Ing. William Caiza
( + ( + ) ( )) ( + ( ))
() = () = lim
0
( + ( )) ()
= lim = [Jf ()]( )
0
De donde:
Con ayuda de este lema puede procederse a presentar y demostrar el siguiente teorema:
220
Mtodos Numricos
Ing. William Caiza
entonces para la sucesin (+) = () [ (() )] (() )} obtenida a partir
=
de cualquier vector () D se verifica que:
(+) () () ()
Demostracin. Se tiene que:
(+) () = [ (() )] (() ) [ (() )] (() ) (() )
y como de:
1
(+1) = () [Jf ( () )] ( () )
Se deduce que:
1
( () ) = [Jf ( () )] ( (+1) = () )
1
(+1) () ( () ) = ( () ) ( () ) [Jf ( () )] ( (+1) () )
2
() (1)
2
El teorema anterior nos muestra que la relacin entre la norma del vector diferencia entre
las aproximaciones halladas en las iteraciones (i+1) e i es proporcional (con factor = )
2
al cuadrado de la norma del vector diferencia entre las aproximaciones halladas en las
iteraciones i e (i 1). Pero por s solo este teorema no nos justifica que el mtodo converja.
221
Mtodos Numricos
Ing. William Caiza
2
Simplemente nos indica que si en algn momento () (1) < (1/C) entonces se
habr logrado una sucesin de Cauchy y, al estar en un completo, por ello una sucesin
convergente. Para acabar de obtener un resultado que garantice la convergencia es
necesario imponer ms condiciones en el mtodo. Como por ejemplo las que se recogen
en el teorema siguiente que, junto a las hiptesis a) y b) del teorema anterior aade una
nueva:
1) IR+ / () [ ()] x, y D
entonces para la sucesin (+) = () [ (() )] (() )} obtenida a partir de
=
cualquier vector () D para el que se verifique la condicin
3) IR+ / [ ( )] (() ) < u
existe el lmite de la sucesin (+) = () [ (() )] (() )} que es una
=
raz del sistema f (x) = 0 en D y se verifica que:
() (1) 2
u
donde = < 1.
2
POR NEWTON
Este mtodo se basa en utilizar el desarrollo de Taylor. Escribimos x1 = x0 + x,
f (x1) = f (x0) + f (x0) x + o (x2) , y suponiendo que f (x1) = 0, queda
(0 )
1 = 0
( )
222
Mtodos Numricos
Ing. William Caiza
La ecuacin de la recta tangente a la curva y = f (x) en (xn1, f (xn1)) viene dada por
y = f (xn1) + f 0 (xn1)(x xn1) .
La abscisa del punto de interseccin de la recta tangente con el eje X,
xn = xn1 f (xn1) f 0(xn1) ,
y mediante esta relacin obtenemos una sucesin, {xn} n=1 de aproximaciones al valor
de la raz buscada. El error que se comete en la iteracin n-sima sera
| r xn |< M 2m | xn xn1 | ,
Donde 0 < m | f (x) | y | f 00(x) | M, x (a, b)
223
Mtodos Numricos
Ing. William Caiza
Suponemos que se quiere buscar una raz de la funcin f (x) = x 3 + 4x 2 10 en [1, 2].
Se pueden hacer diferentes elecciones de la funcin (x), por ejemplo,
a) 1(x) = x 3 4 2 + 10;
1
b) 2(x) = 2 (10 3 )1/2 ;
c) 3(x) = ( 3 4 2 + 10)/(8 + 3 2 );
d) 4(x) = (10/(4 + ))1/2 ;
Ejercicio
Calcular el vector (k) de la iteracin k-sima cuando k=4 si se utiliza el mtodo de Newton-
Raphson en la resolucin del sistema no lineal: 2 xcos( y ) = 0, 2 ysin( x ) = 0, tomando
x(0) = [0,0]T. Calcular en cada iteracin k el valor de la estimacin del error absoluto ||e(k)||
= || x(k) x(k1) || y tambin del error relativo || x(k) x(k1) || / || x(k) ||. Dar los
resultados con cuatro decimales exactos.
Queremos resolver un sistema de ecuaciones del tipo: f1(x1,x2,...,xn) = 0, f2(x1,x2,...,xn) =
0 , ... fn(x1,x2,...,xn) = 0 donde las funciones fi(x), i=1,2,...,n son arbitrarias. Llamando
entonces a F(x) = [f1(x),f2(x), ..., fn(x)]T queremos resolver F(x) = 0, con F:Rn Rn . Si se
usa el mtodo de Newton-Raphson, esto se traduce en usar el esquema iterativo:
x(k+1) = x(k) (J(x(k)))1 F(x(k)), k=0,1,2,...
fi(x)
J(x(k)) = [ ] , 1 i, j n, la matriz de Jacobi.
xj x = (k)
Por tanto, al resolver el sistema por Newton-Raphson, debemos resolver en cada iteracin
el sistema lineal: J(x(k)) vc(k) = F(x(k)) y obtener luego la siguiente iteracin usando este
vector de correccin recin calculado: x(k+1) = x(k) + vc(k) En nuestro caso la funcin es:
224
Mtodos Numricos
Ing. William Caiza
2 x cos( y )
F(x) =[ ]
2 y sin( x )
y la matriz de Jacobi:
2 sin( y )
J(x) =[ ]
cos( x ) 2
Como la aproximacin inicial es (0) = [0,0]T, calculamos:
2 0 1
J()(0) = [ ] , F(x0 ) = [ ]
1 2 0
Y por tanto, el sistema lineal a resolver es:
2 0 1
[ ] ()(0) = [ ]
1 2 0
Una vez resuelto es (0) = [1/2,1/4]T , por lo que entonces:
0 1/2 1/2
(1) = (0) + (0) = [ ] + [ ]=[ ]
0 1/4 1/4
Con (1) continuaramos el proceso y obtendramos (2) , etc., comprobando la
convergencia con cada (k) calculado (es e(k)= vc (k1)). Las iteraciones son:
A continuacin viene la grfica donde aparecen las funciones que intervienen en el sistema,
el punto de interseccin pedido, la iteracin solicitada en el enunciado y el conjunto de
puntos calculados en las diferentes iteraciones. La aproximacin inicial aparece con un
pequeo crculo rojo.
225
Mtodos Numricos
Ing. William Caiza
Ejercicio 2
Sea la ecuacin no lineal siguiente:
() = 3 cos() = 0
a) Aplicando el mtodo de Newton encontrar la raz prxima al valor 0 = 1.0 con una
precisin de 102.
Mtodo de Newton-Raphson.
() = 3 cos() = 0 0 = 1
Formula:
(1 )
= 1 ( 1)
(1 )
1 3 cos[1 ] 1 3 cos[1 ]
= 1 = 1 +
31 2 sin[1 ] 31 2 + sin[1 ]
Tabla de datos
( ) ( ) Error [%]
0 -1 0.459698 -3.841471
1 -0.880333 0.045351 -3.095909 13.59
2 -0.865684 0.000632 -3.009766 16.92
3 -0.865474 1.289200x107 -3.008539 0.02
Donde
() = () =
Remplazamos el 0 = 1, en la ecuacin para obtener el valor de ( )
226
Mtodos Numricos
Ing. William Caiza
() = + () =
Remplazamos el 0 = 1, en la ecuacin derivada para obtener el valor de ( )
227
Mtodos Numricos
Ing. William Caiza
EJERCICIO 3
Representacion de la funcin () = () = . Aplicando el mtodo de Newton
encontrar el cero de la funcin
() 1
= +
2 5
Prximo al valor de 0 = 1.5, iterando hasta que se cumpla que el error sea menor que
103
Frmulas
(1 )
= 1
(1 )
1 ( )
+ e (3 + 10(1 + ) 5 [ ])
= 1 5 2 =
1 5( +2 )
2
Tabla de datos
( ) Error [%]
0 1.5 -0.179602
1 1.177243 0.026539 27.41
2 1.213457 0.000431 2.98
3 1.214065 1.177954x107 0.05
()
( ) = +
Remplazamos el valor e 0 = 1.5, en la ecuacin para obtener el valor de ( )
() 1
(1.5) = + (1.5) = .
2 5
228
Mtodos Numricos
Ing. William Caiza
( )
+
=
1 (1.5)
+ e1.5
= 1 5 2 = .
1
1.5
2(1.5)
ERROR
| 1 |
= 100%
| |
|0.322757 1.5|
= 100% = . %
|0.322757|
La raz aproximada es:
= 3 = .
Representacin de la funcin
()
= +
Problema 1. Aplquese el mtodo de Punto Fijo para sistemas no lineales para aproximar el sistema
de ecuaciones no lineales siguiente, iniciando el mtodo en el punto inicial
P0 = (1(0) , 2(0) , 3(0) )= (0.1, 0.1, 0.1) e iterando hasta que
Pi+1 - Pi 105
1 (1, 2, 3) = 3 1 (2 3) 1/2 = 0,
2 (1, 2, 3) = 12 81 (2 0.1)2 + 3 + 1.06 = 0,
3 (1, 2, 3) = + 20 3 + (10 3)/ 3 = 0.
1 2
229
Mtodos Numricos
Ing. William Caiza
1
(2 3) + 3 1 + 2
0
1 (1, 2, 3) = [12 81 (2 0.1)2 + 3 + 1.06]=[0]
1 0
+ 20 3 + + (3 + 10 ) 1 2
El lmite de P es:
(0) (0) (0)
lim() = = (1 , 2 , 3 )
0
Si y solo si lim = = 1,2, . , .
0
Para verificar que el sistema converge se debern cumplir con las siguientes condiciones en las
formulas con derivadas parciales:
1 2 3 21 1
| |+| |+| |= 0+| | + | 2 1 2 | < 1
1 2 3 1812 + (3 ) + 1.06 20
1 2 3 1 1
| |+| |+| | = | 3 (2 3 )| + 0 + | 2 1 2 | < 1
1 2 3 3 20
1 2 3 1 cos(3 )
| |+| |+| | = | 3 (2 3 )| + | |+0<1
1 2 3 3 2
181 + (3 ) + 1.06
1 0 ,2 0 ,3 0 = 0.1,0.1,0.1
230
Mtodos Numricos
Ing. William Caiza
1ra iteracin
2da iteracin
(2) 1 (1) (1) 1
1 = cos(2 3 ) + = 0.499996
3 6
1
(2)
2 = (3(1) )2 + (3(1) ) + 1.06 0.1 = 0000028
9
(1) 1 (1) (1) 10 3
3 = 1 2 = 0.524101
20 60
(2) (1) 2 (2) (1) 2 (2) (1) 2
= (1 1 ) + (2 2 ) + (3 3 ) = 0.009473
Luego evaluando las derivadas parciales para determinar la convergencia del mtodo:
| 1 | + | 2 | + | 3 | = 0 + 0.061744 + 0.000470 = 0.062213
1 2 3
1 2 3
| |+| |+| | = 0.000864 + 0 + 0.025117 = 0.025982
1 2 3
| 1 | + | 2 | + | 3 | = 0.000016 + 0.053458 + 0 = 0.053473
1 2 3
Viendo estos valores se puede decir que el mtodo converger, pero como el error es mayor a la
tolerancia se deber continuar con otra iteracin.
Viendo estos valores se puede decir que el mtodo converger, pero como el error es mayor a la
tolerancia se deber continuar con otra iteracin.
Table de datos
0 0.1 0.1 -0.1
1 0.499983 0.020176 -0.524101 0.745561
2 0.499981 -0.000028 -0.524106 0.020204
3 0.500000 -0.000028 -0.523598 0.000508
4 0.500000 0.000000 -0.523598 2.8105
5 0.500000 0.000000 -0.523599 7.1107
= 0.5
y=0
z = 0.523599
= 7.1107
231
Mtodos Numricos
Ing. William Caiza
232
Mtodos Numricos
Ing. William Caiza
233