Anda di halaman 1dari 233

2015

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.

Mtodos Numricos
Ing. William Caiza

Dedicatoria
ESTA PGINA ES OPCIONAL.

Mtodos Numricos
Ing. William Caiza

Agradecimientos
ESTA PAGINA ES OPCIONAL

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

Mtodos Numricos
Ing. William Caiza

INTERPOLACIN ....................................................................................................... 124


EJERCICIOS PROPUESTOS: ...................................................................................... 133
MTODOS DE LA BISECCIN ..............................ERROR! MARCADOR NO DEFINIDO.
MTODO DE LA FALSA POSICIN .....................ERROR! MARCADOR NO DEFINIDO.
SOLUCIONES DE EJERCICIOS PROPUESTOS ............ ERROR! MARCADOR NO
DEFINIDO.
ANEXOS .......................................................................................................................... 180

Mtodos Numricos
Ing. William Caiza

CAPITULO 1: INTRODUCCIN
1.1 Nmeros Decimales
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.

1.1.1 Notacin Decimal


La expresin 1563 en base 10 se puede escribir
= = + + + .

Todo nmero en base 10 tiene la siguiente notacin


= + + + + = {, , , , , }
=

Mtodos Numricos
Ing. William Caiza

1.1.2 Notacin Binaria


Notacin Decimal

Notacin Binaria

10

11

100

101

110

111

1000

1001

= + + + + = {, }

En el nivel superior se encuentra los nmeros complejos, un ejemplo podra ser 3 + 4 ,


donde la parte real es 3 y la parte imaginaria es 4.
Todo nmero real se puede clasificar en un nmero racional e irracional, un nmero

racional es de la forma , , y un nmero es irracional cuando no se puede


escribir de la forma

, ejemplo = 3.141516 .

Mtodos Numricos
Ing. William Caiza

CLASIFICACIN DE LOS NMEROS

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).
3, 3 =

333
9

30
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).
3,245 =

3245 324 2921


=
900
900

Mtodos Numricos
Ing. William Caiza

Ejemplo 1
Transformar el nmero de base 2 a un nmero en base 10
1 0 0 12 = 1 23 + 0 22 + 0 21 + 1 20 8 + 0 + 0 + 1 = 9
Ejemplo 2
Transformar el nmero de base 10 a un nmero en base 2
10010 = 1 1 0 0 1 0 02

100 2
0 50 2
0 25 2
1 12
0

2
6
0

2
3
1

2
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
Regla de transformacin de un nmero en notacin base 10 con decimales a
binario.
1. Se transforma la parte entera binaria.
2. Se sigue con la parte fraccionaria multiplicando por el nmero 2; si el
resultado es mayor o igual a 1 se anota un 1; si es menor que 1 se anota
un 0. (El producto se realiza con la parte original decimal y con la parte
fraccionaria de las sucesivas multiplicaciones, hasta que la parte
fraccionaria sea cero).
3. Despus de realizar cada multiplicacin, se coloca los nmeros obtenidos
en el orden de su obtencin.
4. Algunos nmeros se transforman en dgitos peridicos.

10

Mtodos Numricos
Ing. William Caiza

Ejemplo 3
Transformar 6,312510 a binario.
Parte Entera
610 =
6
0

2
3
1

Parte Fraccionaria
0,3125 2 = 0,625
0,625 2 = 1,25
0,25 2 = 0,5
0,5 2 = 1
02= 0
02= 0

2
1

0,3125 =
Verificacin:
Parte Entera
= 1 22 + 1 21 + 0 21
= 4+2+0
=

Parte Fraccionaria
= 0 21 + 1 22 + 0 23 + 1
24 + 0 25 + 0 26
1
1
= 0 + 4 + 0 + 16 + 0 + 0
4+1
5
=
=
= ,
16
16

, = ,
Ejemplo 4
Conversin de peridica (3.5)
3. 5 =

35 3 32
=
9
9

Verificamos
Parte Entera
32 9
50 3,55
50

=3.5

Ejemplo 5

11

Mtodos Numricos
Ing. William Caiza

Conversin de semi-peridica (3.25)


3.25 =
Verificamos
Parte Entera
293 90
230 3,255
500
500

325 32 293
=
90
90

=3.25

Ejemplo 6
5
Conversin de 1.3 + 3

13 5 39 + 50 89
+ =
=
10 3
30
30

Ejemplo 7
Conversin de 6.312510
6.3125
63125 12625 2525 505 101
10000 =
=
=
=
=
10000
10000
2000
400
80
16
Ejemplo 8
Conversin de 6.312510 a binario
Parte Entera
6 2
0 3 2
: 110
1 1

Parte Fraccionaria
0.3125*(2)= 0.625 =
0.625*(2)= 1.25 =
0.25*(2)= 0.5
=
0.5*(2)= 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
0 1

: 101.
1012 = 1(2)2 + 0(2)1 + 1(2)0
4
+ 0
+1
=5

12

0
1
0
1

Mtodos Numricos
Ing. William Caiza

Parte Fraccionaria

0.341
0.341*(2)= 0.682 = 0
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

Sin importar q sea peridica

Verificacin
= 01010111
0.341
= 1(2)2 + 1(2)4 + 1(2)6 + 1(2)7 + 1(2)8
=

1 1
1
1
1
+
+
+
+
+
4 16 64 128 250

64 + 16 + 4 + 2 + 1
87
=
256
256

Representacin de nmeros en coma flotante


Para representar nmeros enteros muy grandes o fracciones muy pequeas es
necesario utilizar notacin cientfica.
La representacin de un nmero en coma flotante tiene tres componentes:
Signo: indica si el nmero es positivo o negativo
Mantisa: representa la magnitud del nmero
Exponente: indica el desplazamiento de la coma fraccionaria

13

Mtodos Numricos
Ing. William Caiza
.
Los nmeros decimales en coma flotante se normalizan, desplazando la coma
fraccionaria de manera que la parte entera del nmero siempre valga cero.
Ejemplo
346734556700 = 0.346734556700 1012
En la presente notacin no es necesario representar la base del nmero, ya que est
implcito en el formato y la parte entera de un nmero normalizado siempre es cero,
tampoco es necesario representarlo, con las acotaciones anteriores la representacin
en coma flotante es
Signo: +
Mantisa: 346734556700
Exponente: 12

Nmeros binarios en coma flotante


Utilizando el formato de simple precisin, que utiliza 32 bits para la representacin de
nmeros binarios en coma flotante
Signo (1 bit)

Exponente (8 bits)

Mantisa (23 bits)

Ejemplo:
Dado el siguiente nmero en binario, expresarlo en punto flotante
0,0000101 = 0,101 24
La forma normalizada siempre tiene un 1 en la posicin ms a la izquierda, por lo que
no hay que almacenarlo, est implcito en la representacin.
Se podra aprovechar en la normalizacin otro bit, el 1 ms a la izquierda est en la
parte entera
0,0000101 = 0,101 24 = 1,01 25
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

10001011

23
bits

01101001000100000000000

Ejemplo:
Dado el siguiente nmero binario normalizado
1 bit

8 bits

10010001

23
bits

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

1.2 Anlisis de errores


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.
Supongamos que p (estimador) una aproximacin de p, entonces se define el error
absoluto como:
= | |
= | |
= | |
Y adems tenemos el error relativo, el mismo que es un porcentaje de la diferencia entre
su valor real y su aproximacin:
=

| |
100
||

| |
100
| |

1.2.1 Error de Truncamiento

16

Mtodos Numricos
Ing. William Caiza

La nocin de error de truncamiento se refiere normalmente a los errores que se


producen cuando una expresin matemtica complicada se reemplaza por una frmula
ms simple, por ejemplo:
2

= 1 + 2 +

4 6 8
+ + +
2! 3! 4!

1.3 Serie de Taylor


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.

() = () = () +

()()
1!

()()2
2!

()()3
3!

+. . . +

() ()()

Donde
Si a=0, tenemos la serie de McLaurin:
() = (0) + (0)() +

(0) 2
() (0)
+. . . +
+. ..
2!
!

Ejemplo a):
Encontrar la serie de McLaurin

() = ()

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
(4) () = cos(0) (4) (0) = 1

() = + +
! ! !
Ejemplo c):
Encuentre Sen (3.5), utilizando la serie de Taylor con 3 trminos
() = () = () +

()( ) ()( )2 ()( )


+
+
+
1!
2!
!

() = (3.5)
(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 |
= .
E =

|0.35078 0.730981 |
100
|0.35078|

= .

Ejemplo d):
() = ()

1)
2)
3)
4)
5)

()( ) ()( )2 ()( )


+
+
+
1!
2!
!
Encuentre la serie de Taylor del Sen(x)
Encuentre el valor de la serie en x =3.45
Encuentre el valor de la serie en a=3, x=3.45
Encuentre el error
Conclusin

1)

Sen(x) = Sen(a) + Cos(a)(x a)

() = () +

Sen(a)(xa)2
2!

Cos(a)(xa)3
3!

Sen(a)(xa)4
4!

Cos(a)(xa)5
5!

2)

x3

x5

x7

Sen(x) = x 3! + 5! 7! +
Sen(3.45) = 3.45

x9
9!

(3.45)3 (3.45)5 (3.45)7 (3.45)9


+

+
= 0.284384
3!
5!
7!
9!

19

Mtodos Numricos
Ing. William Caiza

Sen(3.45) = Sen(3) + Cos(3)(3.45 3)

3)

(3)(3.453)2
2!

(3)(3.453)3
3!

Sen(3)(3.453)4
4!

= - 0.303788
4)

El valor exacto de Sen(3.45)= -0.303541, calculadora en radianes.

El error para a=0.


= |


| 100

= |

0.303541 + 0.284381
| 100
0.30541

= . %

20

Mtodos Numricos
Ing. William Caiza

El error para a=3 de Sen(3.45)


= |

0.303541 + 0.303388
| 100
0.30541

= . %
5)

Conclusin:

Cuando el valor de a es cercano a x el valor disminuye notablemente.

Ejemplo e):
() = ()
1.- Encontrar la serie de Taylor del ()
2.- Encontrar el valor de la serie en x=3.45; a=3.4 con 5 trminos
() = = () +

()( ) ()( )2 ()( )


+
+
+
1!
2!
!

1.
() =

() + () ( )
2

() () ( )2
+(
)
2!
4

2.
(3.45) =

(3.4) + (3.4) (3.45 3.4)


23.4

(3.45 3.4)2
2!

(3.45) = 0,958967

= |

0.959204 0,958967
| 100
0.959204

= . %

21

+(

3.4 (3.4) (3.4)


4(3.4)3.4

Mtodos Numricos
Ing. William Caiza

Ejemplo f):

Demostrar

() = = () + ()
(0) = = (0) = 0 = 1
() = = (0) =
() = 2 = (0) = 2
() = 3 = (0) = 3
(4) () = 4 = (4) (0) = 4
(5) () = 5 = (5) (0) = 5

22 33 44
= 1 + +
+
+
+. ..
2!
3!
4!

= (1

2 4 6
3 5
+

+ ) + (
+
+)
2! 4! 6!
3! 5!
= () + ()
Polinomio de Taylor para funciones de dos variables

Definicin sea : 2

* Funcin escalar de variable vectorial


* Funcin real de variable vectorial

El polinomio de Taylor de orden n asociado a (, ):


(, ) = (, )
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:
Dada la funcin de:
: 2
f(x, y) = sen(x)sen(y)
Encontrar el polinomio de Taylor de grado 3 asociado y evaluado (0,1 ; 0,15):

Programa de la serie de Taylor


Cdigo:
% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
syms x;
ingreso=char(inputdlg('ingrese funcion'));
f=inline(ingreso);
n=str2double(inputdlg('ingrese numero de expresiones para la serie'));
ev=taylor(f(x),'order',n)
fun=string(ev);
set(handles.text1,'string',fun);

Imagen 1.1: Ejecucin del programa

Teorema: Sea [, ], (+1) existe en [a,b] y c [a,b].

Entonces
para todo x [a,b], f(x) = () + (), donde () es el polinomio de Taylor

23

Mtodos Numricos
Ing. William Caiza
(+1) (())
() =
( )+1
( + 1)!
Es el residuo, con () entre c y x, el teorema no permite evaluar exactamente el
residuo, pero si permite acotarlo.
| ()|

|x c|+1
max| (+1) ()|
( + 1)!

t (x,c).
Ejemplo 5
Obtener el polinomio de Taylor de orden 2 de cos(x) alrededor de , acotar el
error para x=3 y calcular el error.

2 () = cos( ) ( )(x )

cos( )
( )2
2

1
2 () = 1 + ( )2
2
|3 |3
||
|()|; [3, ].
6
|| 0.0004731 (3)
|| 0.0004731 0.1411 = 0.0000668

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=

Transformar de notacin binaria a notacin decimal


1. 100110112 =
2. 100110012 =
3. 11001002 =
4. 100110012 =
5. 01012 =
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
3. Encontrar la serie de Maclaurin para f(x) =
4. Encontrar la serie de Maclaurin para f(x) =
5. Encontrar la serie de Maclaurin para f(x) =

Pginas web:

25

ex + ex
2
ex ex
2
1
1+x2

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

CAPITULO 2: RESOLUCIN DE ECUACIONES NO LINEALES


2.1 Mtodo de la biseccin
Descripcin del mtodo:
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.

Figura 2.1: descripcin grafica del mtodo de la biseccin.

26

Mtodos Numricos
Ing. William Caiza

Las aproximaciones deseadas forman una sucesin que convergen a la raz.


{xn } = {c, c1 , c2 , . . , cn }
{xn } = converge a la raz

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']);

Figura 2.2 Ejecucin del algoritmo de la biseccin

1. Elija a y b de forma que la funcin cambie de signo, inicialmente el a y el b se


podra escoger realizando el grfico de la funcin.
2. La primera aproximacin a la raz es Ci y se obtiene
+
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.
2.1.2 Error Del Mtodo de Biseccin
= |

%
|

Ejemplo 1: Encontrar los ceros de la funcin y= -exp(x)tan(x)

y= -exp(x)tan(x)
200
150

100
50
0
0

0,5

1,5

2,5

3,5

-50
-100

Figura2.3: grafico del mtodo de la Biseccin

Cuadro de datos:
f(ai )f(Ci ) > 0; ai = Ci , bi = bi

29

Mtodos Numricos
Ing. William Caiza

Figura2.4: tabla de datos.

f(ai )f(Ci ) < 0; bi = Ci , ai = ai

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 inline4.- 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.

2.2 Mtodo de la Falsa Posicin

30

Mtodos Numricos
Ing. William Caiza

(r2,y2)

r2

C1

(r2,y2)

Figura 2.5: grafica del mtodo de la falsa posicin.

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.
Con el mtodo de la falsa posicin, suele conseguirse una aproximacin mejor
usando el punto (c, 0), en el que la recta secante L pasa por los puntos (a, f(a)), (b, f
(b)) y el eje x.
Para hallar la abscisa c, igualamos las dos frmulas para la pendiente m de la recta
secante L.

Encontremos la expresin para el mtodo de la falsa posicin.


Sea los puntos (, ()) (, ())
=

() ()

(1)

Sean los puntos (, 0) (, ())


=

0 ()

Igualando las dos expresiones obtenemos

31

(2)

Mtodos Numricos
Ing. William Caiza
() () ()
=
( )(() ()) = ()( )

()( )
()( )
+ =
() ()
() ()

Por lo tanto generalizando la expresin anterior tenemos:


=

( )( )
( ) ( )

= 1,2,3,

Donde forma una sucesin que converge a la raz de la funcin.


Las 3 posibilidades son las mismas que en el caso anterior:
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.

2.2.1 Convergencia del Mtodo de Falsa Posicin


De la deduccin anterior, tenemos que la aproximacin , es una sucesin de la
forma { }
=0 la cual puede converger.
Sin embargo, aunque la longitud del intervalo bk ak se hace ms pequeo, es
posible que no tiende a 0.
El criterio de parada usada en el mtodo de la biseccin no es til por lo tanto se
utilizar aproximaciones sucesivas de |Ck Ck1 |.

Ejemplo 3: Realizar la grfica de la funcin tan(x)*cos(x)

32

Mtodos Numricos
Ing. William Caiza

tan(x)*cos(x)
1,5
1
0,5
0
-4

-2

-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.

Cuadro del Mtodo de la Falsa Posicin

Figura 2.7: Cuadro de datos.

Ejemplo 4: f(x)=ln(x^3+2)*tan(x)
Grfica de la funcin

33

Mtodos Numricos
Ing. William Caiza

Figura 2.8: grafica de la funcin f(x)=ln(x^3+2)*tan(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.

Cuadro del Mtodo de la Falsa Posicin

Figura 2.11: Cuadro de Datos, Ejemplo 2

2.3 Interaccin de Punto fijo


2.3.1 Idea Grfica del Punto Fijo
funcion1=char(get(handles.edit1,'string'));
funcion2=char(get(handles.edit2,'string'));
funcion3=char(get(handles.edit3,'string'));
x=-5:0.1:5;
f1=inline(funcion1);
f2=inline(funcion2);
f3=inline(funcion3);
n=length(x);
for i=1:n
y1(i)=f1(x(i));
y2(i)=f2(x(i));
y3(i)=f3(x(i));

34

Mtodos Numricos
Ing. William Caiza

end
plot(handles.axes1,x,y1);
hold(handles.axes1,'on');
plot(handles.axes1,[-7 7],[0 0],'r');
plot(handles.axes1,[0 0],[-15 15],'r');
plot(handles.axes2,x,y2);
hold(handles.axes2,'on');
plot(handles.axes2,x,y3);
plot(handles.axes2,[-7 7],[0 0],'r');
plot(handles.axes2,[0 0],[-15 15],'r');
grid on;

Figura 2.9: Respuestas del ejercicio


() =

Un punto fijo de una funcin g es un nmero p para el cual se cumple:

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):

Despejando de la expresin anterior tenemos


() = (), Y tiene un cero en p.

Verifiquemos que f(x) tiene un cero en p


() = () = = , ya que p es punto fijo de g.
p es raz.
Ejemplo 5: encuentre la siguiente expresin.
La ecuacin x 3 + 4x 2 10 = 0 tiene una raz nica en el intervalo de [1,2],
encuentre una expresin x=g(x)
3 + 4 2 10 = 0
4 2 = 10 3
2 =

10 3
10 3

|| =
4
4

10 3
4

(1)

= ()
( 2 + 4) = 10

10
+ 4

36

(2)

Mtodos Numricos
Ing. William Caiza

= ()
3 = 10 4 2
3
3
3 = 10 4 2
3

= 10 4 2 (3)

= g(x)

Verificacin de la ecuacin (1)


() = ()
10 3
() =
4
() =
() =

10 3
2

2 10 3
2

() = 0
2 10 3
=0
2
2 10 3 = 0
(2)2 = (10 3 )

4 2 = 10 3
3 + 4 2 10 = 0

Algoritmo de interaccin del mtodo de punto fijo:


+1 = ( )

= 0,1,2,3

Donde se tendr que inicializar el algoritmo con p0 .

37

Mtodos Numricos
Ing. William Caiza

El error a calcular ser de la forma:

e = |xrnuevo xranterior |
Ejemplo 6: resuelto en Excel
() = +

Despejando x se obtienen 3 ecuaciones:

= +

= +
=

()
()
()

Observacin: El mtodo de punto fijo es sensible al despeje de la funcin f(x) en


x=g(x)
Este algoritmo es sensible al despeje, en este caso el mejor despeje es el la
ecuacin (2).

F(x)= = +
F(x)= =(&^+)
15
10
5

0
-4

-3

-2

-1

-5

-10
-15
-20
-25

Figura 1.10: grafica del mtodo del punto fijo

38

Mtodos Numricos
Ing. William Caiza

Grfico de la ecuacin (2) en la cual las rectas se intersectan y las funciones convergen.

k
0
1
2
3
4
5
6
7
8
9

pk
2
0,75
1,78515625
1,12446938
1,71065425
1,23009637
1,66295816
1,29165893
1,62835032
1,3334784

pk+1=g(pk)
0,75
1,78515625
1,12446938
1,71065425
1,23009637
1,66295816
1,29165893
1,62835032
1,3334784
1,60175513

Pk
2
1,44224957
1,49047078
1,4827081
1,48391569
1,48372676
1,48375629
1,48375168
1,4837524
1,48375229

pk+1=g(pk)
1,44224957
1,49047078
1,4827081
1,48391569
1,48372676
1,48375629
1,48375168
1,4837524
1,48375229
1,4837523

2.4 Mtodo de Newton-Raphson


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:

Figura 2.11: Grafica del mtodo de newton Raphson

0 ( )
(1) ;
1 0

Igualando tenemos que:

39

= (0 ) (2)

Mtodos Numricos
Ing. William Caiza

(0 ) =

0 ( )
1 0

(1 0 ) (0 ) = (0 )
1 (0 ) 0 ( ) = (0 )
1 =

(0 ) + 0 (0 )
(0 )

1 = 0

(0 )
(0 )

Este proceso puede repetirse para obtener la sucesin {pk } que converge ap.
TEOREMA: Supongamos que la funcin f C2 [a, b] , es decir la funcin f debe
ser continua e integrable en el intervalo [a, b] y debe existir un nmero p [a, b]
tal que f (p)=0
= (1 ) = 1

(1 )
; = 1,2,
( )
1

Ejemplo 7: Aplicar el mtodo de Newton-Raphson para resolver la siguiente


ecuacin
= .
2 0.7 = 0
() = 2 0.7
()=ln^2 0.7
3
2
1
0
-3

-2

-1

-1 0

-2
-3
-4
-5
-6

Figura 2.12: Grafica Del Mtodo De Newton Raphson

() =

40

Mtodos Numricos
Ing. William Caiza

( )

+1 = ( )

+1 = 2

( )

(22 ) 0.7
+1 = 1.3137
2
2

+1 = ( )

+1 = 1.3137
= | |

(1.31372 ) 0.7
+1 = 1.415
2
1.3137

= |1.415 1.3137| 0.101

( )

+1 = ( )

+1 = 1.415
= | |

(1.4152 ) 0.7
+1 = 1.419
2
1.415

= |1.419 1.415| 0.004

( )

+1 = ( )

(1.4192 ) 0.7
+1 = 1.419
+1 = 1.419
2
1.419
= | |
= |1.419 1.419| 0

Algoritmo del mtodo de Newton Raphson


Cdigo:
% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
syms x;

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);

Figura 2.13: Mascara De Interface

Figura 2.18: Ejecucin del programa

42

Mtodos Numricos
Ing. William Caiza

2.5 Races mltiples


Una raz mltiple corresponde a un punto donde la funcin es tangencial al eje
x, en dicho punto.
() = ( + )( )( )
() = ( + 3)( 1)2
= ( + 3)( 2 2 + 1)
= 3 22 + + 32 6 + 3
= 3 + 2 5 + 3
En general, la multiplicidad impar de races cruza el eje x, mientras que la
multiplicidad par no la cruza.

Dificultad del mtodo de races mltiples

El hecho de que la funcin no cambie de signo en races mltiples pares


impide que converse en mtodos cerrados.

Tanto f(x) como su derivada se aproxima a cero en la raz, esto afecta a los
mtodos de newton Rapshon y secante los cuales contienen derivada en el
numerador.

El mtodo de Newton Rapshon y la secante convergen el punto lineal, en vez


de formar cuadrtica cuando hay races mltiples.

Ejemplo 9: multiplicidad par.


Sea f(x)= (x 2)2 , como se puede apreciar en el grfico el cero es un punto que
topa tangencialmente al eje de las x, por lo tanto esta funcin es de multiplicidad 2

f(x)=(x-2)^2
30
25
20
15
10
5
0
-4

-2

43

Mtodos Numricos
Ing. William Caiza

Figura 2.19: Multiplicidad Par

Ejemplo 10: multiplicidad impar

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

-10

-20
-30
-40

Figura 2.20: Multiplicidad Impar

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 ( ) ( ))

Ejemplo 11: encontrar los ceros de la siguiente funcin

44

Mtodos Numricos
Ing. William Caiza

f(x)=(x-3)(x-1)^2
40
20
0
-3

-2

-1

-20
-40
-60

Figura 2.21: Multiplicidad Impar

Cuadro del mtodo de races mltiples

Figura 2.22: Races Mltiples

Ejercicio extra
Ponemos los siguientes botones para realizar una grfica varias funciones.

Figura 2.23: Grafica Varias Funciones

45

Mtodos Numricos
Ing. William Caiza

Entonces utilizamos los siguientes cdigos para la ejecucin del programa


function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
funcion=get(handles.edit1,'String');
f=inline(funcion);
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;
plot([-7 7],[0 0],'r-');
plot([0 0],[min(y) max(y)],'r');
title(get(handles.edit1,'String'));
xlabel('x');
ylabel('y');
x1=str2double(get(handles.edit2,'String'));
y1=str2double(get(handles.edit3,'String'));
text(x1,y1,'x');

1. Declaramos funcin la cogemos y enviamos, agregando texto al edit 1.


2. Creamos una funcin f con inline que nos convierte en un carcter la
funcin simblica, y este carcter lo vamos a convertir a una funcin que se
pueda evaluar con inline.
3. Editamos el rango del grfico y damos las filas y columnas.
4. Con plot dibujamos un grfico en (x, y); con hold on y grid on lo
graficamos con rejilla y mantenemos encendido.
5. Con title agregamos un ttulo al grfico actual.
6. Con xlabel/ylabel Agrega una identificacin al eje horizontal/vertical del
grfico actual,
7. Finalmente con cogemos nuestros x1 y y1, y le enviamos al edit2 y 3
respectivamente.

46

Mtodos Numricos
Ing. William Caiza

Ejecutando el programa tenemos:

Figura 2.25: Grafica Ejercicio Extra

Ejercicios resueltos y propuestos


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
4
3
2
1
0

-3

-2

-1

-1

-2

47

Mtodos Numricos
Ing. William Caiza

Ejercicios propuestos
1. Determine las races reales de f(x) = 2 + 7x 5x 2 + 16x 3
a) Grficamente.
b) Usando el mtodo de la biseccin para localizar la raz ms pequea.
Empleando los valores iniciales de xl = 0 y xu = 1 hasta que el error
estumado a se encuentre debajo de s =10%
Solucin:
xr=0,34375
2. Determine las races reales de la siguiente funcin:
f(x) = 26 + 82,3x 88x 2 + 45,4x 3 9x 4 + 0,65x 5
a) Grficamente.
b) Usando el mtodo de la biseccin para localizar la raz ms grande con
s = 10%, empleando los valores iniciales de xl = 0,5 y xu = 1
Solucin:
xr=0,59375

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)
Que tiene un error relativo verdadero de 0.89 por ciento.
Segunda iteracin:
f(xl) f(xr) = 1.5426

48

Mtodos Numricos
Ing. William Caiza

Por lo tanto, la raz se encuentra en el primer subintervalo y xr se vuelve ahora el


lmite superior para la siguiente iteracin, xu = 14.9113
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
-1,5
-2
-2,5

Ejercicios propuestos
1. Determine la raz real de:
(0.8 0.3x)
x
Empleando tres iteraciones en el mtodo de la falsa posicin, con valores
iniciales de xa = 1 a xu = 3. Calcule el error aproximado a y el error
verdadero t en cada iteracin.
Solucin:
xr = 2,378601
a = 4,3
t = 5,7
f(x) =

49

Mtodos Numricos
Ing. William Caiza

2. Calcule la raz cuadrada positiva de f(x) = x 2 15 usando el mtodo de la


falsa posicin con s = 0.5%. Emplee como valores inciales xl = 4 y xu =
5.
Solucin:
xr = 3,872979

Mtodo de la Falsa Posicin.- 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 el siguiente paso. Suele conseguirse una
aproximacin mejor usando el punto (c,0) en elque
la recta secante L pasa por los puntos (a,f(a)) y
(b,f(b)) y el eje x.

(c,0)

secante

Para hallar el punto c, igualamos dos frmulas para


la pendiente m de la recta secante L.

b) (, 0) (, ())

a) (, ()) (, ())
=

() ()

(1)

0 ()

(1)=(2)
() () ()
=
( )(() ()) = ()( )

()( )
()( )
+ =
() ()
() ()
Por lo tanto generalizando tenemos:
=

( )( )
( ) ( )

= 1,2,3, .

Las 3 posibilidades son las mismas que en el caso anterior:


d) Si f(a) y f(c) tienen distintos signos, entonces hay un 0 en [a,c].
e) Si f(c) y f(b) tienen distinto signo, entonces hay un 0 en [c,b].
f) Si f(c)=0, entonces c es un 0(f).

50

(2)

Mtodos Numricos
Ing. William Caiza

Convergencia del Mtodo de Falsa Posicin


De la deduccin anterior, tenemos que la aproximacin , es una sucesin de la
forma { }
=0 la cual puede converger.
Sin embargo, aunque la anchura del intervalo se hace ms pequeo, es
posible que no tiende a 0; si la curva = () es convexa cerca de (r,0), entonces
uno de los extremos o permanecen estacionarios y el otro tiende a la solucin.
El criterio de parada usada en el mtodo de la biseccin no es til por lo tanto se
utilizar aproximaciones sucesivas de | 1 |.

Ejemplo Excel:

Tabla de valores para la funcin entre


[0.1; 0.7] en pasos de 0.2

Grfica de
la funcin

Si f(c) y f(b) tienen distinto signo, entonces hay un 0 en [c,b]; por


lo tanto c=a y b=b.

51

Mtodos Numricos
Ing. William Caiza

Cuadro del
Mtodo de la
Falsa Posicin

Interacin de Punto Fijo.- Un punto fijo de una funcin g es un nmero p para el


cual se cumple:
() =

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:
() = (),
Verifiquemos que f(x) tiene un cero en p
Si x=p es punto fijo g(p)=p
() = () = =

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
|| =
4
10 3

10
2 + 4

(2)

= ()

(1)

3 = 10 4 2
3
3
3 = 10 4 2
3

= ()

= 10 4 2 (3)
= ()

VERIFICACIN DE LA ECUACIN (1):


() = 0
() = ()
2 10 3
=0
2
10 3
() =
2 10 3 = 0
4

(2)2 = (10 3 )

10 3
() =
2
2 10 3
() =
2

4 2 = 10 3

3 + 4 2 10 = 0
Algoritmo de interacin del mtodo de punto fijo:

+ = ( )

= , , ,

Donde se tendr que inicializar el algoritmo con 0 .


El error a calcular ser de la forma:
= | |

Ejemplo Excel:

53

Mtodos Numricos
Ing. William Caiza
() = +
Despejando x se obtienen 3 ecuaciones:
= +

= +
+
=

()
()
()

Tabla de valores para


varias f(x)=g(x).
A continuacin se
explicar que funcin
utilizar.

Grfico de la funcin original para


valores
[-3,3] en pasos de 0.3

Grfico para los valores de la


ecuacin (1), pero no se toma estos
valores porque no se intersectan las
rectas
54

Mtodos Numricos
Ing. William Caiza

Grfico para la ecuacin (2),


pero aunque las rectas se
intersecten, no convergen por
lo que no se utiliza esta
funcin. Esto se demuestra
en el cuadro siguiente.

Grfico de la ecuacin (3) en


la cual las rectas se
intersectan y las funciones
convergen.

Cuadro del Mtodo


de Punto Fijo

55

Mtodos Numricos
Ing. William Caiza

Implementacin del Cdigo en Matlab

Script (Cdigo de Programacin)

Ejecucin del Programa

56

Mtodos Numricos
Ing. William Caiza

Mtodo de Newton-Raphson.- Si f(x),


f(x) y f(x) son continuas cercas de una
raz p, esta informacin sobre la
naturaleza de f(x) puede usarse para
desarrollar algoritmos que produzcan
sucesiones { } que converjan a p ms
rpidamente.
Sea y=f(x) los puntos (1 ,0) y (2 , (2 ))
entonces la pendiente es igual:

0 ( )
(1) ;
1 0

= (0 ) (2)

Igualando tenemos que:


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.
(0 ) =

FORMULA DEL METODO DE NEWTON RAPSHON MODIFICADO ES:


( )
Xi+1 = Xi ( )

TEOREMA: Supongamos que la funcin


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

57

(1 )
; = 1,2,
(1 )

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 = ( )

+1

(22 ) 0.7
= 2
+1 = 1.3137
2
2

( )

+1 = ( )

+1 = 1.3137
= | |

(1.31372 ) 0.7
+1 = 1.415
2
1.3137

= |1.415 1.3137| 0.101

( )

+1 = ( )

58

Mtodos Numricos
Ing. William Caiza

+1 = 1.415
= | |

(1.4152 ) 0.7
+1 = 1.419
2
1.415

= |1.419 1.415| 0.004

( )

+1 = ( )

+1 = 1.419
= | |

(1.4192 ) 0.7
+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.
5

-3

-1

-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
SISTEMAS DE ECUACIONES LINEALES

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.

Definicin (Matriz escalonada)


Sea A una matriz nm. A es escalonada si es nula o si satisface las tres condiciones
siguientes:

i. El primer elemento no nulo de cada fila, si existe, es un 1.


ii. El primer 1 de la segunda fila y sucesivas est a la derecha del primer 1 de la fila
anterior.
iii. Bajo del elemento 1 hay ceros.
iv. Si tiene filas nulas compuestas slo de ceros estas aparecen en la parte inferior de
la matriz, abajo de las filas no nulas.
Definicin (Matriz escalonada reducida)
Una matriz A, n m, es escalonada reducida si es escalonada y adems todo elemento en
una columna, arriba del primer uno de cualquier fila, es cero.

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.

Definicin (Sistemas equivalentes)


Dos sistemas de ecuaciones lineales con m incgnitas son equivalentes si tienen el mismo
conjunto solucin.

62

Mtodos Numricos
Ing. William Caiza

De esta definicin se tiene que si un sistema de ecuaciones lineales es el resultado de


aplicarle operaciones elementales a otro, ambos sistemas son equivalentes.

El mtodo de reduccin gaussiana permite resolver sistemas de ecuaciones lineales,


explotando la idea de equivalencia. Es decir, transformando el sistema mediante
operaciones elementales, hasta obtener uno cuya forma permite resolverlo mediante
sustitucin hacia atrs.
Matrices equivalentes y rango
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.

Todo sistema de ecuaciones lineales se puede notar AX = b, b es el vector de constantes


en las ecuaciones a la derecha y X es el vector de incgnitas del sistema, esta forma de
escritura Ax = b se conocer como escritura matricial del sistema. Y en ella cada ecuacin i
del sistema se representa como: el producto del vector fila i de la matriz A multiplicado por
el vector columna x igual a la componente i del vector b.

Definicin (Matrices equivalentes)


Sean A, B matrices nm, se dice que la matriz A es equivalente por filas a B (o
simplemente equivalente), si B se obtiene de A por aplicacin de operaciones elementales
de rengln. Se escribe A -> B.

Aunque la idea de equivalencia en matrices es la misma que en sistemas, presenta una


pequea diferencia. Dos sistemas de ecuaciones lineales en m variables pueden ser
equivalentes, an cuando tengan distinta cantidad de ecuaciones. Sin embargo, dos
matrices aumentadas no son equivalentes si tienen un nmero de filas (ecuaciones)
distinto, an cuando representen sistemas equivalentes.

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.

As para determinar el rango de una matriz A es necesario calcular su forma escalonada


reducida, sin embargo, observe que cualquier matriz escalonada equivalente a A tiene el
mismo nmero de filas no nulas que la escalonada reducida. Esto porque la escalonada
reducida se obtiene de la escalonada aplicando ms operaciones, las cuales no modifican
el nmero de filas no nulas.
Caracterizacin de los sistemas, por su solucin
1.- Sistemas que no tienen solucin
El problema de decidir si un sistema de ecuaciones lineales tiene solucin o no, es el
problema de reconocer si tiene ecuaciones inconsistentes o no. Y esto se reconoce
fcilmente cuando el sistema tiene la forma escalonada y se observa al menos una
ecuacin de la forma:
0x1 + 0x2 + + 0xn = 1
Tambin resulta fcil de reconocer que hay ecuaciones inconsistentes, en un sistema en su
forma inicial, cuando dos de ellas tienen iguales coeficientes asociados a las mismas
variables y la constante a la derecha es distinta.

Adems Un sistema de ecuaciones puede contener ecuaciones superfluas o redundantes,


en el sentido de que las restricciones que establecen ya estn contempladas en las otras
ecuaciones.
Y en general podemos reconocer que:
Rng (A) < Rng (A|b) <-> Ax = b tiene ecuaciones inconsistentes.

64

Mtodos Numricos
Ing. William Caiza

2.- Sistemas con solucin


Un sistema Ax = b con solucin se dice que es consistente y, naturalmente, es un sistema
que no tiene ecuaciones inconsistentes.
La ausencia de ecuaciones inconsistentes se refleja en que:
la forma escalonada de la matriz del sistema A y la forma escalonada de la matriz
aumentada (A|b) tienen el mismo nmero de filas no nulas.

Y esto es equivalente a establecer que:


Rng (A) = Rng (A|b)
Sistemas con solucin nica
Un sistema n m, Ax = b, tiene solucin nica, si adems de la condicin anterior, el
sistema en la forma escalonada tiene tantas ecuaciones no superfluas, como variables. O
lo que es lo mismo:
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 con infinito nmero de soluciones
Finalmente, un sistema nm, Ax = b, tiene un nmero infinito de soluciones si adems de
tener solucin, el nmero de filas no nulas de la forma escalonada de la matriz del sistema
es menor que m, el nmero de variables (o columnas de la matriz del sistema). Lo que es
equivalente a establecer que:
Rng (A) = Rng (A|b) < m.
Esto significa que hay columnas, en la forma escalonada de la matriz del sistema, que no
contienen algn primer uno. El nmero de estas columnas corresponde al nmero de
parmetros con que se describe el conjunto solucin del sistema y es igual a m Rng (A).
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.

Adems se reconoce fcilmente que x1 = x2 = . . . xm = 0, es una solucin, por lo tanto los


sistema homogneos siempre tienen solucin.
Teorema: Todo sistema homogneo Ax = 0, nm, es consistente:
a) x = 0m, el vector columna de m ceros, es una solucin del sistema.
b) Si Rng (A) = m entonces el sistema tiene como nica solucin al vector nulo: x = 0m.
c) Si Rng (A) < m entonces el sistema tiene infinitas soluciones que dependen de m Rng
(A) parmetros.

Interpretacin del rango de una matriz


Consideremos una matriz A cualquiera n m, y el sistema homogneo Ax = 0.
Observemos que:
1. Cada ecuacin que produzca un primer uno, en la forma escalonada de la matriz del
sistema, es una ecuacin que aporta informacin para resolver el sistema Ax = 0,
que no est contemplada en las otras ecuaciones.
2. En tanto que una ecuacin que termine como una fila de ceros en la escalonada
reducida equivalente a A, es una ecuacin que puede omitirse del sistema Ax = 0 sin
que se pierda nada, es una ecuacin redundante o superflua.
3. Por otra parte Rng (A) es el nmero de filas no nulas de la escalonada reducida
equivalente a A, o sea, el nmero de primeros 1 de cualquier matriz escalonada
equivalente A.

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

El mximo nmero de ecuaciones del sistema Ax = 0 que no incluyen ecuaciones


redundantes.
Y el mnimo nmero de ecuaciones que se deben preservar en el sistema Ax = 0 para
obtener un sistema equivalente.
Teorema
Si A es una matriz n n, las siguientes proposiciones son equivalentes.
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.

Operaciones Elementales de Fila


1) ; .
2)
3) 1 2

Clculo de la matriz inversa


Algoritmo
[

] [

] [+1

+1 ] [

[()]
, ||
||

Ejemplo:
Calcular la matriz inversa:
1 1 3
=[ 2
1 4] || = (1 + 12 + 4) (3 + 8 2) || = 17 3 = 14
1 2 1

67

|| 0

Mtodos Numricos
Ing. William Caiza

1 1 3 1 0
[2
1 4| 0 1
1 2 1 0 0

0
1 1 3 1 0 0
1
0] 2 2 21 [0 3 2| 2 1 0] 2 2
3
1 3 3 21
0 1
4 1 0 1

[0

1 0

0 1
0 0
[

3 1
2 2
|
3 3
4 1

0
1
3
0

1 0

0 +
1
1
2
0 1
0]
3 3 2
1
[0 0

1
7 1
3
3 3
2| 2 1

3| 3 3
14 5
1

3 3
3

1
1
7
7
0
2
3
1 1 3
1 0
3
3
2
1
2 0 1
2||
0
2 2 + 3
3
3

0 0
3
3 5
1
3
1

[
14
14 14]

1
1
1

2
2
2
1 1 3
1
3
2
1
=[ 2
[0
1 4]
7
7
7
1 2 1
0
5
1
3
[ 14 14 14 ]

RANGO DE UNA MATRIZ


x 9y + 5z = 33
x + 3y z = -9
xy+z=5
1 9 5
1 9 5
1 9 5
2 ) 2/2 (0 2 1)
3 1) 2 3 (0 4
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
(1

68

0
1]

3
3 3 ( )
14

1
1
1

2
2
2
0 3
2
1
0|
7
7
1 7
5
1
3

14
14 14 ]

Verificacin:

0 0
1 0]
0 1

Mtodos Numricos
Ing. William Caiza

1 9 5 33
1 9 5 33
3 1 |9) 2 1 (1 12 6 |42) 2/6
1 1 1 5
1 1 1 5

(1

1 9 5 33
1 9 5 33
(0 2 1 |7)
2 1 |7)
1 1 1 5 3 + 2 1 1
0 2 3 1

(0

1 9 5 33
1 9 5 33
(0 2 1 |7)
2 1 | 7 )
1 10 5 35 3/5 0 2 1 7 3 2

(0

1 9 5 33
2 1 |7) () = 2 < , ,
0 0
0 0

(0

=>
2 1 = 7
X 9y 5 z = 33

x = 33 + 9y 5z
7+
= 33 + 9 ( 2 ) 5

Donde

= 33 +

2y = 7 + z

= 33 +

63
2
63
2

+ 2 5
1

Sea z = t
129

= 2 2
{ = 7+ , :
2
=

Implementacin del Cdigo en Matlab


Script (Cdigo del Programa)

69

Mtodos Numricos
Ing. William Caiza

Ejecucin del Programa

Todo sistema de ecuaciones se puede escribir de la forma:

=
Ejemplo:

70

Mtodos Numricos
Ing. William Caiza
3 2
= [1 1
1 3

1
1
]
;

=
[
1
2]
1
1

=
3 2
[1 1
1 3

31 + 22 + 3
1 1
1
1
1] [2 ] = [ 2 ] [ 1 + 2 3 ] = [ 2 ]
1 + 32 + 3
1 3
1
1
31 + 22 + 3 = 1
{ 1 + 2 3 = 2
1 + 32 + 3 = 1

DEFINICIN: Se dice que una matriz = [ ] triangular superior cuando sus elementos
verifican = 0, para >
Se dice que una matriz = [ ] , es triangular inferior cuando sus elementos verifican
= 0, para < .
Ejemplo:

11
= [21
31

12
22
32

13
23 ]
33

<

=
>

MATRIZ TRIANGULAR SUPERIOR

1
= [0
0

2
2
0

1
1]
1

[ ] = 0 >
MATRIZ TRIANGULAR INFERIOR

71

Mtodos Numricos
Ing. William Caiza

1
= [2
3

0
1
2

0
0]
4

[ ] = 0 <

Si A es una matriz triangular superior entonces se dice que el sistema = es un sistema


triangular superior de ecuaciones lineales:

(1)

11 1 + 12 2 + 13 3 + + 1 = 1
22 2 + 23 3 + + 2 = 2

2,2 2 + 2,1 1 + 2, = 2
1,1 1 + 1, = 1
=

Teorema de Sustitucin Regresiva


Supongamos que tenemos el sistema Ax=b, un sistema triangular superior como en (1). Si
0 ; = 1,2, , ; entonces existe una solucin nica de (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 =
3 =

4
44

(Constante y conocido)

3 34 4
33

2 23 3 24 4 2 (23 3 + 24 4 )
=
22
22
1 12 2 13 3 14 4 1 (12 2 + 13 3 +)
1 =
=
11
22
2 =

Implementacin del Cdigo en Matlab del mtodo de sustitucin regresiva de una


matriz de 4x4

Script (Cdigo del Programa)

Ejecucin del Programa

73

Mtodos Numricos
Ing. William Caiza

Implementacin del Cdigo en Matlab

Script (Cdigo del Programa)

74

Mtodos Numricos
Ing. William Caiza

Ejecucin del Programa

TEOREMA: Un sistema lineal = , siendo tiene solucin nica si y solo si det() 0.


TEOREMA: Si una matriz es triangular superior o inferior, entonces el det() = =1
ELIMINACIN GAUSSIANA Y PIVOTEO

Necesitamos resolver el sistema = con n ecuaciones y n incgnitas. El objetivo es


construir un sistema triangular equivalente = que podamos resolver usando el mtodo
de sustitucin regresiva.

OBSERVACIN: Se dice que 2 sistemas de orden n son equivalentes cuando tienen el


mismo conjunto de soluciones (es decir se realizaron operaciones de fila o columna en la
matriz original)

TEOREMA: OPERACIONES ELEMENTALES CON LAS FILAS Cualquiera de las


operaciones elementales con las filas aplicada a la matriz ampliada produce un sistema
lineal equivalente.
11
[|] = [21
1

12 1 1
22 2 |2 ]
2

75

Mtodos Numricos
Ing. William Caiza

DEFINICIN: PIVOTEO Y MULTIPLICADORES


Resolver el siguiente sistema de ecuaciones mediante pivoteo y multiplicadores:
1 + 22 + 3 + 44 = 13
21 + 02 + 43 + 34 = 28
41 + 22 + 23 + 4 = 20
31 + 2 + 33 + 24 = 6
Dado el siguiente multiplicador (columna)

= , = , , ,

Multiplicador

Pivote
1
[2
4
3

= 2 21 =

= 3 31 =

Multiplicador
2
0
2
1

1
4
2
3

21
2
= = 2 ; 2 2 21 1
11
1
1
2
1
0
4
2
[
4
2
2
3 1
3

4 13
3| 28]
1 20
2 6

4 13
5| 2 ]
1 20
2 6

31
4
= = 4 ; 3 3 31 1
11
1
1
[0
0
3

= 4 41 =

2
1
4
2
6 2
1
3

13
4
5 | 2 ]
15 32
6
2

41
3
=
= 3 ; 4 4 41 1
11
1

76

Fila Pivote

Mtodos Numricos
Ing. William Caiza

1
[0
0
0

2
13
1 4
4
2 5 | 2 ]
6 2 15 32
45
7
6 14

Segunda columna
=
= 3 32 =
1
0
[
0
0

32
6 3
=
= ; 3 3 32 2
22
4 2

42
7
7
=
= ; 4 4 42 2
22
4
4

2
1 4
13
4
2 5
2
|
]
0 5 152 35
0 192 214 972

Tercera columna
=

= 4 43
1
0
[
0
0

2
1 4
13
4
2 5 | 2 ]
0 5 152 35
45
7
6 14

= 4 42 =
1
0
[
0
0

, = , ,

, = ,

19
43
19
=
= 2 =
; 4 43 3
33
5
10 4

2
1 4
13
4
2 5 | 2 ]
0 5 152 35
18
0
0 9

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

Resolver el siguiente sistema de ecuaciones mediante pivoteo y multiplicadores:

, = ,

3 2 + = 2
+ = 1
+ 2 + 3 = 1
,

Calculemos el rango
3 2 1
[1
1 1]
1 2
3
Primera columna
= 2 21 =

21
1 1
= = ; 2 2 21 1
11
3 3

2
1
5
4
[0
]
3
3
1 2
3
= 3 31 =
3 2
1
5
4
0

3
3
4
10
[0 3
3 ]

31
1
1
=
= ; 3 3 31 1
11
3
3

Segunda columna
=
= 3 32 =

, =

32
6 3
=
= ; 3 3 32 2
22
4 2

3 2
1
5
4
0

3
3
22
[0 0
5 ]
Calculemos el rango de la matriz ampliada

78

Mtodos Numricos
Ing. William Caiza
3 2 1 2
[1
1 1| 1]
1 2
3 1
=

, = ,

Primera columna
= 2 21 =
3
2
[ 0 5/3
1
2

21
1 1
= = ; 2 2 21 1
11
3 3

2
1
4/3| 5/3]
5/3
3

= 3 31 =

31
1
1
=
= ; 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
DEFINICIN: es un algoritmo del lgebra lineal para determinar las soluciones de un
sistema de ecuaciones lineales, encontrar matrices e inversas. Un sistema de ecuaciones
se resuelve por el mtodo de Gauss cuando se obtienen sus soluciones mediante la
reduccin del sistema dado a otro equivalente en el que cada ecuacin tiene una incgnita

79

Mtodos Numricos
Ing. William Caiza

menos que la anterior. El mtodo de Gauss transforma la matriz de coeficientes en una


matriz triangular superior. El mtodo de Gauss-Jordan contina el proceso de
transformacin hasta obtener una matriz diagonal.
ALGORITMO:
1. Ir a la columna no cero extrema izquierda
2. Si el primer rengln tiene un cero en esta columna, intercambiarlo con otro que no lo
tenga
3. Luego, obtener ceros debajo de este elemento delantero, sumando mltiplos
adecuados del rengln superior a los renglones debajo de l
4. Cubrir el rengln superior y repetir el proceso anterior con la submatriz restante.
Repetir con el resto de los renglones (en este punto la matriz se encuentra en la
forma de escaln)
5. Comenzando con el ltimo rengln no cero, avanzar hacia arriba: para cada rengln
obtener un 1 delantero e introducir ceros arriba de ste sumando mltiplos
correspondientes a los renglones correspondientes
Una variante interesante de la eliminacin de Gauss es la que llamamos eliminacin de
Gauss-Jordan, esta consiste en ir obteniendo los 1 delanteros durante los pasos uno al
cuatro as para cuando estos finalicen ya se obtendr la matriz en forma escalonada
reducida
EJERCICIOS:
1. Resolver el siguiente sistema mediante Gauss-Jordan
+ + =
=
=
3
3
1 1
2
2 3
1 1 1

3
13
1
2
1
2
2| 2] 2
[3 2 4| 3]
[
0

2 3 2 4 3 3 3 51
2
5 1 1 4
17
5 1 1 4
[0 2
1

80

1
1
2
2
2
11| 9

2 2 ( )
13
2| 2
7 3

2 2 ]

Mtodos Numricos
Ing. William Caiza

1
0
[0
1
2

3
2

1
1
2
2
11| 9
1

13| 13
17
7
3

2
2
2 ]
10
1 + 3 1 0
13
[0 1
11
2 3 0 0
13

3
1 1 2
2
0
17
3 3 + 2
2
[0
0 1
0| 1]
1 2

10
7

13 13
1 0
13
11| 9
3 3 ( )
1

48 0 1
13| 13
48 96
[0 0
0
13 13 ]
0

10
7

13 13
11|| 9

13 13
1
2 ]

=
=
=

2. Resolver el siguiente sistema mediante Gauss-Jordan


+ =
+ =
2
5
1
3
3
[
| 3 ]
16
4
2
3
3
3
2
5
5
3
1
1 0
3 1 3
2
3
8 | 2 ]
2 2 ( ) [
|
] 1 1 + 2 [
9
1
1
9
16
3
0 1

0 1
16 4
16 4
1
1 1 2 1 5
2 3 5
| ] [
| 3] 2 2 21 [
3
4 1 2 1
3
2 4 1 2
0

5
3
3 5
+ = =
8
2
2 8
9
1
9
1
= =

16
4
16
4
=

3. Obtener para que el sistema de ecuaciones tenga:


a) Solucin nica
b) Infinitas soluciones
c) No tenga solucin
+ =
+ =

81

Mtodos Numricos
Ing. William Caiza
1
1
3
1

2 1 1
1 1
2 1 6
3
3
2
[
| ]
[
| ]
[
2| 4] 2 2 1 [
2| 2 ] 1
1 1 2
1
1 4 1
2
2 0 1 2 1
1
0
2
2
3

1
1
1 0
2( 1)
1 2
|
2 1 0
0 1
2
2
2
[
2 1 ]
1

2
1

4. Obtener para que el sistema de ecuaciones tenga:


d) Solucin nica
e) Infinitas soluciones
f) No tenga solucin
+ =
+ =

1
1
1
2 1
2 | 2 ] ( 2 )
[
| ] 1 [1 2| 2] 2 2 1 [
2
4 2 2 2
2 1
2
4 2
2 1
0
2
2
1
1

1 0 2+
[1 2| 2 ] 1 1 2 [
|
]
1
0 1 1
2
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

Algoritmo del mtodo de Gauss-Jordan

82

Mtodos Numricos
Ing. William Caiza

function pushbutton1_Callback(hObject, eventdata, handles)


% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
mensaje=str2double(inputdlg('Usted va ingresar en la ultima columna los valores de la mtriz B, si esta de
acuerdo ingrese 1 caso contrario 0'));
if mensaje==1
n=str2double(inputdlg('Ingrese el orden n de la matriz A'));
%Ingresamos la matriz ampliada con los coeficientes en la ultima columna
for i=1:n
for j=1:n+1
etiqueta=['ingrese la matriz A(' num2str(i) ',' num2str(j) '):'];
A(i,j)=str2double(inputdlg(etiqueta));
end
end
%creamos una nueva variable igualada a la matriz ampliada para trabajarla
AM=A;
%Resolvemos la matriz ampliada mediante eliminacion gaussiana y pivoteo
%para la triangular inferior
for k=1:n
AM(k,k:n+1)=AM(k,k:n+1)/AM(k,k); %dejando a AM(1,1)=1
for i=k+1:n
pivote=AM(i,k)/AM(k,k); %calculo del pivote
AM(i,k:n+1)=AM(i,k:n+1)-pivote*AM(k,k:n+1);%aplicando pivote a las filas
end
end
%para la trinagular superior
for k=1:n
for i=k+1:n
pivote=AM(k,i)/AM(i,i);
AM(k,i:n+1)=AM(k,i:n+1)-pivote*AM(i,i:n+1);
end
end
%separamos las saoluciones tomando la ultima comulna de AM
for i=1:n
X(i)=AM(i,n+1);
end
%enviamos a imprimir
set(handles.uitable1,'Data',AM);
set(handles.uitable2,'Data',A);
set(handles.uitable3,'Data',X);
end

83

Mtodos Numricos
Ing. William Caiza

Figura 3.4:Resultado Del Programa

DESCOMPOSICIN L.U- FACTORIZACIN TRIANGULAR


11
=[ 0
0

12
22
0

13
23 ]
33

11
= [21
31

0
22
32

0
0 ]
33

=
=
=
=
=

= [ ] (2)
= [ ] (1)

=
=
=
() ()
=
[ ]
Algoritmo cdigo mtodo LU

function pushbutton1_Callback(hObject, eventdata, handles)


% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
mensaje=str2double(inputdlg('Usted va ingresar en la ultima columna los valores de la mtriz B, si esta de
acuerdo ingrese 1 caso contrario 0'));
if mensaje==1;
n=str2double(inputdlg('Ingrese el orden n de la matriz A'));
for i=1:n
for j=1:n+1
etiqueta=['ingrese la matriz A(' num2str(i) ',' num2str(j) '):'];
A(i,j)=str2double(inputdlg(etiqueta));

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

] = [21
31

11
0
0 ][ 0
33
0

0
22
32

12
22
0

13
23 ]
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
1

1
2
1
1

[ 2
2

0
0
1]

8 6 2
[0 8 6]
0 0
2

=
=
= ()
= ()
Resolviendo (1)
1
1

2
1
[ 2

28
0|
| 40
1
6

1
]
2

Resolviendo (2)

87

2 1 + 2 = 40 14 + 2 = 40
=
1
1
2 + 3 = 33 14 + 13 + 3 = 33
2 1
2
=

Mtodos Numricos
Ing. William Caiza

8
[0
0

23 = 6 =
82 63 = 26 82 6(3) = 26
=
81 62 + 23 = 28 81 = 6(1)
2(3) + 28 =

6 2 28
8 6| 40]
0
2
6

] [ ] = []

+ = () () + () = =
Ejercicios Propuestos
Mtodo de la Matriz inversa
Calcule las siguientes matrices por el mtodo de la matriz inversa.
1) Calcular por el mtodo de Gauss la matriz inversa de:

2) Calcular por el mtodo de Gauss la matriz inversa de:

3) Hallar por determinantes la matriz inversa de:

4) Para qu valores de x la matriz no admite matriz inversa?

5) Para qu valores de x la matriz

no admite matriz inversa?

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)

Pgina web: http://www.vitutor.com/algebra/sistemas%20I/g_e.html

89

Mtodos Numricos
Ing. William Caiza

Eliminacin de Gauss Jordan

(1)

(2)

(3)

(4)

(5)

Pgina web: http://matesfacil.com/matrices/resueltos-matrices-SEL-GAUSS.html

90

Mtodos Numricos
Ing. William Caiza

CAPITULO 4: AJUSTE DE CURVAS


4.1 Ajuste de Curvas
Introduccin.
El ajuste de curvas consiste en encontrar una curva que contenga una serie de puntos y
que posiblemente cumpla una serie de restricciones adicionales (cuando se permite una
aproximacin de la curva que describa al conjunto de datos por analizar).

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) El modelo de ajuste es aquel que:


=1

2
=1

92

Mtodos Numricos
Ing. William Caiza

3) El modelo de ajuste indica

= 0 + 1

1
2
.

1
2
.

Entonces,
= 0 + 1

0
1

(0 ) = 0
(1 ) = 1

EL METODO DE LOS MINIMOS CUADRADOS


=

1) , 0 , 1
=

Sea:
= +
=> =
= (0 + 1 )2

2
=1

= ( 0 + 1 )2
=1

0 +
1 ) + (
0 +
1 )2 ]
= [2 2 (
2

0 2
1 +
0 2 + 2
0
1 +
1 ]
= [2 2

=

Monotona.-intervalos donde la funcin es creciente y decreciente ( > 0 ; < 0 )


Segunda derivada es para sacar los puntos de inflexin.
Mximos.- cuando la segunda derivada evaluada en el punto es negativo

93

Mtodos Numricos
Ing. William Caiza

Mnimos.- cuando la segunda derivada evaluada en el punto es positiva

Ejemplo 2: Realice el siguiente ajuste de curvas


El gerente de una tienda de televisores observa las siguientes ventas en 10 das diferentes,
donde:

a) Y=Nmero de televisores vendidos.


b) X= Representantes de ventas
Y
X

3
1

6
1

10
1

5
2

10
2

12
2

5
3

10
3

10
3

8
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.

Televisores vendidos= f(vendedores)


Asumiendo que una posible ecuacin resultante sea la siguiente, demos la respectiva
interpretacin
= ()
= . + .
Se interpreta que por cada vendedor que se aumente, las ventas aumentaran en 1.5
unidades.
= . +
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
= 3 = 8.9

8.9 7.9 = 1

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.
=
El indica cuan bueno es el modelo lineal.
2 = 0.076 2 = 7.6%
Indica el porcentaje de la variabilidad que est justificado en el modelo lineal.

95

Mtodos Numricos
Ing. William Caiza

Interpretacin 2
Como solo el 7.6% de la variabilidad est justificado, no se considera buen modelo. Un
buen modelo es el que est entre el 70%.
Clculos en Excel

Suma
Promedio

y
3
6
10
5
10
12
5
10
10
8
79
7,9

xy
3
6
10
10
20
24
15
30
30
16
164

x^2
1
1
1
4
4
4
9
9
9
4
46

Vendedores Vs televisores
14

y = x + 5,9
R = 0,076

12

Televisores

x
1
1
1
2
2
2
3
3
3
2
20
2

10
8
6
4

2
0
0

Vendedores

B1=
B0=

1
5,9

NOTA: El valor de 1 es el acompaante de y el valor de 0 es la constante.

96

Mtodos Numricos
Ing. William Caiza

4.2 Supuestos o Hiptesis del Modelo de Regresin Lineal


( ) = , donde = ; donde = +

Figura 4.1 Representacin Grfica

La esperanza matemtica de los errores se esperara que sea 0


( ) = ( ( )) = ;
La varianza de los errores es constante.
( , ) = ( ( )) ( ( )) =
Por lo tanto:
() =

1
( x)2
1

4.2.1 Propiedades

Si SCxx = suma de los cuadrados de los xx

SCxx = (xi x)2 , demuestre que SCxx = xi 2 nx 2

(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
=

Si SCyy =suma de los cuadrados de los yy, demuestre que es igual:


(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)
= xi yi xyi yxi + xy
= xi yi nyx nyx + nxy
=
TEOREMA: Bajo los supuestos anteriores, demuestre:
=

Ejemplo 2
= 0
2
(
)
=0

Modelo: Min(SCE)
Sujeto a:

= 0

= 0
1

98

+

=

Mtodos Numricos
Ing. William Caiza

0 +
1 ))2
= (
)
= ( (

=1

=1

0 +
1 ) + (
0 +
1 )2 ]
= [2 2 (

0 2
1 +
0 2 + 2
0
1 +
1 ]
= [2 2

0 2
1 +
0 2 + 2
0
1 +
1 ]
= 2 2

Primera restriccin del modelo

( 2 + 2 2 + + 2 )
=
1

12
2
+
++
=0

=
+ 2
+ +
)

(

= 1 + 2 + +
=

=
2 +
2 + +
2 )

2 + + 2

= 21 + 2


=
+
2 + +
)

1 +
2 + +

=
= (1 + + )
=
:
+2
1 = 0
2 +2n
+
1 = 0 (1)
- +
0 +2
1 2 =0
2 + 2
0 +
1 2 =0 (2)
+

= 0

99

Mtodos Numricos
Ing. William Caiza

Ecuaciones Normales {

+
1 = 0
+
0 +
1 2 = 0
+

Ejercicio.Dados los siguientes datos, encuentre la ecuacin de regresin lineal ajuste


Encontrar 0 1
x
1
3
5
6

y
1
3,5
6
7

sumatoria

(1+3+5+6) 15

=4

(1+3.5+6+7) 17.5

( )( )

( )^2

1
3,5
6
7

-2,75
-0,75
1.25
1.8

-3,375
-0,875
1.44
2.625

297/32
21/32
65/32
189/32

17,5

143/8

121/16
9/16
25/16
81/16
59/4

1
3
5
6
15

143
1 = 8 = 1.212
59
4
0 =

175
15
1.212
= 0.17
4
4

= 0.17 + 1.212
Ejercicio 2

100

Mtodos Numricos
Ing. William Caiza

En un estudio para describir la relacin entre la expansin al ruido y la hipertensin se


realizan las siguientes mediciones.
x

Prmedio

60

65

70
80
80
85
90
90
94
100
81,4

5
4
2
5
6
4
7
7
4,2

x-x
21,4
16,4
11,4
-1,4
-1,4
3,6
8,6
8,6
12,6
18,6

y-

(x-x)(y)

(x-x)^2

(yi-i)^2

(i-yi)^2

-3,2

68,48

457,96

1,1

0,01

10,24

9,61

-3,2

52,48

268,96

1,815

0,664225

10,24

5,688225

0,8
-0,2
-2,2
0,8
1,8
-0,2
2,8
2,8

-9,12
0,28
3,08
2,88
15,48
-1,72
35,28
52,08
219,2

129,96
1,96
1,96
12,96
73,96
73,96
158,76
345,96
1526,4

2,53
3,96
3,96
4,675
5,39
5,39
5,962
6,82

6,1009
0,0016
3,8416
0,105625
0,3721
1,9321
1,077444
0,0324
14,137994

= 81.4

2
(1 )
1 =14.134

= 4.2

2
(1 )
1 =31.229

1 =

(yi-)^2

0,64
2,7889
0,04
0,0576
4,84
0,0576
0,64 0,225625
3,24
1,4161
0,04
1,4161
7,84 3,104644
7,84
6,8644
45,6 31,229194

219.2
= 0.143
152.68

a.- Interpretacin

Ttulo del grfico

Hipertensin=f(ruido)

= 7.4402 + 0.143

b.- Si x=65

y = 0,1436x - 7,4895
R = 0,6903

6
5

= 7.4402 + 0.143(65)

= 1.815

Si x=66

2
1

= 7.4402 + 0.143(66)
= 1.958

0
0

20

40

60

80

100

Por cada nivel que aumenta en el ruido, la hipertensin aumenta a 0.143 unidades

101

120

Mtodos Numricos
Ing. William Caiza

4.3 Coeficiente de Correlacin.


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
Adems conocemos la varianza Sx2 y su desviacin estndar Sx

= 2 =
( )2

= ( )( ) = ;
Por lo tanto la desviacin estndar de la variable y es:
1
=

1
Por lo tanto definimos al coeficiente de correlacin lineal mediante la siguiente expresin:

102

Mtodos Numricos
Ing. William Caiza

1
=

( ) .

=
=

( 1)

( 1).

=
.

El coeficiente de determinacin, determina si el modelo de regresin lineal es bueno, ya


que mide la cantidad de variacin del modelo justificado.
Este coeficiente toma valores mayores iguales a 0 y menores iguales a 1, por lo tanto si c
acerca a 1 el modelo lineal es bueno, ya que toda la variacin estara justificada.

Ejemplo 3: Encuentre la ecuacin lineal que ajusta los puntos y su coeficiente


de correlacin
En un estudio para determinar la relacin entre el peso de los automviles y su consumo de
combustible se escogi una muestra de 10 carros, con los siguientes resultados:
Consumo(litro/100km)=y 8
Peso(kg)=x
739

16
1187

6
655

7
729

103

7
888

9
797

11
963

12
802

18
1551

20
1650

Mtodos Numricos
Ing. William Caiza

Figura 4.6: Cuadro De Datos

Figura 4.7: Grafico Del Ejercicio

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.
Algoritmo de Ajuste Curvas
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
n=str2double(inputdlg('Ingrese la cantidad de datos para el Ajuste Lineal'));

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');
%Grafico d ela funcion
syms x;
funcion=beta0+beta1*x;
f=inline(funcion);
x=[-1:0.1:7];
[fx cx]=size(x);
for i=1:cx
y(i)=f(x(i));
end
plot(x,y);

Figura 4.11: Ejecucin Del Programa

4.4 Prueba de Hiptesis

106

Mtodos Numricos
Ing. William Caiza

Con respecto al ajuste lineal la prueba que se va a tratar, es la de verificar si el coeficiente


de Pearson es cero o diferente de cero, en otras palabras lo que queremos averiguar es si
existe relacin lineal entre variables, la prueba de hiptesis consta de 5 pasos:
Hiptesis nula (H0 )
Hiptesis alternativa (H1 )
Estadstico de prueba
Regin de rechazo
Decisin.
Con respecto a la prueba de hiptesis de r, tenemos:

1
2
3

0 : = 0
1 : 0
= 0 =

2
2

0.9419102
1(0.9419)2

= 7,9313

Figura 4.12: Grafica De La Prueba De Hiptesis

107

Mtodos Numricos
Ing. William Caiza

Ejemplo 4: realizar la prueba de hiptesis del siguiente ejercicio

Figura 4.13: Ejercicio Prueba De Hiptesis En Excel

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

( ) = (1 )
+ ( )2

=1

=1

=1

108

Mtodos Numricos
Ing. William Caiza

Figura 4.14: Representacin Grafica

2 =

2 =

4.5 Generalizacin de modelos lineales

4.5.1 Modelo Potencial


=
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
y su valor se encuentra [0,1], tomando en cuenta que si se acerca a 1 ser mejor.
Coeficiente de correlacin(r)
Mide la correlacin lineal existente entre la variable x e y es decir: corr(x,y)
Corr(x,y)=

(,)
(,)(,)

SUPUESTOS O HIPOTESIS DEL MODELO DE REGRESIN LINEAL


; donde =
+
1. ( ) = , donde =
La esperanza matemtica de los errores se esperara que sea 0
2. ( ) = ( ( )) = ;
La varianza de los errores es constante.
3. ( , ) = ( ( )) ( ( )) =
Es decir con deben ser independientes.

110

Mtodos Numricos
Ing. William Caiza

PROPIEDADES
1) Si = suma de los cuadrados de los xx
= ( )2 , demuestre que = 2 2
( 2 2 + 2 ) = 2 2 + 2
= 2 2 + 2
= 2 2 2 + 2

=
2) Si =suma de los cuadrados de los yy

=
)(
) =

3) = (
= ( )( )
= ( + )
= +
= +

=
TEOREMA: Bajo los supuestos anteriores
=

EJERCICIO
Demuestre:

Sabemos:
1 =

1 =

111

Mtodos Numricos
Ing. William Caiza

1 =

= 2 2

1 =

2 2

Programa de Regresin Lineal.

Ejecucin del Programa de Regresin Lineal

112

Mtodos Numricos
Ing. William Caiza

GENERALIZACIN DE MODELOS LINEALES


MODELO POTENCIAL
=
Dado un modelo no lineal mediante transformaciones pasar a modelo lineal
Sea el modelo potencial
=
ln = ln( )
ln = ln + ln
ln = ln + ln
= + 1
= ln
0 = ln
1 =
= ln
EJERCICIOS
= .
= + ln
= + 1
=
=
=
=

=
ln = ln
ln + ln = ln
ln = ln ln
= 0 + 1
=
=
=
=
=

4.6 Regresin Mltiple


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
1
1 11 12
(2 ) = (1 21 22 ) (2 ) + (2 )
3
3
1 31 32
3
1
1
0 1 11 2 12

( 2 ) = (0 1 21 2 22 ) + ( 2 )
3
3
0 1 31 2 32
1
0 + 1 11 + 2 12 + 1
(2 ) = (0 + 1 21 + 2 22 + 2 )
3
0 + 1 31 + 2 32 + 3

Programa Regresin Multilpe


Cdigo:
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

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

4.6.1 Derivacin Matricial

Sea = 51 + 22 + 33
(1 , 2 , 3 ) = 51 + 22 + 33
5

=
(
2)

= ( ) =
1

( ) = (2 )

= 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
2
2
11 1 + 12 2 1 + 13 3 1 + 12 1 2 + 22 2 + 23 3 2 + 13 3 1 + 23 3 2 +33 32

= 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

() = 2
= (12 22 23 ) (2 )

13 23 33 3

4.6.2 Mtodo de los Mnimos Cuadrados para la Forma Matricial


=
= ( ) ( )

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 0 2 + 0 + 20 1 + 1 2 ]
=1

2 =
= 0

0 1
0 1

= [2 20 1 21 + 0 + 20 1 2 + 1 1 2 ]
0

2
(20 1 +
1 +
20 1 2)
0
0
0

2 + 0 + 1 =0

Programacin Mnimos Cuadrados


Cdigo:
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
n=str2double(inputdlg('Ingrese la cantidad de datos'));
for i=1:n
etiqueta=['Ingrese el ',num2str(i),' dato de X:'];
x(i)=str2double(inputdlg(etiqueta));
end
for i=1:n
etiqueta=['Ingrese el ',num2str(i),' dato de Y:'];
y(i)=str2double(inputdlg(etiqueta));
end
xbarra=mean(x);
ybarra=mean(y);

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

5,1

8,8

a).- Hacer el grafico de la funcin


Pgina web: http://portales.puj.edu.co/objetosdeaprendizaje/Online/OA10/capitulo3/3.6.htm
2.- Supongamos un muelle sometido a traccin, se ha cargado el muelle con diferentes
pesos (F, variable independiente o y ) y se han anotado los alargamientos (l variable
dependiente o x)
Cargas
sucesivas
F(yi)
gramos

Lecturas
sucesivas (xi)
L / mm

200
400
500
700
900
1000

60
120
150
210
260
290

Pgina web: http://ocw.unican.es/ensenanzas-tecnicas/fisica-i/practicas1/Ajuste%20por%20minimos%20cuadrados.pdf


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
X
Y

1
9
5

2
12
5

3
6
1

4
9
4

5
7
2

6
9
2

7
5
1

8
9
3

9
7
3

10
3
1

11
10
4

12
6
2

13
11
5

14
4
2

15
13
5

Pgina web: http://www.ugr.es/~jsalinas/apuntes/C5.pdf


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
Y

1986
18

1987
20

1988
22

1989
24

1990
25

1991
26

1992
28

1993
30

1994
32

Pgina web: http://books.google.es/books


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
1172,2
1209,2
1233,1
1256,9
1301,9
1320
1350,4
1357,9
1380,8
1381,8
1402,5
1403
1406,1
1423,7

ventas
593,8
596
598,3
600,8
603,3
607,7
608,5
611,2
592,4
585,6
589
589,4
593,5
597,6

3. La informacin estadstica obtenida de una muestra de tamao 12 sobre la relacin


existente entre la inversin realizada y el rendimiento obtenido en cientos de miles
de euros para la explotacin agrcolas es al siguiente:
Inversin (x)

11

14

16

15

16

121

18

20

21

14

20

19

11

Mtodos Numricos
Ing. William Caiza

Rendimiento(y) 2

33

10

10

4. El nmero de hrs. Dedicadas al estudio de una asignatura y la calificacin obtenida


en el examen correspondiente, de ocho personas es:
Horas(x)
20
16
34
23
27
32
18
22
Calificacin(y) 6,5
6
8,5
7
9
9,5 7,5 8

5. de un ncleo de poblacin, acuden los clientes, en cientos, que figuran en la tabla.


N de clientes(x)
8
7
6
4
2
1
Distancia(y)
15
19
25
23
34
40

6. En una muestra de 1500 individuos se recogen datos sobre dos medidas


antropomtricas X e Y. Los resultados que se obtienen son
x = 14, y = 100, sx = 2,

sy = 25,

sxy = 45.

Obtener el modelo de regresin lineal que mejor aproxima Y en funcin de X.


Utilizando este modelo calcular de modo aproximado la cantidad Y esperada cuando
X = 15.
7.

De una muestra de 8 observaciones conjuntas de valores de dos variables X e Y se


obtiene la siguiente informacin:
.

a) Obtener la recta de regresin de Y sobre X.

Explicar

el

significado

de

los

parmetros.
b) Calcular el coeficiente de determinacin. Comentar el resultado e indicar el porcentaje

de variacin de Y que no est explicado por el modelo de regresin lineal.


c) Si el modelo es adecuado, cul es la prediccin para un valor de x = 4?
d) Obtener la recta de regresin de X sobre Y.
8.

La tabla siguiente contiene la edad X y la mxima de la presin sangunea Y de un


grupo de 10 mujeres:

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.
b) Determinad la recta de regresin de Y sobre X, justificando la adecuacin de un

modelo lineal. Interpretad los coeficientes.


c) Valorad la bondad del modelo.
d) Haced las predicciones siguientes, slo cuando crea que tengan sentido:

122

Mtodos Numricos
Ing. William Caiza
d.1) Presin sangunea de una mujer de 51 aos.
d.2) Presin sangunea de una nia de 10 aos.
d.3) Presin sangunea de un hombre de 54 aos.

9. Se ha llevado a cabo un ajuste lineal a una nube de puntos formada por


observaciones de dos variables X e Y y se ha obtenido un coeficiente de
determinacin de 0.03. Discutid si las siguientes afirmaciones son ciertas y por qu:
a) El coeficiente de correlacin lineal entre X e Y valdr 0.173.
b) La covarianza entre X e Y puede ser negativa.
c) Las variables X e Y son casi independientes.
d) El coeficiente de determinacin entre X e Y valdr -0.03.
e) El coeficiente de determinacin entre X y Y valdr 0.03.

f) Solo el 3% de la variabilidad total de Y queda sin explicar en el modelo.


10. Dada la siguiente distribucin bidimensional encontrar el modelo de regresin (lineal
o parablica) que mejor se ajuste a la nube de puntos.
xi
yi

1 1 2 3 4 5 5 6
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).
tamao 0.17 0.16 0.17 0.25
precio 355 328 350 675
tamao 0.16 0.17 0.16 0.17
precio 345 352 332 353

0.16
342
0.18
438

0.15
322
0.23
595

0.21
483
0.23
553

0.15
323
0.12
223

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.
12. Las Ecuaciones siguientes
,
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

13. Dos distribuciones estadsticas tienen como rectas de regresin de Y sobre X,


respectivamente,

Puede asegurarse que la segunda distribucin tiene un coeficiente de determinacin


mayor que la primera?
14. De una distribucin estadstica vicariante se conocen x = 5, y = 8, CVY = 3CVX.
Mediante la recta de regresin de Y sobre X, cul es la prediccin del modelo para
un valor de x = 6,
a) en el caso que R2 = 0?
b) en el caso que R2 = 1?

Pgina web de los ejercicios del 1 al 13


http://es.slideshare.net/1010karen/5-ejercicios-de-correlacin-13119660

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.

POLINOMIO INTERPOLADOR DE NEWTON


Definicin
Dados n+1 puntos, 0 , 1 , ,

1 () = 0 + 1 ( 0 )
()
2
= 0 + 1 ( 0 ) + 2 ( 0 )( 1 )
2 () = 1 () + 2 ( 0 )( 1 )
3 () = 2 () + 3 ( 0 )( 1 )( 2 )

() = () + ( )( )( ) ( )

124

Mtodos Numricos
Ing. William Caiza
Generalmente, se usa el 3 (), es decir:
() = 0 + 1 ( 0 ) + 2 ( 0 )( 1 ) + ( )( )( )
Dnde:
0 = [0 ]
1 = [1 , 0 ]
2 = [2 , 1 , 0 ]
3 = [3 , 2 , 1 , 0 ]

[
= , 1 , , 1 , 0 ]

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,3),
(4,2), (6,1)
2 () = [0 ] + [0 , 1 ]( 0 ) + [0 , 1 , 2 ]( 0 )( 1 )
a) Resolviendo un sistema de ecuaciones (I. Inversa)
2 () = + +

125

Mtodos Numricos
Ing. William Caiza

3 = 4 + 2 +
2 = 16 + 4 +
1 = 36 + 6 +
=
1 = 1
1 =
X=1
4
= [16
36

2
4
6

1
1]
1

4
1 = [16
36

2 1
4 1
6 1

1
0
0

4
1 = [ 0
36

2
1
4 3
6
1

0 0
1 0]
0 1
1 0
0 1
0 0

0
0]
1

DEFINICIN: Las diferencias divididas de f(x), se define:


1 Diferencia [ ] = ( )
2 Diferencia [ , ] =

[ ][ ]

3 Diferencia [ , , ] =

4 Diferencia [ , , , ] =

([ ][ ])
( )

[ , ][ , ]

[ , , ][ , , ]

[ ][ ]

[ ][ ] [ ][ ]

[ , ][ , ] [ , ][ , ]

[ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ]






EJERCICIO
Dados los siguientes puntos 0 = 1, 1 = 4, 2 = 6, 3 = 5

126

Mtodos Numricos
Ing. William Caiza

(0 ) = 0
(1 ) = 1,386294
(2 ) = 1,791759
(3 ) = 1,609438

0 = 1
1 = 4
2 = 6
3 = 5

Estimar ( = 2), con un polinomio interpolador de 3 () Newton


0 = [0 ] = (1) =
1 = [1 , 0 ] =

3 ( = 2) = ( = 2)

[1 ] [0 ] 1,386294 0
=
= ,
1 0
41

[2 ] [1 ] [1 ] [0 ] 1,791759 1,386294 1,386294 0

2 1
1 0
64
41
2 = [2 , 1 , 0 ] =
=
2 0
61
= ,
[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

64
56
64
41

1
5

4
=
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)
= ,

Interpolacin por Splines


Interpolacin con Trazadores y Paramtrica
Objetivos

Conocer las tcnicas de interpolacin usando curvas paramtricas y Spline B

Familiarizarse con los mtodos numricos de interpolacin con polinomios definidos


en tramos

Aprender a usar Matlab para resolver problemas que involucren interpolacin

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.

INTERPOLACION Problema Bsico

Se dispone de un conjunto de datos (x,y), que provienen de experiencias y se quiere


encontrar una funcin que pase por esos puntos.

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.

Funciones definidas en Tramos


En Interpolacin con Funciones definidas en Tramos, dados un conjunto de datos (xi
,yi), se emplean funciones diferentes para cada subintervalo [xi ,xi+1 ]
Las abscisas xi se llaman Nodos y en ellos se pasa de una funcin a otra.
Funciones que son tramos de polinomios resultan una alternativa de la interpolacin
polinomial de alto grado para evitar la oscilacin.

128

Mtodos Numricos
Ing. William Caiza

La principal ventaja la Interpolacin con tramos de polinomios es que un gran nmero


de datos pueden ajustarse empleando polinomios de relativo bajo orden.

EJEMPLO TIPICO
Interpolacin Lineal que usa lneas rectas para interconectar puntos.

Con este recurso se elimina la oscilacin excesiva, pero se sacrifica la derivabilidad de


la funcin.
INTERPOLACION LINEAL
Se puede usar interpolacin LaGrange o Newton para determinar las ecuaciones de las
rectas:
( 0 )
( 0 ) 1 > > 0
1 () = 0 + 1
(1 0 ) 1
( 1 )
( 1 ) 2 > > 1
2 () = 1 + 2
(2 1 )
( 2 )
( 2 ) 3 > > 2
3 () = 2 + 3
(3 2 )
( 3 )
( 3 ) 4 > > 3
4 () = 3 + 4
(4 3 )
Funciones definidas en Tramos

EJEMPLO TIPICO Interpolacin al adyacente ms prximo (Nearest neighbor


interpolation ). El mtodo ms simple que consiste en localizar el valor de datos ms
cercano, y asignarlo el mismo valor.

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 + +

Un Trazador de orden k deber tener k-1 derivadas continuas


Ejercicio. Dado los siguientes puntos, encontrar la interpolacin mediante rectas.

(4,4)
F0

f1

(7,4)
f2
(10,3)

(1,2)

*En [1, 4]
FORMULA:

() = +

42
( 1)
2=
41
2
2
2
4
= +2 = +
3
3
3
3

() = +

En [7 , 4]

() =

En [7 , 10]

130

Mtodos Numricos
Ing. William Caiza
34
( 7)
10 7
1
4 = ( 7)
3
1
7
= + +4
3
3

() = +

4=

SPLINE CUADRTICA
Se conectan dos puntos adyacentes con una parbola de orden 2. La funcin tiene
derivada primera continua.

Determinacin de los coeficientes Sea N el nmero de sub-intervalos (N+1 datos). Para


cada punto interior, los dos polinomios cuadrticos vecinos tienen que pasar este punto.
2(N-1) ecuaciones:
() = 2 + + =
Slo un polinomio cuadrtico pasa por los puntos extremos 2 ecuaciones.
() = 2 + + =
Determinacin de los coeficientes
En cada punto interior, las derivadas de primer orden de los dos polinomios vecinos deben
ser iguales. Condicin impuesta a una Spline cuadrtica. Resultan N-1 ecuaciones:
2 + = 2 +
Considerando todas las ecuaciones, suman 3N-1. Por lo tanto falta una para poder
determinar todos los coeficientes (1 grado de libertad). Esto es tpico en Spline y se fija
segn conveniencia. Por ejemplo, se podra adoptar la derivada igual a cero en uno de los
extremos.

131

Mtodos Numricos
Ing. William Caiza

Definicin de Spline.- La definicin de spline hace referencia a una amplia clases de


funciones que son utilizadas en aplicaciones que requieren la interpolacin de datos o un
suavizado de curvas.
Las funciones para la interpolacin de splines normalmente se determinan como
minimizadores de la aspereza sometida a una serie de restricciones.

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.
Dado n+1 puntos:
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
f(2)=0.5
f(4)=0.25

1,2
1

1; 1

0,8
0,6
2; 0,5

0,4

4; 0,25

0,2
0
0

.
( )

= + +

= +

= ( )

: =

. .
( )


= + +

= +

: . =

132

Mtodos Numricos
Ing. William Caiza

() = () +


() = +

() =

Spline Cuadrtico.- El objetivo es obtener un polinomio de 2 grado para cada


intervalo entre los datos.
() = 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.
2. La primera y ltima funcin deben pasar a travs de los puntos extremos.
3. Las primeras derivadas en los nodos interiores deben ser iguales.
4. Suponga que en el primer punto la segunda derivada es 0.
Ejercicio
3
3; 2,5

7; 2,5

2,5
2
1,5
4,5; 1
1
9; 0,5
0,5
0
0

1)
. + . + = (1)
. + . + = (2)
+ + = . (3)
+ + = . (4)
2)
+ + = . (5)

133

10

Mtodos Numricos
Ing. William Caiza

+ + = . (6)
3)
1 2 + 1 + 1 =
21 + 1 =
+ = + (7)
+ = + (8)
4)
21 + 1 =
=
= (9)

Respuestas:
=
=
= .
= .
= .
= .
= .
= ,
= .

Spline Cbico.- El objetivo de las segmentarias cbicas es obtener un polinomio d


tercer orden para cada intervalo en los nodos.
() = + + +
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:
1) Los valores de la funcin deben ser iguales en los nodos interiores.
2) La primera y ltima funcin deben pasar a travs de los puntos extremos.

134

Mtodos Numricos
Ing. William Caiza

3) Las primeras derivadas en los nodos interiores deben ser iguales.


4) Las segundas derivadas en los nodos interiores deben ser iguales.
5) Las segundas derivadas en los nodos externos son ceros.
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
Ajuste por segmentarias cbicas dado los siguientes puntos:
0 = 3 ; (0 ) = 2.5
1 = 4.5 ; (1 ) = 1
2 = 7 ; (2 ) = 2.5
3
3; 2,5

2,5

7; 2,5

2
1,5
1

4,5; 1

0,5
0
0

Dadas las condiciones se obtienen las siguientes ecuaciones


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

CAPITULO 6: INTEGRACIN NUMRICA


La deduccin de las frmulas de cuadraturas puede hacerse a partir de la interpolacin
polinomial.
Recordemos que existe un nico polinomio para aproximar la funcin f(x) en el [a, b],
de manera que:
= ( )
Luego aproximamos la integral de f(x) por la integral del polinomio de grado n la
formula resultante se llama Frmula de Cuadratura de Newton-Cotes.
Si el primer nodo = y el ltimo nodo = , entonces se dice que la frmula de
Newton-Cotes es cerrada.

Frmulas de Cuadratura de Newton-Cotes


1) Regla del Trapecio

Imagen 6.1: Regla del trapecio


b

f(x)dx =
a

h
(f(x0 ) + f(x1 ) );
2

Regla del trapecio

Sean las particiones de [a, b] definida como una sucesin de trminos { , , . . }


y = y = ,
Estas particiones son equidistantes es decir = + k=0,1,2n

137

Mtodos Numricos
Ing. William Caiza

; donde n es el numero de intervalos que tiene [a, b]

Propiedades de particin equidistante


1. = ( )
2. = ( ), [ , ]
3. = +

Ejercicio: Verificacin de las propiedades anteriores


GRAFICO CUADERNO
3 5 = (-2) (1)

n=5
= +
=

-2 = 2


=
=

Calculando las particiones tenemos:

2da Verificacin de 1.

= + = + =

= ( )()

= + = + () =

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

Ejercicio: Demostrar la regla del trapecio

() =

(() + ())

() = ()

: = 1

() () = 1 (); = 1

()( ) = (0 ()(0 ) + 1 ()(1 ))


=0

= (0 ) 0 () + (1 ) + 1 ()

139

Mtodos Numricos
Ing. William Caiza

1
0
= (0 )
+ (1 )

0 1
1 0

Regla de Simpson 1/3

()

((0 ) + 4(1 ) + (2 ))
3

= () = 2 (), = 2

= ()( ) = (0 ()(0 ) + 1 ()(1 ) + 2 ()(2 ))


=0

= (0 )

() + (1 ) 1() + (2 ) 2 ()



=0

0 () =

1 2

0 1 0 2

1 () =

0 2

1 0 1 2

2 () =

0 1

2 0 2 1

140

Mtodos Numricos
Ing. William Caiza

Ejemplo

Sea f(x)=sen(x) integrar el mtodo del trapecio en [ 6 ,

Grafica

i.
ii.

1
() 2 (0 + 1 ) REGLA DEL TRAPECIO
0

2
() 3 (0 + 41 + 2 ) REGLA DE SIMPSON
0

iii.

3
()

iv.

4
() 45 (70 + 321 + 122 + 323 + 74 ) REGLA DE BOOLE

(0 + 31 + 32 + 3 ) REGLA DE 8 DE SIMPSON

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
he : Integral menos 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:

() = [()] + () + 2 ( )
2
=1

=
; = + , ( = 0,1,2,3, , )

El primer paso en el proceso de Romberg, es obtener aproximaciones de la regla del


trapecio para 1 = 1 , 2 = 2 , 3 = 4 , , 2 = 21, donde + y :

143

Mtodos Numricos
Ing. William Caiza


= +1 ; ( )

2

1
1
2
2
3
4
4
8
5 16
6 32

Aplicando el trapecio mltiple, de las particiones indicadas anteriormente obtenemos:


21 1

() = [() + () + 2 ( + )]
2
=1

Demostracin:
2

() = 2 () =
0

=0

(2 ) () = (0 ) (0 ) () + (1 ) (1 ) + (2 ) (2 ) ()
Donde:
(0 ) =

1
2

0 1 0 2

(1 ) =

0
2

1 0 1 2

(2 ) =

0
1

2 0 2 1

2
( 1) ( 2)
( 0)( 2)
(0 )
+ 1
+
2

0
0
2

+(2 )

() ( 1)

2
(0 ) 2
( ) 2
( 1)( 2) (1 ) ()( 2) + 20 ()( 1)
2
2
0
0
0

144

Mtodos Numricos
Ing. William Caiza
2
(0 ) 2 2
(2 ) 2 2
2
( 3 + 2) (1 ) ( 2) +
( )
2
2
0
0
0

(0 ) 3 3 2
( ) 3 2 2
3 2 2 2
2
(
+ 2| ) (1 ) (
| )+ 2 ( | )
0
2
3
2
3
2 0
2
3
2 0
(0 ) 2
( ) 2
4
( ) (1 ) ( ) + 2 ( )
2
3
3
2
3

((0 ) + 4(1 ) + (2 ) )

R. Simpson 1/3

=1

=1

= [( ) + 4 ( ) + 2 ( ) + ( ) ]

1

3

Demostracin Regla Simpson 3/8


3

() = 8 (0 + 31 + 32 + 3 ) 8
0
Demostracin:
3

() = 3 =
0

=0

3 () = 0 0 () + 1 1 () + 2 2 () + 3 3 ()
Donde:

0 =

0 2 3

0 1 0 2 0 3

1 =

0 2 3

1 0 1 2 1 3

2 =

0 1 3

2 0 2 1 2 3

3 =

0 1 2

3 0 3 1 3 2

145

Mtodos Numricos
Ing. William Caiza
3

0 =

( 1) ( 2) ( 3)
2 3
3
() ( 2) ( 3)
+ 1
2
0
3
() ( 1) ( 3)
+ 2
2
0
3
( 1) ( 2) 0 3
+ 3

( 1)( 2)( 3)
3 2
6 0
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
3 3 3
2
+
( 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 | ]
0
6
2
4
3
0
( ) 4 4 3 3 2 3
( ) 4
3
+ 2 [ +
+
| ] + 3 [ 3 + 2| ]
0
2
4
3
2 0
6
4
3
9
9
3
0 + 1 + 2 + 3
8
8
8
8
3
8

[0 + 31 + 32 + 3 ]

R. de 3/8 Simpson

Algoritmo del trapecio


function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
funcion=char(inputdlg('ingrese la funcion'));
n=str2double(inputdlg('cuantos numeros desea ingresar'));
f=inline(funcion);
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
opcion=str2double(inputdlg('elija la opcion 1 o 2'));
switch opcion
case 1
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);
set(handles.text2,'String',integral);
case 2
s=0;
[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);
set(handles.text2,'String',integral);
case 2
s=0;
for i=2:n-1
s=s+2*f(x(i));
end
h=x(2)-x(1);
integral=(h/2)*(f(x(1))+s+f(x(n)));
set(handles.text2,'string',integral);
xx=x(1):0.1:x(n);
[fxx cxx]=size(xx);
for i=1:cxx
yy(i)=f(xx(i));
end
plot([x(1)-5 x(2)+5],[0 0]);
hold on;
plot([0 0],[max(ff)+3 min(ff)-3]);
area(xx,yy);
end
for i=1:n
etiqueta=['x(' num2str(i) ')='];
x(i)=str2double(inputdlg(etiqueta));
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);

Figura 6.7: Ejecucin del programa

6.1.2 Regla del Trapecio Mltiple

Imagen 6.2: regla del trapecio Mltiple

148

Mtodos Numricos
Ing. William Caiza

() = = 1 () + 1 () + 1 () + 1 ()

= ((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
a) =
7

73
1

=4

4
() = ((3) + (7)) = (9 + 49) = 116
2
2
3

b) =

73
3

4
3

4 13
1 = 3 + =
3
3
8 17
2 = 3 + =
3
3
3 = 3 + 4 = 7
7

() =
3

13

13
17

17
((3) + ( )) + ( ( ) + ( )) + ( ( ) + (7))
2
3
2
3
3
2
3

13
17
((3) + 2 ( ) + 2 ( ) + (7))
2
3
3

169
289
= (9 + 2 (
) + 2(
) + 49) = 106,518
2
9
9
=

c) =

73
5

4
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

() =
3

19

19
23

23
27
((3) + ( )) + ( ( ) + ( )) + ( ( ) + ( ))
2
5
2
5
5
2
5
5

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
=

Algoritmo Trapecio Multiple


function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
funcion=char(inputdlg('ingrese la funcion'));
f=inline(funcion);
n=str2double(inputdlg('ingrese numero de particiones'));
for i=1:n
etiqueta=['x(' num2str(i) ')='];
x(i)=str2double(inputdlg(etiqueta));
end
for i=1:n
y(i)=f(x(i));
end
% constante
k=(x(n)-x(1))/(2*(n-1));
%sumatorio del trapecio interno
s=0;
for i=1:n-1
s=s+2*f(x(i));
end
integral=k*(f(x(1))+s+f(x(n)));
set(handles.text2,'String', integral);
set(handles.text5,'String', funcion);
set(handles.text7,'String', x);
%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');

6.1.3 Regla de Simpson


1. Regla de Simpson 1/3

151

Mtodos Numricos
Ing. William Caiza

n=2

Imagen 6.3: Regla de Simpson 1/3

() =

()

Demostrar que
2 0
=
=
2
2

(( ) + ( ) + ( ))

= 3 ((0 ) + 4(1 ) + (2 ))
2

() = [0 ()(0 ) + 1 ()(1 ) + 2 ()(2 )]

Donde:
0 () =

1
2

;
0 1 0 2

1 () =

0
2
0
1

; 2 () =

1 0 1 2
2 0 2 1
2

1
2
0
2
() = (0 )

+ (1 )

0 1 0 2
1 0 1 2

+ (2 )
0

0
1

2 0 2 1

= 0 +

=

=
( 2)
= 0 (1) :
0 = 0 +
0 =
=0
( 3)
= 2 (1) :
2 = 0 +
2 0 =
2 =
=2

152

Mtodos Numricos
Ing. William Caiza
2

( 1) ( 2)
( 2)
( 1)
= (0 )

+ (1 )
+ (2 )

0
2

(0 ) ( 1)( 2) (1 ) ( 2) + (2 ) ( 1)
2
2
0

2. Regla de Simpson 3/8

n=3

Imagen 6.4: Regla de Simpson 3/8

() =

(( ) + ( ) + ( ) + ( ))

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:
a) =
8

85
1

=3

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
b) =
8

85
5

3
5

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
c) =
8

85
4

3
4

() =
5

23
26

26
29
((5) + 4 ( ) + ( )) + ( ( ) + 4 ( ) + (8))
3
4
4
3
4
4

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)
%CODIGO PARA GRAFICA
for i=1:n+1
x(i)=a+(i-1)*h;
y(i)=f(x(i));
end
x=[x,b,a,a];
y=[y,0,0,f(a)];
fill(x,y,[0.8 0.4 0.9]);
for i=1:n+1
x(i)=a+(i-1)*h;
y(i)=f(x(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');

Figura 6.8 Botones de la mscara de interface

155

Mtodos Numricos
Ing. William Caiza

Figura 6.9: Ejecucin del programa

6.4 Regla de Boole


4

() =
0

2
(70 + 321 + 122 + 323 + 74 )
45

Demostracin:
4

() = 4 () =
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
1 =

0 2 3 4
() ( 2) ( 3) ( 4)

=
1 0 1 2 1 3 1 4
2 3

156

Mtodos Numricos
Ing. William Caiza

2 =

0 1 3 4
( 1) ( 3) ( 4)

=
2 0 2 1 2 3 2 4
2 2

3 =

0 1 2 4
( 1) ( 2) ( 4)

=
3 0 3 1 3 2 3 4
3 2

4 =

0 1 2 3
( 1) ( 2) ( 3)

=
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
3 4 3
2
( 4 + 3) ( 4)
( 3 2 + 2)( 4) +
4 0
6 0
4 4 3
( 3 2 + 2)( 3)
24 0
0 4 4
1 4 4
3
2
( 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
5 9 4 26 3 24 2 4
4
[
+

+ 24| ] 1 [
+

| ]
0
24 5
4
3
2
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
v(t) =

gm
gcd
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
7.- Evalu la integral siguiente:

(8 + 4cosx)dx
0

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.
8.- Evalu la integral siguiente:
3

(1 ex )dx
0

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.
9.- Evalu la integral siguiente:
3

(1 ex )dx
0

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.
10.- Evalu la integral siguiente:

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

CAPITULO 7: ECUACIONES DIFERENCIALES ORDINARIAS DE PRIMER ORDEN

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

puede describir procesos correspondientes a diversas disciplinas. Las ecuaciones


diferenciales tienen numerosas aplicaciones a la ciencia y a la ingeniera, de Modo que los
esfuerzos de los cientficos se dirigieron en un principio, a la bsqueda de mtodos de
resolucin y de expresin de las soluciones en forma adecuada.
7.1 Mtodos de Runge-Kutta
Mtodos numricos para la solucin de Ecuaciones diferenciales ordinarias de la forma

= (, )

7.1.1 Mtodo de Euler


+1 = + ( , )

Tambin se lo conoce a este mtodo como mtodo de Euler-Cauchy o de punto pendiente.


En donde se predice un nuevo valor de y usando la pendiente (igual a la primera derivada
en el valor original de x) para extrapolar linealmente sobre el tamao de paso h.

Figura 7.1: Ilustracin grfica del mtodo de euler

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

0
1

0
0,25

1
0,7

0,5

0,5009375

0,75 0,38196484

4
5
6
7
8

1 0,3210892
1,25 0,30503474
1,5 0,33267851
1,75 0,42000662
2 0,6155722

(, )
-1,2
-0,79625
0,47589063
0,24350259
0,06421784
0,11057509
0,34931244
0,78226233
1,72360216

+1

()

0,7
0,5009375

Error
1
0
0,7446 0,059897932

0,38196484

0,5721 0,124388219

0,3210892

0,4679 0,183661373

0,30503474
0,33267851
0,42000662
0,6155722
1,04647274

0,4203
0,4278
0,5091
0,7308
1,3056

0,236047593
0,286968824
0,346536024
0,425278299
0,528513939

Ejemplo 2.- Con el mtodo de Euler integre numricamente la ecuacin


` = 4 0,8 0.5
[0,4]
Condicin (0) = 2

0
1
2
3

0
1
2
3

h=1 pasos de 1

(, )
()

+1
2
3
5
6,40216371
6,70108186 5,55162279 12,2527046 13,6857774
16,3197819 11,6522387 27,9720207 30,1066952
37,1992489 25,4930811 62,69233 66,7839558
83,3377673 56,4612371 139,799004 65,8995022

+ = + ( , )
+ = +

162

Error
4,70108186
9,61870008
20,879467
46,1385184
4,71913255

Mtodos Numricos
Ing. William Caiza
+ =
` +
` +
` +
` +

= (+ , + )
= ( ; )
= 4 0,81 0.5 5
= ,

( , )(+ , + )

+ ,

= 4,7010815
+ = +
+ = + ,
+ = ,
Aplicando Laplace a la ecuacin
` = 4 0,8 0.5
() () + , () =

() + , () =

+
,

() + , () =

+ ,
,

()( + , ) =

() =

+ ,
,

+ ,
, ( + , )

Aplicando fracciones parciales


2 2,4

=
+
0,8 ( + 0,5) 0,8 + 0,5
2 2,4 = + 0,5 + 0,8
+ =2
0,5 0,8 = 2,4

163

Mtodos Numricos
Ing. William Caiza

14 0,8 40 0,5

+
13
13

Ejemplo 3: Con el mtodo de Euler integre numricamente la ecuacin

= 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:
=
= 3,21875 5,25 = 2,03125
O, expresada como error relativo porcentual, =-63,1.
En el segundo paso:
(1) = (0,5) + (0,5; 5,25)0,5
() = 5,25 + {2(0,5)3+ 12(0,5)2 20(0,5) + 8,5}
() = 5,875
Tabla de comparacin de los valores verdaderos y aproximados mediante el mtodo de
Euler.
Se utiliza la ecuacin + = + ( , ) para implementar el mtodo de Euler:
(0,5) = (0) + (0,1)0,5
Donde y(0)=1 y la pendiente estimada en x=0 es:
(0,1) = 2(0)3+ 12(0)2 20(0) + 8,5 = 8,5

164

Mtodos Numricos
Ing. William Caiza

Por lo tanto,
(0,5) = 1,0 + 8,5(0,5) = 5,25
La solucin verdadera en x=0,5 es:
= 0,5(0,5)4+ 4(0,5)3 10(0,5)2 + 8,5(0,5) + 1 = 3,21872

8
7
6
5
y verd

y euler

3
2
1
0

10

12

Figura 7.2 grafica del mtodo de Euler en Excel

Ejemplo 2: 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
EULER h=0,5
i xi
yreal
0 0
1.0000

f(xi,yi)
0

165

yi+1
1

Mtodos Numricos
Ing. William Caiza

1
2
3
4

0.5
1
1.5
2

0.4798
0.2865
0.3737
2.7183

-1.5000
-0.3438
-0.0391
0.1099

0.2500
0.0781
0.0586
0.1135

3,0000
2,5000
EULER h=0,25

2,0000

EULER h=0,5
1,5000

Y REAL
PUNTO MEDIO

1,0000

RK CUARTO ORDEN
0,5000
0,0000
0

0,5

1,5

2,5

Figura 7.3 mtodos de Runge Kutta

7.3 Anlisis del error para el mtodo de Euler


La solucin numrica de las EDO implica dos tipos de error:
Errores de truncamiento: Originados por la naturaleza de las tcnicas empleadas
para aproximar los valores de y.
Errores de redondeo: Causados por el nmero limitado de cifras significativas que
una computadora puede retener.
7.3.1 Errores de truncamiento
Los errores de truncamiento se componen de dos partes:
Error de truncamiento local: Que resulta de una aplicacin del mtodo considerado,
en un solo paso.
Error de truncamiento propagado: Que resulta de las aproximaciones producidas
durante los pasos previos.
La suma de los dos es el error total de truncamiento.
7.4 Mejoras del mtodo de Euler
Un motivo fundamental de error en el mtodo de Euler es suponer que la derivada al inicio
del intervalo es la misma durante todo el intervalo. Hay dos modificaciones simples para
evitar esta consideracin y son:
1. Mtodo de Heun
2. Mtodo del punto medio

166

Mtodos Numricos
Ing. William Caiza

7.1.2 Mtodo de Heun


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
La cual va a ser la pendiente de la expresin de Euler
Resumen de las ecuaciones
+= + ( , ) (Predictor)
+ = +

(, )+(+, +)

(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

Figura 7.4 Representacin grfica del mtodo de Heun

7.5 Mtodo de Runge-Kutta de segundo orden

La expresin del mtodo de Runge-Kutta de 2do orden es:


Yi+1 = Yi + (a1 k1 + a2 k 2 )h ()
Donde: k1 = f(xi , yi )

()

k 2 = f(xi + (p1 )h , yi + q11 (k1 )h)

()

Recordando la serie de Taylor, tenemos:


Yi+1 = Yi + f(xi , yi )h +

f(xi , yi ) 2
h
2!

()

Encontrando f(xi , yi ) :
f(xi , yi ) =

df(xi , yi ) f dx f dy
=
+
dx
x dx y dx

f(xi , yi ) =
Yi+1

df f dy
+
()
dx y dx

df f dy h2
= Yi + f(xi , yi )h + ( + )
()
dx y dx 2!

Utilizando la serie de Taylor de dos variables; tenemos:


g(x + r; y + s) = g(x; y) r

g
g
+s +
x
y

Veamos el valor de:


f

f(xi + (p1 )h , yi + q11 (k1 )h) = f(xi , yi ) + p1 h x + q11 (k1 )h y + O(h2 ) (7)
Si = / tenemos:

168

Mtodos Numricos
Ing. William Caiza

a1+ a2 = 1
1

a2 p1 = 2

a2 q11 = 2

a1 = 1

1
= 1/2
2

p1 = 1

q11 = 1

Entonces:
1
1
Yi+1 = Yi + ( k1 + k 2 )h
2
2
k1 = f(xi , yi )

METODO HEUN

k 2 = f(xi + h , yi + (k1 )h)


Si = tenemos:
a1+ a2 = 1
1

a2 p1 = 2

a2 q11 = 2

a1 = 1 1 = 0
p1 = 1/2

q11 = 1/2

Entonces:
Yi+1 = Yi + ( k 2 )h
k1 = f(xi , yi )

METODO DE PUNTO MEDIO

k 2 = f(xi + 1/2h , yi + 1/2(k1 )h)


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 = + (; ; )

Donde (x; Yi ;h) es la funcin de incremento, y representa el promedio de la pendiente


sobre el intervalo.
La funcin de incremento se puede escribir en su forma general como:
= a1 k 1 + a 2 k 2 + + a n k n

169

Mtodos Numricos
Ing. William Caiza

Donde las ai son constantes y las ki son:


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.

Figura 7.8: Ejemplo en Excel

7.7 Mtodos de Runge-Kutta de cuarto orden

170

Mtodos Numricos
Ing. William Caiza

El ms popular de los mtodos Rk es el de cuarto orden. La versin comnmente usada se


llama mtodo clsico de Rk de cuarto orden:
1
Yi+1 = Yi + (k1 + 2k 2 + 2k 3 + k 4 )h
6
k1 = f(xi , yi )
k 2 = f(xi + 1/2h , yi + 1/2(k1 )h)
k 3 = f(xi + 1/2h , yi + 1/2(k 2 )h))
k 4 = f(xi + h , yi + (k 3 )h)
Demostracin:
El mtodo de RK de cuarto orden est basado en lo siguiente:
Yi+1 = Yi + (a1 k1 + a2 k 2 + a3 k 3 + a4 k 4 )h (1)
Dnde: sabiendo el valor de Y = Yi para xi , nosotros podemos encontrar el valor de Yi =
Yi+1 para xi+1 , y h = (xi+1 xi )
La ecuacin (1) es comparada con los primeros cinco trminos de la serie Taylor
dy

Yi+1 = Yi + dx|
1 d4 y

xi ,yi

4! dx4 xi ,yi

(xi+1 xi ) +

(xi+1 xi )4

1 d2 y
2!

dx2

xi ,yi

(xi+1 xi )2 +

1 d3 y

3! dx3 xi ,yi

(xi+1 xi )3 +

(2)

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:
k1 es la pendiente al principio del intervalo;
k2 es la pendiente en el punto medio del intervalo, usando k1 para determinar el valor de y
en el punto xi + h/2 usando el mtodo de Euler
k3 es otra vez la pendiente del punto medio, pero ahora usando k2 para determinar el valor
de y
k4 es la pendiente al final del intervalo, con el valor de y determinado por k3

171

Mtodos Numricos
Ing. William Caiza

Promediando las cuatro pendientes, se le asigna mayor peso a las pendientes en el


punto medio:

Ejemplo: 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
a) Mtodo RK de cuarto orden con h=0.5.

Figura 7.9: Cuadro de datos del mtodo de runge kutta 4to orden
3,0000
2,5000
EULER h=0,25

2,0000

EULER h=0,5

1,5000

Y REAL
PUNTO MEDIO

1,0000

RK CUARTO ORDEN
0,5000
0,0000
0

0,5

1,5

2,5

Figura 7.10: grafica del mtodo de Runge Kutta 4to orden

7.8 Mtodos de Runge-Kutta de orden superior


Para tener resultados ms exactos, se recomienda el mtodo de RK de quinto orden.

Yi+1 = Yi +

1
(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 3 )h
(k 4 )h + (k 5 )h)
k 5 = f (xi + h , yi (k1 )h + (k 2 )h +
7
7
7
7
7
Ejemplo 6
Use el mtodo clsico de Runge-Kutta de 5to Orden para integrar numricamente la
siguiente ecuacin:
f(x;y) = -2x 3 + 12 x 2 20x + 8,5 desde x=0 hasta x=4, con un tamao de paso de 0,5.
Condicin inicial en x=0 y y=1.

173

Mtodos Numricos
Ing. William Caiza

Figura 7.11: grafica de Runge Kutta orden superior

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.
2.- Resuelva el siguiente problema en el intervalo de x=0 a 1. Usando un tamao de paso
de 0.25 donde y (0)=1. Muestre todos sus resultados en la misma grfica.
dy
= (1 + 2x)y
dx
a) Analticamente.
b) Mtodo de Euler.
c) Mtodo de Heun sin el corrector.
d) Mtodo de Ralston.
e) Mtodo de RK de cuarto orden.
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
+ 0.6 + 8y = 0
2
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)
dx

y(0) = 1

6.-Solucione en forma numrica el problema siguiente, de t = 0 a 3:


dy
= y + t 2 ,
dt

y(0) = 1

Utilice el mtodo de RK de tercer orden, con un tamao de paso de 0,5.

7.-Use los mtodos de:


a) Euler
b) RK de cuarto orden
Para resolver:
dy
dt

= 2y + 4e1
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:
m

d2 x
dx
+ c + kx = 0
2
dt
dt

175

Mtodos Numricos
Ing. William Caiza

Donde x=desplazamiento desde la posicin de equilibrio (m), t=tiempo(s), m=20(kg) masa y


s

c= coeficiente de amortiguamiento (N m). El coeficiente de amortiguamiento c adopta tres


valores, 5 (subamortiguado), 40 (amortiguamiento crtico) y 200 (sobreamortiguado). La
s

constante del resorte es k = 20 (N m). La velocidad inicial es de cero y el desplazamiento


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
+ (5x) + (x + 7)sen(wt) = 0
2
dt
dt
Donde:
dx
(0) = 1,5
dt

x(0) = 6

Observe que w = 1. Descomponga la ecuacin en dos ecuaciones diferenciales de primer


orden. Despus de la descomposicin, resuelva el sistema t = 0 a 15, y grafique sus
resultados.

176

Mtodos Numricos
Ing. William Caiza

Referencia5: mtodos numricos para ingenieros (sexta edicin), autor: Steve C. Chapra,
pg.: 68

Algoritmo de resolucin de ecuaciones diferenciales por el mtodo de Euler

function varargout = MetodoEuler(varargin)


% METODOEULER MATLAB code for MetodoEuler.fig
%
METODOEULER, by itself, creates a new METODOEULER or raises the existing
%
singleton*.
%
%
H = METODOEULER returns the handle to a new METODOEULER or the handle to
%
the existing singleton*.
%
%
METODOEULER('CALLBACK',hObject,eventData,handles,...) calls the local
%
function named CALLBACK in METODOEULER.M with the given input arguments.
%
%
METODOEULER('Property','Value',...) creates a new METODOEULER or raises the
%
existing singleton*. Starting from the left, property value pairs are
%
applied to the GUI before MetodoEuler_OpeningFcn gets called. An
%
unrecognized property name or invalid value makes property application
%
stop. All inputs are passed to MetodoEuler_OpeningFcn via varargin.
%
%
*See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one
%
instance to run (singleton)".
%

177

Mtodos Numricos
Ing. William Caiza

% See also: GUIDE, GUIDATA, GUIHANDLES


% Edit the above text to modify the response to help MetodoEuler
% Last Modified by GUIDE v2.5 02-Aug-2015 22:35:15
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name',
mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @MetodoEuler_OpeningFcn, ...
'gui_OutputFcn', @MetodoEuler_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))


set(hObject,'BackgroundColor','white');
end

function edit6_Callback(hObject, eventdata, handles)


% hObject handle to edit6 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit6 as text
%
str2double(get(hObject,'String')) returns contents of edit6 as a double

% --- Executes during object creation, after setting all properties.


function edit6_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit6 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
%
See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

% --- Executes on button press in pushbutton1.

178

Mtodos Numricos
Ing. William Caiza

function pushbutton1_Callback(hObject, eventdata, handles)


% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
f1=get(handles.edit1,'string');
f=inline(f1,'x','y');
x(1)=str2double(get(handles.edit2,'string'));
xf(1)=str2double(get(handles.edit3,'string'));
h=str2double(get(handles.edit4,'string'));
yi=get(handles.edit5,'string');
y(1)=str2double(yi);
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)
1

L{ f(at) } = ()

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 } =

()

Tabla de la transformada de Laplace


f(t)
()

F(s)
1

1
2
!
2+1

2
+ 2

2 + 2
1

1

()
cos()
()
( )

. ()

1
()

() ()

()

()

(). ()

EJERCICIOS DE LAPLACE CON ECUACIONES DIFERENCIASLES POR LAPLACE

Usando la transformada de Laplace encuentre la solucin de la ecuacin.


+ =
() =
() =

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

= 3 1 ((1)2 +2 ) ()+4 1 ((1)2 +2 ) () 1 (+1) ()


= 3 cos(2) + 4 sen(2)

Obtenga la ecuacin que es solucin de la siguiente ecuacin diferencial


por el mtodo de la transformada de Laplace, haciendo uso de las tablas y
propiedades.
()
+ () = () () =

() =

{D2 g(t) + 4g(t)} = {sen(4t)}


{D2 g(t) + 4{g(t)} = {sen(4t)}
{S 2 G(s) Sg(0) g (0)} + 4{G(s)} = {

4
}
S 2 + 42

1
4
+ 4() = 2
5
( + 42 )
1
4
()( 2 + 4) = 2
5 ( + 42 )
4
1 20 + ( 2 + 42 )
2 + 36
2
()( + 4) = 2
+ =
=
( + 42 ) 5
5( 2 + 42 )
5( 2 + 42 )
1 2
( + 62 )
( 2 + 62 )
5
() =
() =
5( 2 + 42 )( 2 + 42 )
5( 2 + 42 )( 2 + 42 )
Aplicando la transformada Inversa de Laplace
1 2
( + 62 )
5
1 {()}
1

= {
}
5( 2 + 42 )( 2 + 42 )
2 () 0

1 {()} = () = 0.2667(2) + 0.0834(4 + )

181

Mtodos Numricos
Ing. William Caiza

Resuelva usando transformada de Laplace la ecuacin


+ = () ,
() = () =

Donde
0
() = {

0<3
3

Primero observamos que:


() = ( 3) = ( 3)( 3) + 3( 3),
Donde
() = {

0
1

<0
0

Entonces si () = (y(t))(s),aplicando transformada de Laplace a la ecuacin diferencial


obtenemos
3 + 1 3
( 2 + 4)() =

2
Esto implica
3 + 1
() = 2 2
3
( + 4)
3 + 1
() = 1 ( 2 2
3 ) ()
( + 4)
3 + 1
+
= + 2+ 2
+ 4)
+4

2 ( 2
Resolviendo se obtiene
3

= 4, = 4, = 4, = 4
Asi
3 + 1
31 1 1 3
1
=
+ 2 2
2
+ 4) 4 4
4 + 4 4 + 4

2 ( 2

() = 1 (

3 + 1
3 1
3
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.

Consideremos un caso bidimensional. Supongamos que tenemos la funcin, f (x, y), y


queremos maximizarla, estando sujeta a la condicin:

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.

de forma tradicional. Eso es,


porque
en

para todo (x, y) satisfaciendo la condicin

es igual a cero en la restriccin, pero los ceros de

F(x, y) estn todos

El mtodo de los multiplicadores de Lagrange

Sea f (x) una funcin definida en un conjunto abierto n-dimensional {x Rn}. Se


definen s restricciones gk (x) = 0, k=1,..., s, y se observa (si las restricciones son satisfechas) que:

Se procede a buscar un extremo para h

lo que es equivalente a

Demostracin

185

Mtodos Numricos
Ing. William Caiza

Comencemos con el caso de una restriccin.


Sea una superficie M contenida en Rn definida por g(x)=0 y sea f(x) la funcin a obtener su punto crtico. Si
p

M un punto crtico entonces se ha de cumplir:

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
dado por

, de modo que se tiene:

para algn nmero


En el caso de que M est definida por varias restricciones

el conjunto de vectores

perpendiculares al tangente a M en p viene generado por


ser

perpendicular al vector tangente a M en p este ha de ser de la forma:

para unos ciertos nmeros

Algoritmo de multiplicadores de LaGrange


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

de modo que al

Mtodos Numricos
Ing. William Caiza

fprintf('\nresultado xi: %d',fxint');


plotx,xi)
grid
title('Polinomio de Lagrange');xlabel('x');yhabel('y')

% --- Executes on button press in pushbutton1.


function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
tabla=get(handles.uitable1,'Data');
tabla=str2double(tabla);
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);

% --- Executes on button press in pushbutton2.

187

Mtodos Numricos
Ing. William Caiza

function pushbutton2_Callback(hObject, eventdata, handles)


% hObject handle to pushbutton2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
filas=str2double(get(handles.edit1,'String'));
columnas=1;
num_elem=cell(filas,columnas);
num_elem(:,:)={''};
set(handles.uitable1,'Data',num_elem);
set(handles.uitable1,'ColumnEditable',true());
set(handles.uitable2,'Data',num_elem);
set(handles.uitable2,'ColumnEditable',true());

188

Mtodos Numricos
Ing. William Caiza

ANEXO 3: INTRODUCCIN A LA PROGRAMACIN EN MATLAB


Operadores relacionales
Permiten comparar datos, los resultados son valores lgicos, es decir: 1 (verdadero) o 0
(falso).

Figura A1. Operadores relacionales

Estructuras de control
Matlab se manejan principalmente tres estructuras de control:

Decisin: if ... elseif ... else ... end

Repeticin un nmero fijo de veces: for ... end

Repeticin bajo condiciones: while ... end Se puede, pero no es habitual, utilizar
estas estructuras en la ventana de trabajo de Matlab.

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
Es interesante aqu observar qu obtenemos al ejecutar las sentencias anteriores dentro de
dos bucles for anidados. Ejecutando help relop se puede obtener informacin sobre el
funcionamiento de los operadores relacionales utilizados en las sentencias de control.
Introduccin a la Interface Grfica de Usuario (GUI)
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:
1. En la ventana principal de Matlab, se debe ejecutar el comando guide, obteniendo
la siguiente ventana

191

Mtodos Numricos
Ing. William Caiza

Figura A3: Comando Guide

Con las siguientes opciones, como se describe en el grafico anterior.


Elegimos la primera opcin, Blank GUI, y tenemos la siguiente ventana:

Figura A4: Mascara De Interface De Matlab

2. En la ventana anterior se puede colocar diversos componentes predefinidos por


Matlab, los cuales podran ser:

Figura A5 Paleta de componentes

192

Mtodos Numricos
Ing. William Caiza

3. Grabar el archivo con la extensin predefinido por Matlab (.m).


Una aplicacin GUI consta de dos archivos uno cuya extensin es .m y otro cuya extensin
es .fig, la cual es la parte grafica del programa. Las dos partes estn unidas a travs de las
subrutinas callback. Una vez que se graba los archivos podemos ejecutar el programa
desde la ventana del comando de Matlab solamente escribiendo el nombre del archivo.
Por ejemplo si guardamos un archivo sumador.fig y sumador.m escribiendo sumador y
presionando enter se ejecuta el programa.

EJEMPLOS BASICOS A LA INTRODUCCION A MATLAB


Ejemplo 1:
En el ejemplo se hace uso de un pushbutton, edit y text, se ingresa un texto en edit
se hace click y el texto pasa a text.
function pushbutton1_Callback(hObject, eventdata, handles)
% mostrar un mensaje escrito en edit text y que se muestra en static text.
texto=get(handles.edit1,'String');
set(handles.text1,'String',texto);

Figura A.1
Ejemplo 2:
El ejemplo hace uso del objeto axes, para graficar una funcin

193

Mtodos Numricos
Ing. William Caiza

function pushbutton2_Callback(hObject, eventdata, handles)


% Este es un ejemplo de como ingresar funciones y se muestre su respectiva grfica en un axes.
x=linspace(0,10,100);
plot(handles.axes1,x,cos(x));

Figura B.1

Ejemplo 3:
Se hace uso de dos objetos axes, en el cual se puede ver su uso para realizar grficos.
function pushbutton2_Callback(hObject, eventdata, handles)
% En este ejemplo mostramos como se grafican ms de una funcin.
x=linspace(0,10,100);
plot(handles.axes1,x,cos(x));
plot(handles.axes2,x,x.^2);

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:
function popupmenu1_Callback(hObject, eventdata, handles)
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:
function popupmenu1_Callback(hObject, eventdata, handles)
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.
function listbox1_Callback(hObject, eventdata, handles)
contenido=get(hObject,'string');
a=get(hObject,'Value');
operaciones=contenido(a);
n1=5,n2=10;
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:
Se hace uso de radiobutton, para elegir comidas y se traslada el pedido a un text.
function pushbutton1_Callback(hObject, eventdata, handles)

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.

function uipanel1_SelectionChangeFcn(hObject, eventdata, handles)


A=get(hObject,'String');
switch A
case '10'
set(handles.text1,'FontSize',10);
case '14'
set(handles.text1,'FontSize',14);
case '18'
set(handles.text1,'FontSize',18);
end

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.

F) Realizaremos un ejemplo de cmo usar el check Box.


1. Creamos una nuevo Gui y colocamos cada elemento que usaremos.
2. Realizamos el algoritmo que muestre la funcin de cada elemento
% En este ejemplo damos la opcin de tener activada o desactivada la cuadricula para la
grfica de una funcin.
function uipanel1_SelectionChangeFcn(hObject, eventdata, handles)
A=get(hObject,'String');
switch A
case 'Seno'
ezplot('sin(x)',[0 10]);
case 'Coseno'
ezplot('cos(x)',[0 10 ]);
case 'Tangente'
ezplot('tan(x)',[0 10]);
end
% --- Executes on button press in checkbox1.
function checkbox1_Callback(hObject, eventdata, handles)
valor=get(hObject,'Value');
if valor==1
grid on;
else

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)
G) Realizaremos un ejemplo de cmo usar el Slider.
% En este ejemplo se muestra como poder aumentar o disminuir la ampliacin de una
grfica con el uso de Slide.
1. Creamos una nuevo Gui y colocamos cada elemento que usaremos.
2. Realizamos el algoritmo que muestre la funcin de cada elemento
function slider1_Callback(hObject, eventdata, handles)
A=get(hObject,'Value');
x=linspace(0,10,100);
y=A*sin(A*x)
plot(x,y);

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.

H) Realizaremos un ejemplo de cmo usar tablas.


1. Creamos una nuevo Gui y colocamos cada elemento que usaremos.
2. Realizamos el algoritmo que muestre la funcin de cada elemento
% En este ejemplo se muestra como insertar datos en una tabla.

function pushbutton1_Callback(hObject, eventdata, handles)


A={'Pedro' 'Ana' 'David' 'Gabriela'};
P={10 20 15 12};
datos=[A' P'];
set(handles.uitable1,'data',datos);

200

Mtodos Numricos
Ing. William Caiza

Figura H.1

A continuacin realizaremos el algoritmo de la suma de 2 variables para comprender


la utilizacin de los comandos
1. En el componente fig como muestra la figura 2 procedemos a insertar los objetos
necesarios.
2. De la paleta de componentes escogemos dos edit text, los cuales seran edit1 y edit
2 respectivamente, insertamos un push button y dos static text.

201

Mtodos Numricos
Ing. William Caiza

Figuran A6 componentes para la interface

3. Al guardar el archivo, Matlab internamente crea el cdigo necesario de los objetos


insertados para proceder a utilizarlos y manipular los objetos insertados en la fig.
Como muestra la figura 4. Generalmente se programara dentro de la function
pushbutton1_Callback(hObject, eventdata, handles).
4. Cdigo del programa.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
valor1=str2double(get(handles.edit1,'string'));
valor2=str2double(get(handles.edit2,'string'));
suma=valor1+valor2;
set(handles.text2,'string',suma);

Descripcin:
1. Al valor1 le asignamos el contenido del objeto edit1, mediante la funcin,
str2double realiza la transformacin de string a un valor numrico; get es la
funcin por medio de la cual obtenemos los valores ingresados por el usuario, cuyos
componentes son: handles.edit1, la instruccin anterior indica a la funcin get,
que el valor extrado ser del objeto edit1, string el comando indica que el valor
extrado ser una cadena.

202

Mtodos Numricos
Ing. William Caiza

2. Suma=valor1+valor2, realiza la respetiva suma.


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.
Handles: es el identificador a los datos de la aplicacin
4. Ejecucin del programa.

Figura A8: ejecucin del algoritmo de la suma


Ejemplo 2: Algoritmo de Suma y Promedio.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
n=str2double(inputdlg('cuantos numeros desea ingresar'));
for i=1:n
etiqueta1=['Ingrese dato(' num2str(i) ')'];
datos(i)=str2double(inputdlg(etiqueta1));
end
s=0;
for i=1:n
s=s+datos(i);
end
promedio=s/n;
set(handles.text4,'string',s);
set(handles.text5,'string',promedio);

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

Figura A10: ejecucin de algoritmo suma y promedio

Ejemplo3: Programa Para Sumar o Multiplicar Datos en un listbox


List Box presenta una lista desplegable.
Cdigo
function pushbutton3_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton3 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
dato=get(handles.edit1,'String');
old_dato=get(handles.listbox1,'String');
new_dato=strvcat(old_dato,dato);
set(handles.listbox1,'String',new_dato);
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
acum=0;
x=str2num(get(handles.listbox1,'string'));
for i=1:length(x)
acum=acum+x(i)
end
set(handles.text1,'string',acum);
function pushbutton4_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton4 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
mul=1;
x=str2num(get(handles.listbox1,'string'));
for i=1:length(x)

205

Mtodos Numricos
Ing. William Caiza

mul=mul*x(i)
end
set(handles.text1,'string',mul);
Ejecucin del programa
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.
Ejemplo4: Importacin y exportacin de datos entre Ecxel y Matlab
Con la funcin xlsread Matlab importa automticamente los datos del archivo de Excel y
con xlswrite exportamos los datos hacia Excel.
Cdigo:
% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
Ruta=inputdlg('Ingrese ruta de archivo xlsx(con extensin)');
set(handles.text2,'string',Ruta);
A=cell2mat(Ruta);
B=xlsread(A);
set(handles.uitable1,'data',B);
% --- Executes on button press in pushbutton2.
function pushbutton2_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
B=get(handles.uitable1,'data');
Ruta2=inputdlg('Ingrese ruta de destino (con extensin):');
set(handles.text3,'string',Ruta2);
C=cell2mat(Ruta2);
xlswrite(C,B);

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.

Ejecucin del Programa

208

Mtodos Numricos
Ing. William Caiza

Ejemplo5: Uso de Axes


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

plot(handles.axes1,[min(x) max(x)],[0 0],'r');


plot(handles.axes1,[0 0], [min(y) max(y)], 'r');
xlabel('x')
ylabel('y')

Descripcin
1) Usamos la funcin (char) para convertir la funcin en una cadena de caracteres y
poder evaluarla
2)

Ingresamos los datos para poder evaluar la funcin mediante etiquetas:

3)
4)

Mediante un (for) Definimos el vector para poder realizar las graficas.


Declaramos los valores de la funcin

5)

Mediante la funcin plot dibujamos un vector de valores (y) en ordenadas frente a


otro vector(x) en las abscisas. Ambos vectores tienen el mismo nmero de
elementos.

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

con la funcin lebel podemos poner nombre a los ejes de la grafica

Tambin es posible cambiar el color y la forma de la grafica


Colores: 'r'(rojo), 'b'(azul), 'g'(verde), 'y'(amarillo), 'k'(negro), 'm'(morado), 'w'(blanco),
'c'(celesta),
Tipo de trazo: '-', '-.', '--', ':', '.', 'o', '*', 'x', '+',
Smbolos: 's', 'h', 'p', 'd',

Ejecucin del Programa

211

Mtodos Numricos
Ing. William Caiza

Ejemplo6: Uso del uitable


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;
plot(handles.axes1,[min(x) max(x)],[0 0],'r');

212

Mtodos Numricos
Ing. William Caiza

plot(handles.axes1,[0 0], [min(y) max(y)], 'r');

datos1=[x' y'];
datos2=[xi xf'];

set(handles.uitable1, 'ColumnName', {'x','y'});


set(handles.uitable1,'data', datos1);

set(handles.uitable2, 'RowName', {'X0','Xf'});


set(handles.uitable2,'data',datos2 );
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 :

'ColumnName': La cual nos sirve para nombrar las columnas.

'RowName: La cual usamos para nombrar las filas.


Ejecucin del Programa:

213

Mtodos Numricos
Ing. William Caiza

Ejemplo7: Radio Button


Radio Button representa una opcin
Cdigo
function uipanel2_SelectionChangeFcn(hObject, eventdata, handles)
% hObject handle to the selected object in uipanel2
% eventdata structure with the following fields (see UIBUTTONGROUP)
% EventName: string 'SelectionChanged' (read only)
% OldValue: handle of the previously selected object or empty if none was selected
% NewValue: handle of the currently selected object
% handles structure with handles and user data (see GUIDATA)get
A=get(hObject,'String');
switch A
case '10'
set(handles.text1,'FontSize',10);
case '12'
set(handles.text1,'FontSize',12);
case '14'
set(handles.text1,'FontSize',14);
case '18'
set(handles.text1,'FontSize',18);
end
Ejecucuin del programa

214

Mtodos Numricos
Ing. William Caiza

1. En la primera lnea de codigo recuperamos las propiedades de los objetos.


2. Creamos un men con cuatro casos para determinar el tamao de letra, estos casos
son los que seleccionemos con RadioButton.
3. Dentro de cada caso podemos modificar el tamao del texto que se encuentra
dentro del text1 con FontSize
Ejemplo 8: Uso del elemento Checkbox y Msgbox
El elemento Checkbox funciona para seleccionar algn componente de entre algunas
opciones y el elemento Msgbox funciona como un mensaje de salida para informar de
cualquier evento en el programa.
function checkbox1_Callback(hObject, eventdata, handles)
% hObject handle to checkbox1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
if (get(hObject,'Value') == get(hObject,'Max'))
msgbox('Seleccionado');
else
msgbox('No seleccionado');
end

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.

Ejecucin del Programa

216

Mtodos Numricos
Ing. William Caiza

ANEXO : SISTEMAS DE ECUACIONES NO LINEAL

El mtodo de Newton-Raphson para sistemas de n ecuaciones no lineales


Considrese nuevamente el sistema de n ecuaciones no lineales con n incgnitas
representado por
1 (1 , 2 , . . , ) = 0
, 2 , . . , ) = 0
() = 0 {2 (
1

(1 , 2 , . . , ) = 0
Al igual que se hizo en el caso de una variable, supongamos que en un dominio cerrado D
IRn f (x) es una funcin de clase (C2(D))n. Y supongamos adems que la ecuacin
anterior admite una solucin x en el dominio D. Para cualquier otro vector x(0) D ,
denotando por _x al vector tal que como = 0 + . la expresin del desarrollo en serie
de Taylor nos permitira afirmar, para cada una de las ecuaciones del sistema, que existen
valores _j [0, 1] (j = 1, 2, .., n) tales que:
0 = ( ) = ( (0) + )
1

= ( (0) ) + { ( (0) )} + {} [ ( (0) + )]


2
Donde [2 ()]es la matriz hessiana de la funcin fj(x).
Si conocido x(0) se fuese capaz de determinar x resolviendo el sistema formado para j = 1,
2, .., n, por las ecuaciones:
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
suficientemente cerca de la solucin (es decir si es suficientemente pequeo) los
1

trminos (2 {} [ ( (0) + )]) podrn despreciarse frente a los otros trminos


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:
( (0) ) + [Jf ( (0) )] (0) = 0
Del que se obtiene que:
(0) = [Jf ( (0) )]

( (0) )

Obviamente, al ser diferente el sistema linealizado que el proporcionado por el desarrollo


de Taylor, se tendr que ( (0) ) y por tanto como = 0 + (1) = (0) + (0) .
De una forma intuitiva (que despus deberemos precisar

cundo es correcta) puede

pensarse que aunque (1) sea diferente de ser un vector ms prximo a que (0)
pues lo hemos obtenido aproximando el valor x que nos llevaba de (0) a Con ello el
mtodo de Newton-Raphson propone repetir este proceso de forma recursiva hasta estar lo
suficientemente cercanos a la solucin buscada. Ms concretamente el mtodo de NewtonRaphson consiste en:
Dado un vector (0) , generar la sucesin:

(+1) = () [Jf ( () )]

( () )}

=0

Sobre este mtodo, en primer lugar, puede observarse que si denotamos por:
() = [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,
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

Demostracin. Es un caso particular de los teoremas de convergencia del mtodo de


aproximaciones sucesivas. Del teorema anterior, por analoga a lo realizado en el caso de
una nica ecuacin no lineal, podran derivarse teoremas de convergencia que actuaran
sobre las primeras y segundas derivadas parciales de las componentes de la aplicacin
vectorial g(x). Dejamos al lector el desarrollo de tales teoremas y pasamos a enunciar
algunos otros en los que las hiptesis se realizan directamente sobre la propia funcin
vectorial f (x) y su matriz jacobiana y que pueden ser de ms fcil aplicacin al anlisis de
la convergencia del mtodo. Previamente a la demostracin de dichos teoremas
necesitaremos introducir el siguiente lema:
Lema 3.1. Siendo f : D D una aplicacin de clase (C1(D))n y siendo D un cerrado de
, si existe una constante estrictamente positiva tal que para alguna norma
vectorial y para la norma matricial a ella subordinada se verifique:
Jf () [Jf ()]

x, y D

entonces se verifica tambin que:

() f(y) [Jf ()]( )

x, y D

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

( + ( )) ()
= [Jf ()]( )
0

= lim

De donde:
() (0) = [Jf ()] [Jf ()]( )
[Jf ()] [Jf ()] =
= [Jf ( + ( )))] [Jf ()]
t 2

Esta desigualdad, a su vez, puede utilizarse en el proceso siguiente:


() () Jf () ( ) = (1) (0) (0) =
1

1
()

(0)

( () (0)

Nota 3.8. El que se verifique la hiptesis del lema precedente:


IR+ / J () [Jf ()] 2

x, y D

se expresa diciendo que la matriz Jacobiana es lipschitciana de razn en D para la norma


. .

Con ayuda de este lema puede procederse a presentar y demostrar el siguiente teorema:
Teorema 3.6. Siendo D un cerrado de y siendo f : D D una aplicacin de clase
( ()) para la que, utilizando alguna norma vectorial y para la norma matricial a
ella subordinada, se verifican las dos hiptesis siguientes:

220

Mtodos Numricos
Ing. William Caiza

1) IR+ / J () [Jf ()]

x, y D

2) IR+ / [Jf ()]1

x, y D

entonces para la sucesin (+) = () [ (() )]

(() )}

obtenida a partir
=

de cualquier vector () D se verifica que:

(+) ()

() ()

Demostracin. Se tiene que:

(+) () = [ (() )]

(() ) [ (() )] (() ) (() )

y como de:

(+1) = () [Jf ( () )]

( () )

Se deduce que:
1

( () ) = [Jf ( () )] ( (+1) = () )
Se tiene, utilizando el lema presente, que:

(+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 =

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:
Teorema 3.7. Siendo D un cerrado de y siendo f : D D una aplicacin de clase
( ()) para la que, utilizando alguna norma vectorial y para la norma matricial a
ella subordinada, se verifican las dos hiptesis siguientes:
1) IR+ / () [ ()]

x, y D

2) 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:

donde =

()

(1) 2

< 1.

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
1 = 0

(0 )
( )

222

Mtodos Numricos
Ing. William Caiza

. El mtodo de Newton-Raphson se basa en esta ecuacin y consiste en calcular los


valores de una sucesion de la forma:
+1 =

( )
( )

Otro modo de obtener este metodo consiste en suponer que f : [a, b] R es continua en
[a, b] y tal que f 00(x) no cambia de signo en [a, b] con f (a)f (b) < 0. El proceso para
encontrar un x tal que f (x) = 0 consiste en lo siguiente: 1) Fijamos c = a o b, tal que f (c)f
00(x) > 0, x (a, b). 2) x0 = c. 3) Hallamos la ecuacion de la tangente que pasa por (x0, f
(x0)) y el punto de corte de dicha tangente con el eje X. El proceso se repite hasta
conseguir una sucesion de aproximaciones que converge a la raiz de f (x) = 0.

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)

Por punto fijo


Dada la ecuacin f (x) = x x 4/5 2 = 0
Si tomamos la funcin de iteracin
g(x) = 4/5 + 2
Las iteraciones

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 NewtonRaphson 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,...

J(x(k)) = [

fi(x)
xj

x = (k)

, 1 i, j n, la matriz de Jacobi.

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

F(x) =[

2 x cos( y )
]
2 y sin( x )

y la matriz de Jacobi:
J(x) =[

2 sin( y )
]
cos( x ) 2

Como la aproximacin inicial es (0) = [0,0]T, calculamos:


2
J()(0) = [
1

1
0
] , F(x0 ) = [ ]
0
2

Y por tanto, el sistema lineal a resolver es:


[

2 0
]
1 2

1
()(0) = [ ]
0

Una vez resuelto es (0) = [1/2,1/4]T , por lo que entonces:


1/2
1/2
0
(1) = (0) + (0) = [ ] + [
]=[
]
1/4
1/4
0
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

Derivando la ecuacin obtenemos:


() = 3 2 + sin() = 0

Formula:
(1 )
( 1)
(1 )
1 3 cos[1 ]
1 3 cos[1 ]
= 1
=

+
1
31 2 sin[1 ]
31 2 + sin[1 ]
= 1

Tabla de datos

0
1
2
3

-1
-0.880333
-0.865684
-0.865474

( )
0.459698
0.045351
0.000632
1.289200x107

( )
-3.841471
-3.095909
-3.009766
-3.008539

Donde
() = () =
Remplazamos el 0 = 1, en la ecuacin para obtener el valor de ( )

226

Error [%]
13.59
16.92
0.02

Mtodos Numricos
Ing. William Caiza

(1) = (1)3 cos(1) = 0.459698


() = + () =
Remplazamos el 0 = 1, en la ecuacin derivada para obtener el valor de ( )
(1) = 3(1)2 + sin(1) = 3.841471
Procedemos a remplazar los valores obtenidos en la ecuacin, en la frmula para obtener
el
( )
=
( )
0.459698
= 1
= 0.880333
3.841471
ERROR
| 1 |
=
100%
| |
|0.880333 (1)|
=
100% = 13.59%
|0.880333|
La raz aproximada es:
= 3 = 0.865474

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 [ ])
2
5
= 1
=
1
5( +2 )
2

Tabla de datos

0
1
2
3

1.5
1.177243
1.213457
1.214065

( )
-0.179602
0.026539
0.000431
1.177954x107

Error [%]
27.41
2.98
0.05

()

Remplazamos el valor e 0 = 1.5, en la ecuacin para obtener el valor de ( )


( ) =

(1.5) =

()
1
+ (1.5) = .
2
5

228

Mtodos Numricos
Ing. William Caiza
( )

(1.5)
1
+ e1.5
2
= 1 5
= .
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

Mtodo del Punto Fijo para sistemas de ecuaciones no lineales.


SE FORMA EL SISTEMA DE ECUACIONE.

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

El punto inicial en matriz es:


(0)
0.1
1
P0= (0)
=[
0.1 ]
2
(0) 0.1
[

3 ]

El lmite de P es:
(0)

(0)

(0)

lim() = = (1 , 2 , 3 )

Si y solo si lim = = 1,2, . , .


0

Ecuaciones preparadas para el mtodo del Punto Fijo.


1
(2
6

(0)
1
=
(0)
2
(0)
[ 3 ]

cos(((21) ) ((31) )) + 1 )

2
1
((1) ) + ((1) ) + 1.06 0.1
1
3
9

(1)

[20

((1

(1)

)(2

) + 1 (3 + 10

)) ]

Solucin.
Resolviendo por el mtodo de punto fijo multivariable, con sustituciones simultaneas, primero
se despejaran de las ecuaciones las variables de la siguiente forma:
1
1
g1=x1=3 cos(2 3 ) + 6
1

g2=x2=9 12 + (3 ) + 1.06 0.1


1

g3=x3= 20 1 2

103
60

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
20
1812 + (3 ) + 1.06
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
2
1
2
3
3
181 + (3 ) + 1.06
Luego de probar algunos valores se tomarn como valores iniciales:
1 0 ,2 0 ,3 0 = 0.1,0.1,0.1

230

Mtodos Numricos
Ing. William Caiza

1ra iteracin

2da iteracin
(2)

1
(2)

1
1
(1) (1)
cos(2 3 ) + = 0.499996
3
6

1
(3(1) )2 + (3(1) ) + 1.06 0.1 = 0000028
9
(1) (1)
1
10 3
(1)
3 = 1 2
= 0.524101
20
60
=

(2)

(1) 2

(1) 2

(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
3
1
2
|
|+|
|+|
| = 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
1
2
3
4
5

0.1
0.499983
0.499981
0.500000
0.500000
0.500000

0.1
0.020176
-0.000028
-0.000028
0.000000
0.000000

-0.1
-0.524101
-0.524106
-0.523598
-0.523598
-0.523599

La solucin aproximada del sistema es:


0.5
5 = [
]
0
0.523599

= 0.5
y=0
z = 0.523599
= 7.1107

231

0.745561
0.020204
0.000508
2.8105
7.1107

Mtodos Numricos
Ing. William Caiza

232

Mtodos Numricos
Ing. William Caiza

233

Anda mungkin juga menyukai