Anda di halaman 1dari 110

Herramientas Computacionales de Simulación

Dr. Manuel A. Andrade

Universidad Autónoma de Nuevo León


Facultad de Ingeniería Mecánica y Eléctrica
Doctorado en Ingeniería Eléctrica

Agosto – Diciembre 2010


Parte I

Aplicación de Matrices en Ingeniería


Eléctrica
Sesión 1: Eigenvalores, Parte I
Sesión del día

1. Introducción a Sistemas Lineales


¿Dónde se encuentran los sistemas lineales?
Los sistemas lineales son equivalentes a ecuaciones matriciales

2. Eigenvalores y Eigenvectores
Cálculo de los eigenvalores para (2 × 2) y (3 × 3)
Matrices grandes
Eigenvalores complejos
Introducción a Sistemas Lineales
¿Dónde se encuentran los sistemas lineales?

I Los sistemas de ecuaciones lineales aparecen naturalmente en


muchas áreas de la ingeniería, como el análisis estructural,
dinámica y circuitos eléctricos.
I Actualmente, las computadoras nos permiten resolver de forma
rápida y eficiente sistemas de ecuaciones lineales cada vez más
grandes.
I Esto no sólo ha permitido resolver problemas cada vez más
complejos donde los sistemas lineales naturalmente aparecen,
sino que ha hecho que se empleé la teoría de sistemas lineales
para resolver problemas donde normalmente no aparecen tales
como termodinámica, fluidos, análisis de grandes sistemas de
potencia, fluidos y procesos químicos.
Introducción a Sistemas Lineales
¿Dónde se encuentran los sistemas lineales?

I Se ha vuelto una práctica común en muchas áreas, analizar un


problema transformándolo a un conjunto de ecuaciones lineales
y luego resolver estas ecuaciones numéricamente.
Introducción a Sistemas Lineales
¿Dónde se encuentran los sistemas lineales?

El siguiente conjunto de ecuaciones describen las tensiones y


fuerzas que actúan sobre la estructura:

.5T1 + T2 = R1 = f1
.866T1 = −R2 = −.433f1 − .5f2
−.5T1 + .5T3 + T4 = −f1
.866T1 + .866T3 = 0 (1.1)
−T2 − .5T3 + .5T5 + T6 = 0
.866T3 + .866T5 = f 2
−T4 − .5T5 + .5T7 = 0,

donde Ti representa la tensión en el i-ésimo miembro de la


estructura.
Introducción a Sistemas Lineales
¿Dónde se encuentran los sistemas lineales?

Este sistema podría resolverse a mano, sistemáticamente


eliminando variables y sustituyendo. Sin embargo, sería mejor
resolverlas computacionalmente.

La primera clave para resolver sistemas lineales es saber que son


equivalentes a matrices, que contienen números, no variables.
Introducción a Sistemas Lineales
Los sistemas lineales son equivalentes a ecuaciones matriciales
El sistema de ecuaciones,

x1 − 2x2 + 3x3 = 4
2x1 − 5x2 + 12x3 = 15
2x2 − 10x3 = −10,

es equivalente a la ecuación matricial,


    
1 −2 3 x1 4
2 −5 12  x2  =  15  ,
0 2 −10 x3 −10

que es equivalente a la matriz aumentada,


 
1 −2 3 4
 2 −5 12 15  .
0 2 −10 −10
Introducción a Sistemas Lineales
Los sistemas lineales son equivalentes a ecuaciones matriciales

La matriz aumentada para el sistema de ecuaciones ecuaciones de


la estructura descrita por (1.1) está dada por:
 
.5 1 0 0 0 0 0 f1

 .866 0 0 0 0 0 0 −.433f1 − .5f2 


 −.5 0 .5 1 0 0 0 −f1 

 .866 0 .866 0 0 0 0 0  . (1.2)
 

 0 −1 −.5 0 .5 1 0 0 

 0 0 .866 0 .866 0 0 f2 
0 0 0 −1 −.5 0 .5 0

Nótese que muchas de las entradas son 0. Matrices como esta,


llamada dispersa son muy comunes y existen métodos
especialmente diseñados para manejarlas eficientemente.
Eigenvalores y Eigenvectores

I Suponga que A es una matriz cuadrada de (n × n). Se dice que


un vector diferente de cero v es un eigenvector y que un
escalar λ es un eigenvalor si

Av = λ v (1.3)

I Geométricamente esto significa que Av está en la misma


dirección que v, ya que al multiplicar un vector por un escalar
cambia su magnitud, pero no su dirección.
Eigenvalores y Eigenvectores

Matlab tiene integrada una rutina para el cálculo de eigenvalores y


eigenvectores:
> A = pascal(4)
> [v e] = eig(A)

El resultado es una matriz v que contiene los eigenvectores como


columnas y una matriz diagonal e que contiene los eigenvalores en
la diagonal. Esto puede checarse de la siguiente forma:
> v1 = v(:,1)
> A*v1
> e(1,1)*v1
Eigenvalores y Eigenvectores
Cálculo de los eigenvalores para (2 × 2) y (3 × 3)

Nótese que (1.3) puede reescribirse como:

A v − λ v = 0. (1.4)

Aunque no se puede factorizar v de la parte derecha de la ecuación,


ya que A es matriz y λ un escalar, como I v = v, se puede hacer lo
siguiente:

A v − λ v = A v − λ Iv
= (A − λ I)v (1.5)
=0
Eigenvalores y Eigenvectores
Cálculo de los eigenvalores para (2 × 2) y (3 × 3)

Si v es no cero, entonces por el Teorema 1, la matriz (A − λ I) debe


ser singular. Por el mismo teorema, tenemos:

det (A − λ I) = 0 (1.6)

A esto se le conoce como ecuación característica.


Eigenvalores y Eigenvectores
Cálculo de los eigenvalores para (2 × 2) y (3 × 3)

Teorema 1
Suponga que A es una matriz cuadrada. Los siguientes son todos
equivalentes:
1. La ecuación Ax = b tiene 0 o ∞ soluciones dependiendo de b.
2. det(A) = 0
3. A no tiene inversa.
4. La ecuación Ax = 0 tiene otras soluciones además de x = 0.
5. Las columnas de A son linealmente dependientes como
vectores.
6. Los renglones de A con linealmente dependientes.
Eigenvalores y Eigenvectores
Cálculo de los eigenvalores para (2 × 2) y (3 × 3)

Para una matriz de 2 × 2, (A − λ I) se calcula como en el siguiente


ejemplo:
   
1 4 1 0
(A − λ I) = −λ
3 5 0 1
   
1 4 λ 0
= − (1.7)
3 5 0 λ
 
1−λ 4
= .
3 5−λ

El determinante de (A − λ I) es entonces

det(A − λ I) = (1 − λ )(5 − λ ) − 4 · 3
(1.8)
= −7 − 6λ + λ 2 .
Eigenvalores y Eigenvectores
Cálculo de los eigenvalores para (2 × 2) y (3 × 3)

La ecuación característica det(A − λ I) = 0 es simplemente la


ecuación cuadrática:
λ 2 − 6λ − 7 = 0. (1.9)
Las raíces de esta ecuación son λ1 = 7 y λ2 = −1. Estos son los
eigenvalores de la matriz A.
Eigenvalores y Eigenvectores
Cálculo de los eigenvalores para (2 × 2) y (3 × 3)

Para encontrar los eigenvectores correspondientes regresaremos a la


ecuación (A − λ I)v = 0. Para λ1 = 7, la ecuación para los
eigenvectores (A − λ I)v = 0 es equivalente a la matriz aumentada
 
−6 4 0
. (1.10)
3 −2 0

Nótese que el primer y segundo renglones de esta matriz son


múltiplos uno del otro. Por lo que esta ecuación tiene infinitas
soluciones, i.e. infinito número de eigenvectores.
Eigenvalores y Eigenvectores
Cálculo de los eigenvalores para (2 × 2) y (3 × 3)

Ya que sólo importa la dirección de los eigenvectores, sólo es


necesario encontrar uno de ellos. Ya que el segundo renglón de la
matriz aumentada representa la ecuación

3x − 2y = 0,

tenemos  
2
v1 = .
3
Esto se obtiene al notar que (x, y) = (2, 3) es una solución de
3x − 2y = 0.
Eigenvalores y Eigenvectores
Cálculo de los eigenvalores para (2 × 2) y (3 × 3)

Para λ2 = −1, (A − λ I)v = 0 es equivalente a la matriz aumentada:


 
2 4 0
.
3 6 0

Nuevamente el primer y segundo renglones de esta matriz son


múltiplos uno del otro. Por simplicidad se tiene
 
−2
v2 = .
1

I Para una matriz de (3 × 3) se puede seguir el mismo proceso.


I El det (A − λ I) = 0 debe ser un polinomio cúbico y
esperaríamos que tuviese usualmente 3 raíces, que son los
eigenvalores.
Eigenvalores y Eigenvectores
Cálculo de los eigenvalores para (2 × 2) y (3 × 3)

Para λ2 = −1, (A − λ I)v = 0 es equivalente a la matriz aumentada:


 
2 4 0
.
3 6 0

Nuevamente el primer y segundo renglones de esta matriz son


múltiplos uno del otro. Por simplicidad se tiene
 
−2
v2 = .
1

I Para una matriz de (3 × 3) se puede seguir el mismo proceso.


I El det (A − λ I) = 0 debe ser un polinomio cúbico y
esperaríamos que tuviese usualmente 3 raíces, que son los
eigenvalores.
Eigenvalores y Eigenvectores
Cálculo de los eigenvalores para (2 × 2) y (3 × 3)

Para λ2 = −1, (A − λ I)v = 0 es equivalente a la matriz aumentada:


 
2 4 0
.
3 6 0

Nuevamente el primer y segundo renglones de esta matriz son


múltiplos uno del otro. Por simplicidad se tiene
 
−2
v2 = .
1

I Para una matriz de (3 × 3) se puede seguir el mismo proceso.


I El det (A − λ I) = 0 debe ser un polinomio cúbico y
esperaríamos que tuviese usualmente 3 raíces, que son los
eigenvalores.
Eigenvalores y Eigenvectores
Matrices grandes

1. Para una matriz de n × n este proceso es largo y problemático


para realizarse a mano.
2. Mas aún, este proceso no es recomendado aún para
implementarse en un programa computacional ya que incluye
determinantes y la solución de un polinomio de grado n.
3. Para n ≥ 4 se requieren métodos más ingeniosos.
4. Estos métodos se basan más en el significado geométrico de
los eigenvalores y eigenvectores que en resolver ecuaciones
algebraicas.
Eigenvalores y Eigenvectores
Eigenvalores complejos

Los eigenvalores de algunas matrices son números complejos, aún


cuando la matriz contenga sólo números reales. Cuando esto ocurre,
los eigenvalores complejos aparecerán en pares conjugados, i.e.:

λ1,2 = α ± jβ . (1.11)

Los eigenvectores correspondientes también serán pares conjugados:

w = u ± jv. (1.12)

En aplicaciones, la parte imaginaria del eigenvalor, β , comúnmente


se asocia a la frecuencia de una oscilación. Esto por la fórmula de
Euler
eα+jβ = eα (cos β + j sin β ). (1.13)
Eigenvalores y Eigenvectores
Ejercicios

1. Encuentre, a mano, los eigenvalores y eigenvectores de la


siguiente matriz:  
2 1
A= .
1 2
2. Encuentre, a mano, los eigenvalores y eigenvectores de la
siguiente matriz:  
1 −2
B= .
2 1
3. ¿Puede adivinar cuales son los eigenvalores de la matriz
 
a −b
C= ?
b a
Sesión 2: Eigenvalores, Parte II
Sesión anterior

1. Introducción a Sistemas Lineales


¿Dónde se encuentran los sistemas lineales?
Los sistemas lineales son equivalentes a ecuaciones matriciales

2. Eigenvalores y Eigenvectores
Cálculo de los eigenvalores para (2 × 2) y (3 × 3)
Matrices grandes
Eigenvalores complejos
Sesión 2: Eigenvalores, Parte II
Sesión del día

3. Una Aplicación de Eigenvectores: Modos vibracionales


Ejercicio

4. Métodos Numéricos para Eigenvalores


Método de la potencia
Método de la potencia inversa
Una Aplicación de Eigenvectores: Modos vibracionales

Una aplicación de eigenvalores y eigenvectores se encuentra en el


análisis de problemas de vibración. Un problema no trivial simple es
el movimiento de dos objetos de masas iguales m unidos uno a otro
y fijos a las paredes exteriores por medio de resortes iguales con
constantes de resorte k, como se muestra en la Figura 1.

Figura 1: Sistema de dos masas unidas entre sí y fijas a las paredes por resortes iguales.
Una Aplicación de Eigenvectores: Modos vibracionales

Sea x1 el desplazamiento de la primera masa y x2 el desplazamiento


de la segunda, y notese que el desplazamiento de las paredes es
cero. Cada masa experimenta fuerzas de los resortes adyacentes
proporcionales a la extensión o compresión de los resortes.
Despreciando la fricción, la ley de Newton del movimiento, F = ma,
resulta en
mẍ1 = −k(x1 − 0) + k(x2 − x1 ) = −2kx1 + kx2
. (1.14)
mẍ2 = −k(x2 − x1 ) + k(0 − x2 ) = kx1 − 2kx2
Una Aplicación de Eigenvectores: Modos vibracionales

Dividiendo ambos lados de (1.14) por m se puede escribir este


sistema de ecuaciones en forma matricial:

x- = −Ax, (1.15)

donde  
k k 2 −1
A= mB = m . (1.16)
−1 2
Una Aplicación de Eigenvectores: Modos vibracionales

La solución general, para este tipo de ecuación es:


q  q 
k k
x = c1 v1 sin m λ1 t + φ1 + c2 v2 sin m λ2 t + φ2 , (1.17)

donde λ1,2 son los eigenvalores de B, cuyos eigenvectores asociados


son v1 y v2 . Los eigenvalores y eigenvectores de B se pueden
encontrar usando Matlab:
> B=[2 -1; -1 2]
> [v e] = eig(B)

Esto debe producir una matriz v cuyas columnas son los


eigenvectores de B y una matriz diagonal e cuyas entradas son los
eigenvalores de B.
Una Aplicación de Eigenvectores: Modos vibracionales

I En el primer eigenvector, v1 , las entradas son iguales. Esto


representa un modo de oscilación donde las dos masas se
mueven en sincronía una con la otra.
I El segundo eigenvector, v2 , tiene las mismas entradas pero con
signos opuestos. Esto representa un modo en el que las dos
masas oscilan en anti-sincronía.

I Note que la frecuencia del movimiento anti-síncrono es 3
veces la del movimiento síncrono.
Una Aplicación de Eigenvectores: Modos vibracionales

I En el primer eigenvector, v1 , las entradas son iguales. Esto


representa un modo de oscilación donde las dos masas se
mueven en sincronía una con la otra.
I El segundo eigenvector, v2 , tiene las mismas entradas pero con
signos opuestos. Esto representa un modo en el que las dos
masas oscilan en anti-sincronía.

I Note que la frecuencia del movimiento anti-síncrono es 3
veces la del movimiento síncrono.
Una Aplicación de Eigenvectores: Modos vibracionales

I En el primer eigenvector, v1 , las entradas son iguales. Esto


representa un modo de oscilación donde las dos masas se
mueven en sincronía una con la otra.
I El segundo eigenvector, v2 , tiene las mismas entradas pero con
signos opuestos. Esto representa un modo en el que las dos
masas oscilan en anti-sincronía.

I Note que la frecuencia del movimiento anti-síncrono es 3
veces la del movimiento síncrono.
Una Aplicación de Eigenvectores: Modos vibracionales
La Figura 2 presenta ambos modos de oscilación. En el modo
izquierdo, las masas se mueven juntas. Mientras que en el modo
derecho, se mueven en direcciones opuestas. Nótese que ambos
modos se mueven a diferente velocidad.

Figura 2: Dos modos vibracionales de un sistema oscilatorio simple.


Una Aplicación de Eigenvectores: Modos vibracionales

¿Cuál de los dos modos es el más peligroso para una


estructura o máquina?
Es aquel con la menor frecuencia, ya que es el modo que puede
tener mayor desplazamiento. A este modo se le conoce algunas
veces como el modo fundamental.
Una Aplicación de Eigenvectores: Modos vibracionales

Nótese que si vi es un eigenvector de B entonces:

Av1 = mk Bvi = mk λi vi .

Se puede concluir que A tiene los mismos eigenvectores que B pero


sus eigenvalores se multiplican por el factor k/m. Así, las dos
frecuencias son q q
k 3k
m y m
Una Aplicación de Eigenvectores: Modos vibracionales
Ejercicio

I Repita el análisis para tres masas iguales. La matriz B


correspondiente sería:
 
2 −1 0
−1 2 −1
0 −1 2

Encuentre los eigenvalores y eigenvectores e interprete los tres


diferentes modos a partir de los eigenvectores.
Una Aplicación de Eigenvectores: Modos vibracionales
Tarea

1. Encuentre las frecuencias y modos para un sistema con cuatro


masas iguales y resortes iguales. Interprete los modos.
2. Encuentre las frecuencias y los modos para un sistemas con
masas no idénticas y resortes iguales en los siguientes casos.
¿Cómo afecta esto a los modos?
a) Dos masas con m1 = 1 y m2 = 2.
b) Tres masas con m1 = 1, m2 = 2 y m3 = 3.
Métodos Numéricos para Eigenvalores

I Como se mencionó en las secciones anteriores, los eigenvalores


y eigenvectores para una matriz de n × n donde n ≥ 4 se deben
encontrar numéricamente, en lugar de hacerse manualmente.
I Los métodos numéricos que se emplean en la práctica
dependen del significado geométrico de los eigenvalores y
eigenvectores de (1.3).
I La esencia de todos estos métodos se captura en el método de
la Potencia, que se presenta a continuación.
Métodos Numéricos para Eigenvalores
Método de la potencia

En la ventana de comandos de Matlab introduzca el siguiente


código:
> A = hilb(5)
> x = ones(5,1)
> x = A*x
> el = max(x)
> x = x/el
I Compare el nuevo valor de x con el original.
I Repita las tres últimas líneas.
I Compare el nuevo valor de x con el valor previo y el original.

I Repita los tres últimos comandos una y otra vez hasta que los
valores dejen de cambiar.
Métodos Numéricos para Eigenvalores
Método de la potencia

En la ventana de comandos de Matlab introduzca el siguiente


código:
> A = hilb(5)
> x = ones(5,1)
> x = A*x
> el = max(x)
> x = x/el
I Compare el nuevo valor de x con el original.
I Repita las tres últimas líneas.
I Compare el nuevo valor de x con el valor previo y el original.

I Repita los tres últimos comandos una y otra vez hasta que los
valores dejen de cambiar.
Métodos Numéricos para Eigenvalores
Método de la potencia

En la ventana de comandos de Matlab introduzca el siguiente


código:
> A = hilb(5)
> x = ones(5,1)
> x = A*x
> el = max(x)
> x = x/el
I Compare el nuevo valor de x con el original.
I Repita las tres últimas líneas.
I Compare el nuevo valor de x con el valor previo y el original.

I Repita los tres últimos comandos una y otra vez hasta que los
valores dejen de cambiar.
Métodos Numéricos para Eigenvalores
Método de la potencia

En la ventana de comandos de Matlab introduzca el siguiente


código:
> A = hilb(5)
> x = ones(5,1)
> x = A*x
> el = max(x)
> x = x/el
I Compare el nuevo valor de x con el original.
I Repita las tres últimas líneas.
I Compare el nuevo valor de x con el valor previo y el original.

I Repita los tres últimos comandos una y otra vez hasta que los
valores dejen de cambiar.
Métodos Numéricos para Eigenvalores
Método de la potencia

En la ventana de comandos de Matlab introduzca el siguiente


código:
> A = hilb(5)
> x = ones(5,1)
> x = A*x
> el = max(x)
> x = x/el
I Compare el nuevo valor de x con el original.
I Repita las tres últimas líneas.
I Compare el nuevo valor de x con el valor previo y el original.
Note que el cambio es menor entre los dos segundos.
I Repita los tres últimos comandos una y otra vez hasta que los
valores dejen de cambiar.
Métodos Numéricos para Eigenvalores
Método de la potencia

En la ventana de comandos de Matlab introduzca el siguiente


código:
> A = hilb(5)
> x = ones(5,1)
> x = A*x
> el = max(x)
> x = x/el
I Compare el nuevo valor de x con el original.
I Repita las tres últimas líneas.
I Compare el nuevo valor de x con el valor previo y el original.
Note que el cambio es menor entre los dos segundos.
I Repita los tres últimos comandos una y otra vez hasta que los
valores dejen de cambiar.
Métodos Numéricos para Eigenvalores
Método de la potencia

En la ventana de comandos de Matlab introduzca el siguiente


código:
> A = hilb(5)
> x = ones(5,1)
> x = A*x
> el = max(x)
> x = x/el
I Compare el nuevo valor de x con el original.
I Repita las tres últimas líneas.
I Compare el nuevo valor de x con el valor previo y el original.
Note que el cambio es menor entre los dos segundos.
I Repita los tres últimos comandos una y otra vez hasta que los
valores dejen de cambiar.
Habrá completado el llamado Método de la Potencia.
Métodos Numéricos para Eigenvalores
Método de la potencia

Como ejemplo considérese una matriz de 2 × 2 cuyos eigenvalores


son 2/3 y 2 y cuyos correspondientes eigenvectores son v1 y v2 . Sea
x0 cualquier vector que sea una combinación de v1 y v2 , e.g.,

x0 = v1 + v2

Ahora sea x1 A veces x0 . A partir de (1.3) se tiene que

x1 = Av1 + Av2
(1.18)
= 31 v1 + 2v2 .

Entonces la parte de v1 se estrecha mientras que la de v2 se


agranda.
Métodos Numéricos para Eigenvalores
Método de la potencia

Repitiendo el proceso k veces, entonces:

x1 = Axk−1
= Ak x0 (1.19)
= 31 v1 + 2k v2 .


xk crece en la dirección de v2 y se estrecha en la dirección de v1 .


Este es el principio del Método de la Potencia, los vectores
multiplicados por A se estrechan en la dirección del eigenvector
cuyo eigenvalor tiene el mayor valor absoluto. También llamado
eigenvalor dominante.
Métodos Numéricos para Eigenvalores
Método de la potencia inversa

I En aplicaciones como el análisis vibracional, el modo


(eigenvector) con la menor frecuencia (eigenvalor) es el más
peligroso para la máquina o estructura.
I El Método de la Potencia proporciona el mayor eigenvalor, que
es el de frecuencia menos importante.
I Para obtener el eigenvalor de menor frecuencia se utilizará el
Método de la Potencia Inversa
Los siguientes hechos son el corazón del Método de la Potencia
Inversa:
I Si λ es un eigenvalor de A, entonces 1/λ es un eigenvalor de
A−1 .
I Los eigenvectores de A y A−1 son los mismos.
Métodos Numéricos para Eigenvalores
Método de la potencia inversa

I Si aplicamos el Método de la Potencia a A−1 obtendremos el


eigenvalor de mayor valor absoluto de A−1 , que es exactamente
el recíproco del eigenvalor de menor valor absoluto de A.
I También se obtiene el eigenvector correspondiente, que es un
eigenvector tanto para A como para A−1 .
I Recordemos que en el análisis de modos de vibración, el menor
eigenvalor y su eigenvector corresponde exactamente a la
frecuencia y modo de mayor interés.
Métodos Numéricos para Eigenvalores
Método de la potencia inversa

I Si aplicamos el Método de la Potencia a A−1 obtendremos el


eigenvalor de mayor valor absoluto de A−1 , que es exactamente
el recíproco del eigenvalor de menor valor absoluto de A.
I También se obtiene el eigenvector correspondiente, que es un
eigenvector tanto para A como para A−1 .
I Recordemos que en el análisis de modos de vibración, el menor
eigenvalor y su eigenvector corresponde exactamente a la
frecuencia y modo de mayor interés.
Métodos Numéricos para Eigenvalores
Método de la potencia inversa

I Si aplicamos el Método de la Potencia a A−1 obtendremos el


eigenvalor de mayor valor absoluto de A−1 , que es exactamente
el recíproco del eigenvalor de menor valor absoluto de A.
I También se obtiene el eigenvector correspondiente, que es un
eigenvector tanto para A como para A−1 .
I Recordemos que en el análisis de modos de vibración, el menor
eigenvalor y su eigenvector corresponde exactamente a la
frecuencia y modo de mayor interés.
Métodos Numéricos para Eigenvalores
Tarea

1. Escriba un programa en Matlab que ejecute el método de la


potencia en la matriz de entrada A. Emplee un ciclo while
para hacer que continue hasta que el valor deje de cambiar
(hasta alguna tol). Agregue un contador en el ciclo para
contar el número de iteraciones. Pruebe su programa en
algunas matrices simétricas aleatorias de varios tamaños
(Consejo: use A = rand(n) y luego A = A*A’). ¿Existe
alguna relación entre el tamaño de la matriz y el número de
iteraciones necesarias o entre el tamaño y el eigenvalor?
2. Escriba un programa que implemente el Método de la Potencia
Inversa, empleando el programa desarrollado en el inciso
anterior como subrutina. Realice entonces el análisis descrito
en este inciso.
Entregue su programas impresos y un breve reporte de las pruebas.
Sesión 3: Eigenvalores, Parte III
Sesión anterior

3. Una Aplicación de Eigenvectores: Modos vibracionales


Ejercicio

4. Métodos Numéricos para Eigenvalores


Método de la potencia
Método de la potencia inversa
Sesión 3: Eigenvalores, Parte III
Sesión del día

5. Método QR

Parte 2: Solución de Ecuaciones Lineales y No Lineales

6. Método de Newton

7. Medición del Error


Método QR

I Los métodos de la potencia y de la Potencia Inversa nos


proporcionan sólo un par eigenvalor-eigenvector.
I Aunque ambos métodos se pueden modificar para proporcionar
más eigenvalores y eigenvectores, existe un método mejor para
obtener todos los eigenvalores llamado método QR.
I El método QR es la base de todo el software moderno para
cálculo de eigenvalores, incluyendo Matlab.
Método QR

I Los métodos de la potencia y de la Potencia Inversa nos


proporcionan sólo un par eigenvalor-eigenvector.
I Aunque ambos métodos se pueden modificar para proporcionar
más eigenvalores y eigenvectores, existe un método mejor para
obtener todos los eigenvalores llamado método QR.
I El método QR es la base de todo el software moderno para
cálculo de eigenvalores, incluyendo Matlab.
Método QR

I Los métodos de la potencia y de la Potencia Inversa nos


proporcionan sólo un par eigenvalor-eigenvector.
I Aunque ambos métodos se pueden modificar para proporcionar
más eigenvalores y eigenvectores, existe un método mejor para
obtener todos los eigenvalores llamado método QR.
I El método QR es la base de todo el software moderno para
cálculo de eigenvalores, incluyendo Matlab.
Método QR

I El metodo QR se basa en el hecho de que cualquier matriz


cuadrada tiene una descomposición QR. I. e., para cualquier A
existen matrices Q y R tal que A = QR, donde Q es ortogonal:

Q−1 = Q0

y R es triangular superior.
I El método QR consiste de los siguientes pasos iterativos:
1. Transforme A en una matriz tridiagonal H.
2. Descomponga H en Q y R.
3. Multiplique Q y R en orden inverso para formar una nueva H.
I La diagonal de H convergerá a los eigenvalores.
Método QR

I El metodo QR se basa en el hecho de que cualquier matriz


cuadrada tiene una descomposición QR. I. e., para cualquier A
existen matrices Q y R tal que A = QR, donde Q es ortogonal:

Q−1 = Q0

y R es triangular superior.
I El método QR consiste de los siguientes pasos iterativos:
1. Transforme A en una matriz tridiagonal H.
2. Descomponga H en Q y R.
3. Multiplique Q y R en orden inverso para formar una nueva H.
I La diagonal de H convergerá a los eigenvalores.
Método QR

I El metodo QR se basa en el hecho de que cualquier matriz


cuadrada tiene una descomposición QR. I. e., para cualquier A
existen matrices Q y R tal que A = QR, donde Q es ortogonal:

Q−1 = Q0

y R es triangular superior.
I El método QR consiste de los siguientes pasos iterativos:
1. Transforme A en una matriz tridiagonal H.
2. Descomponga H en Q y R.
3. Multiplique Q y R en orden inverso para formar una nueva H.
I La diagonal de H convergerá a los eigenvalores.
Método QR

I El metodo QR se basa en el hecho de que cualquier matriz


cuadrada tiene una descomposición QR. I. e., para cualquier A
existen matrices Q y R tal que A = QR, donde Q es ortogonal:

Q−1 = Q0

y R es triangular superior.
I El método QR consiste de los siguientes pasos iterativos:
1. Transforme A en una matriz tridiagonal H.
2. Descomponga H en Q y R.
3. Multiplique Q y R en orden inverso para formar una nueva H.
I La diagonal de H convergerá a los eigenvalores.
Método QR

I El metodo QR se basa en el hecho de que cualquier matriz


cuadrada tiene una descomposición QR. I. e., para cualquier A
existen matrices Q y R tal que A = QR, donde Q es ortogonal:

Q−1 = Q0

y R es triangular superior.
I El método QR consiste de los siguientes pasos iterativos:
1. Transforme A en una matriz tridiagonal H.
2. Descomponga H en Q y R.
3. Multiplique Q y R en orden inverso para formar una nueva H.
I La diagonal de H convergerá a los eigenvalores.
Método QR

I El metodo QR se basa en el hecho de que cualquier matriz


cuadrada tiene una descomposición QR. I. e., para cualquier A
existen matrices Q y R tal que A = QR, donde Q es ortogonal:

Q−1 = Q0

y R es triangular superior.
I El método QR consiste de los siguientes pasos iterativos:
1. Transforme A en una matriz tridiagonal H.
2. Descomponga H en Q y R.
3. Multiplique Q y R en orden inverso para formar una nueva H.
I La diagonal de H convergerá a los eigenvalores.
Método QR

I Matlab incluye una descomposición QR incorporada, la cual es


llamada con el comando [Q R] = qr(A).
I El siguiente algoritmo implementa el método QR para la
matriz A:
H = hessiana(A)
E = diagonal(H)
cambio = 1
while cambio > 0 do
E0 = E
[Q R] = qr(H)
H = RQ
E = diagonal(H)
cambio = |E−E0 |
end while
Método QR
Tarea

1. Escriba una función que implemente el método QR, que


incluya un criterio de paro basado en un número máximo de
iteraciones. Utilice esta función, con el número máximo de
iteraciones establecido en 1000, en la matriz A = hilb(n) con
n igual a 10, 50, y 200. Emplee la norma para comparar los
resultados de los eigenvalores obtenidos con la función
incorporada de Matlab eig. Entregue una copia impresa de su
función y un reporte breve del experimento.
Resumen de la Parte 1

1. Introducción a Sistemas Lineales

2. Eigenvalores y Eigenvectores

3. Una Aplicación de Eigenvectores: Modos vibracionales

4. Métodos Numéricos para Eigenvalores

5. Método QR
Parte II

Solución de Ecuaciones Lineales y No


Lineales
Método de Newton

I En las siguientes sesiones nos enfocaremos en la solución de la


ecuación
f (x) = 0. (2.1)
En muchos problemas de optimización, el paso final es resolver
una ecuación de esta forma donde f es la derivada de una
función, F, que se desea maximizar o minimizar.
I Algunos de los métodos existentes para resolver (2.1) son:
método de bisección, método de la secante y método de
Newton. Todos dependen de un punto inicial cercano (en
algún sentido) a la solución real x∗ .
Método de Newton

I La base del método de Newton es la aproximación de una


función por su linealización en un punto, i. e.

f (x) ≈ f (x0 ) + f 0 (x0 )(x − x0 ). (2.2)

I Ya que deseamos encontrar x tal que f (x) = 0, establezcamos


la parte izquierda (f (x)) de esta aproximación igual a 0 y
despejemos x para obtener:

f (x0 )
x ≈ x0 − . (2.3)
f 0 (x0 )
Método de Newton

I Si iniciamos el método con un estimado inicial x0 , que


esperamos esté cercana a x∗ , entonces podemos definir una
secuencia de puntos x0 , x1 , x2 , x3 , . . . a partir de la fórmula:

f (xi )
xi+1 ≈ xi − , (2.4)
f 0 (xi )

que se deriva de (2.4). Si f (x) es bien comportada cerca de x∗


y x0 está lo suficientemente cerca de x∗ , entonces la secuencia
convergerá a x∗ y lo hará rápidamente.
I El método de Newton converge rápidamente si f 0 (x∗ ) es
diferente de cero y finita y x0 está suficientemente cerca de x∗
para que la aproximación lineal (2.2) sea válida.
Método de Newton
Tarea

1. Suponga que una pelota con coeficiente de elasticidad de 0.9


se deja caer desde una altura de 2 metros en una superficie
dura. Escriba un programa que calcule la distancia recorrida
por la pelota después de n rebotes. Incluya muchos
comentarios en el programa. A prueba y error aproxime que tan
grande debe ser n para que la distancia total deje de cambiar.
Entregue el programa y un breve resumen de los resultados.
2. Para f (x) = x3 − 4, realice 3 iteraciones del método de Newton
con punto inicial x0 = 2. (En papel, pero empleando
calculadora.) Calcule la solución (x∗ = 41/3 ) en una calculadora
y encuentre los errores y porcentajes de error de x0 , x1 , x2 y x3 .
Ponga los resultados en una tabla.
Medición del Error

I Si estamos tratando de resolver numéricamente f (x) = 0,


entonces existen algunas formas de medir el error de nuestra
aproximación. La más directa de éstas es:

Error en el paso n = en = xn − x∗

donde xn es la n-ésima aproximación y x∗ es el valor verdadero.


I Sin embargo, normalmente no sabemos el valor de x∗ , o no
estaríamos tratando de aproximarlo.
I Esto hace imposible conocer el error directamente.
Medición del Error

I Si estamos tratando de resolver numéricamente f (x) = 0,


entonces existen algunas formas de medir el error de nuestra
aproximación. La más directa de éstas es:

Error en el paso n = en = xn − x∗

donde xn es la n-ésima aproximación y x∗ es el valor verdadero.


I Sin embargo, normalmente no sabemos el valor de x∗ , o no
estaríamos tratando de aproximarlo.
I Esto hace imposible conocer el error directamente.
Medición del Error

I Si estamos tratando de resolver numéricamente f (x) = 0,


entonces existen algunas formas de medir el error de nuestra
aproximación. La más directa de éstas es:

Error en el paso n = en = xn − x∗

donde xn es la n-ésima aproximación y x∗ es el valor verdadero.


I Sin embargo, normalmente no sabemos el valor de x∗ , o no
estaríamos tratando de aproximarlo.
I Esto hace imposible conocer el error directamente.
Medición del Error

I En lugar de medir que tan cerca está xn de x∗ , es más


conveniente medir que tan cerca está la ecuación de ser
satisfecha, o en otras palabras, que tan cerca f (xn ) está de 0.
I Emplearemos, en muchas situaciones, la cantidad
rn = f (xn ) − 0, llamada el residuo.
I La mayor parte del tiempo, sólo nos interesará el tamaño de
rn , así que emplearemos |rn | = |f (xn )|.
Sesión 4: Solución de Ecuaciones Lineales y No Lineales,
Parte II
Sesión anterior

5. Método QR

6. Método de Newton

7. Medición del Error


Sesión 4: Solución de Ecuaciones Lineales y No Lineales,
Parte II
Sesión del día

8. Método de Bisección

9. Métodos Basados en Aproximaciones por Líneas Secantes


Método de la Secante
Método Regula Falsi
Convergencia
Simulaciones y Experimentos

10. Funciones Vectoriales No Lineales – Método de Newton


Notación vectorial
Aproximación lineal para funciones vectoriales
Método de Newton
Ejercicio
Método de Bisección

Suponga que c = f (a) < 0 y d = f (b) > 0. Si f es continua,


entonces debe ser cero en algún x∗ entre a y b.
I El método de bisección consiste en buscar en la mitad del
trayecto entre a y b el cero de f , i.e. hacer x = (a + b)/2 y
evaluar y = f (x).
I A menos que este punto sea cero, entonces por los signos de c,
d y y podemos decidir que nuevo intervalo subdividir.
I En particular, si c y y tienen el mismo signo, entonces [x, b]
debe ser el nuevo intervalo, pero si c y f tienen diferentes
signos, entonces [a, x] debe ser el nuevo intervalo.
Método de Bisección
Una ventaja del método de bisección, que no la tiene el método de
Newton, es que siempre sabremos que la solución real x∗ se
encuentra dentro del intervalo [a, b], ya que f (a) y f (b) tienen
signos diferentes. Esto permite saber con seguridad que el error es
siempre menos de la mitad que la longitud del intervalo actual
[a, b]. i.e.
{Error Absoluto} = |x − x∗ | < (b − a)/2, (2.5)
donde x es el punto central entre los a y b actuales.

Figura 3: El método de bisección


Método de Bisección
Tarea

I Escriba un programa en Matlab que resuelva con el método de


bisección hasta que el error esté limitado a una tolerancia
dada. Use un ciclo while para hacerlo. ¿Cómo debe medirse
el error? Corra su programa en la función f (x) = 2x3 + 3x − 1
con intervalo inicial [0, 1] y una tolerancia de 10−8 . ¿Cuántos
pasos necesita el programa para alcanzar esta tolerancia?
Entregue el programa y un breve resumen de los resultados.
I Realice 3 iteraciones del método de bisección en la función
x3 − 4, con un intervalo inicial [1, 3]. (En papel, pero
empleando calculadora.) Calcule los errores y porcentaje de
errores de x0 , x1 y x2 .
Métodos Basados en Aproximaciones por Líneas Secantes
Método de la Secante

El método de la secante require dos puntos iniciales x0 y x1 que


estén razonablemente cerca de la solución x∗ . Preferentemente los
signos de y0 = f (x0 ) y y1 = f (x1 ) deben ser diferentes. Una vez que
se determinan x0 y x1 el método procede con la siguiente fórmula:
xi − xi−1
xi+1 = xi − yi (2.6)
yi − yi−1
Métodos Basados en Aproximaciones por Líneas Secantes
Método de la Secante

Ejemplo: Suponga
√ f (x) = x4 − 5 para la cual la solución verdadera
es x∗ = 4 5. La gráfica de la función revelaría que la solución
está alrededor de 1.25. Si hacemos x0 = 1 y x1 = 2 sabemos
que la raíz está entre x0 y x1 . Ahora tenemos que y0 = f (1) − 4
y y1 = f (2) = 11. Podemos calcular x2 de la fórmula (2.6):

2−1 19
x2 = 2 − 11 = ≈ 1.26666 . . . (2.7)
11 − (−4) 15

Empleando x2 = 19/15 en f (x) obtenemos


y2 = f (19/15) ≈ −2.425758 . . .. En el siguiente paso usamos
x1 = 2 y x2 = 19/15 en la fórmula (2.6) para encontrar x3 y
así sucesivamente.
Métodos Basados en Aproximaciones por Líneas Secantes
Método de la Secante
I A continuación se presenta un programa para el método de la
secante. Note que requiere dos condiciones iniciales de entrada
x0 y x1 , pero no requiere como entrada la derivada de f (x).
function x = mysecant(f,x0,x1,n)
format long
format compact
y0 = f(x0);
y1 = f(x1);
for i = 1:n
x = x1 - (x1-x0)*y1/(y1-y0)
y = f(x)
x0 = x1;
y0 = y1;
x1 = x;
y1 = y;
end
Métodos Basados en Aproximaciones por Líneas Secantes
Método Regula Falsi

El método Regula Falsi es una combinación del método de la


secante y del método de bisección.
I La idea es emplear líneas secantes para aproximar f (x), pero
escoger cómo actualizar usando el signo de f (xn ).
I Así como en el método de bisección, empezamos con a y b
para los cuales f (a) y f (b) tienen diferentes signos. Entonces
hacemos:
b−a
x = b− f (b). (2.8)
f (b) − f (a)
I Después checamos el signo de f (x). Si es del mismo signo que
f (a) entonces x se convierte en la nueva a. De otra forma,
tenemos que b = x.
Métodos Basados en Aproximaciones por Líneas Secantes
Convergencia

I Si empezamos con una buena condición inicial x0 , el método de


Newton convergerá a x∗ rápidamente. El método de la secante
es un poco más lento que el mpetodo de Newton y el método
Regula Falsi es ligeramente más lento que este. Ambos son,
sin embargo, mucho más rápidos que el método de bisección.
I Si no tenemos una buena condición o intervalo iniciales, el
método de la secante, así como el método de Newton pueden
fallar. El método Regular Falsi, de la misma forma que el
método de bisección siempre converge ya que mantiene la
solución dentro de un intervalo definido.
Métodos Basados en Aproximaciones por Líneas Secantes
Simulaciones y Experimentos

Aunque el método de Newton converge más rápido que los


métodos restantes, existen contextos en los que no es conveniente o
es imposible emplearlo.
I Una situación obvia es cuando es difícil calcular una fórmula
para f 0 (x) aún cuando se conozca una fórmula para f (x). Esto
sucede a menudo cuando f (x) no está definida explícitamente,
sino implícitamente.
I Existen otras situaciones, que son comunes en las áreas de
ingeniería e investigación, cuando ni siquiera se conoce una
fórmula para f (x).
I Esto sucede cuando f (x) es el resultado de un experimento o
simulación en lugar de una fórmula. En tales situaciones, el
método de la secante es usualmente la mejor opción.
Métodos Basados en Aproximaciones por Líneas Secantes
Simulaciones y Experimentos

Aunque el método de Newton converge más rápido que los


métodos restantes, existen contextos en los que no es conveniente o
es imposible emplearlo.
I Una situación obvia es cuando es difícil calcular una fórmula
para f 0 (x) aún cuando se conozca una fórmula para f (x). Esto
sucede a menudo cuando f (x) no está definida explícitamente,
sino implícitamente.
I Existen otras situaciones, que son comunes en las áreas de
ingeniería e investigación, cuando ni siquiera se conoce una
fórmula para f (x).
I Esto sucede cuando f (x) es el resultado de un experimento o
simulación en lugar de una fórmula. En tales situaciones, el
método de la secante es usualmente la mejor opción.
Métodos Basados en Aproximaciones por Líneas Secantes
Tarea

I Use el programa mysecant en f (x) = x3 − 4. Compare los


resultados con los de la Tarea anterior. Después modifique el
programa para aceptar una tolerancia usando un ciclo
while. Entregue el programa y un breve reporte de los
resultados.
I Escriba un programa myregfalsi basado en su programa para
implementar el método Regula Falsi. Empléelo en
f (x) = x3 − 4. Compare los resultados con los del inciso
anterior y con los de la Tarea anterior.
Funciones Vectoriales No Lineales – Método de Newton

Ejemplo El sistema LORAN (LOng RAnge Navigation) calcula la


posición de un barco en el agua empleando señales de
transmisores fijos. A partir de las diferencias en tiempo de las
señales entrantes, el bote obtiene diferencias de distancias
desde los transmisores. Esto resulta en dos ecuaciones, cada
una representando hipérbolas definidas por las diferencias de
distancia de dos puntos (lugar). Un ejemplo de tales
ecuaciones son:
x2 y2
− =1
1862 3002 − 1862
(2.9)
(y − 500)2 (x − 300)2
− = 1.
2792 5002 − 2792
Funciones Vectoriales No Lineales – Método de Newton

I Resolver dos ecuaciones cuadráticas con dos incógnitas,


requeriría resolver una ecuación polinomial de grado 4. Se
puede hacer esto a mano, pero para que un sistema
navegacional funcione bien, los cálculos se deben hacer
automática y numéricamente. Nótese que el Sistema de
Posicionamiento Global (GPS) funciona bajo principios
similares.
Funciones Vectoriales No Lineales – Método de Newton
Notación vectorial

I Usualmente resolvemos sistemas de ecuaciones en las que el


número de incógnitas es igual al número de ecuaciones. Así,
nos interesa encontrar soluciones a sistemas de la forma:
f1 (x1 , x2 , x3 , . . . , xn ) = 0
f2 (x1 , x2 , x3 , . . . , xn ) = 0
f3 (x1 , x2 , x3 , . . . , xn ) = 0 (2.10)
..
.
fn (x1 , x2 , x3 , . . . , xn ) = 0.
Funciones Vectoriales No Lineales – Método de Newton
Notación vectorial

I Podemos pensar en (x1 , x2 , x3 , . . . , xn ) como un vector x y en


(f1 , f2 , f3 , . . . , fn ) como una función vectorial f. Con esta
notación, podemos reescribir el sistema de ecuaciones (2.10)
como:
f(x) = 0. (2.11)
i.e. queremos encontrar un vector que haga que la función
vectorial sea igual al vector cero.
I Como en el método de Newton para una variable, necesitamos
iniciar con una condición inicial x0 . En teoría, entre más
variables, más difícil encontrar una buena condición inicial. En
la práctica, esto se puede solucionar empleando el
conocimiento físico sobre los posibles valores de la solución.
Una vez escogida x0 , tenemos

∆x = x1 − x0 (2.12)
Funciones Vectoriales No Lineales – Método de Newton
Aproximación lineal para funciones vectoriales
I En el caso de una sola variable, el método de Newton se derivó
considerando la aproximación lineal de la función f alrededor
de la condición inicial x0 . Del Cálculo, la aproximación lineal de
f alrededor de x0 , para vectores y funciones vectoriales, es:
f(x) ≈ f(x0 ) + [J f(x0 )] (x − x0 ). (2.13)
I [J f(x0 )] es una matriz Jacobiana de n × n cuyas entradas son
las derivadas parciales de las componentes de f:
 
∂ f1 ∂ f1 ∂ f1 ∂ f1
· · ·
 ∂ x1 x0 ∂ x2 x0 ∂ x3 x0 ∂ xn x 

0
 
 
 ∂ f2 ∂ f2 ∂ f2 ∂ f2 
[J f(x0 )] =  ∂ x1 x0 ∂ x2 x0 ∂ x3 x0 · · · ∂ xn x0  . (2.14)
 
 . .. .. .. 
 . ..
 . . . . . 

 ∂f ∂ fn ∂ fn
· · · ∂∂xfnn
n 
∂ x1
x0 ∂ x2 x0 ∂ x3 x0 x0
Funciones Vectoriales No Lineales – Método de Newton
Método de Newton

I Deseamos encontrar x que haga que f sea igual al vector cero,


así que debemos escoger x1 tal que

f(x0 ) + [J f(x0 )] (x1 − x0 ) = 0.

I Ya que [J f (x0 )] es una matriz cuadrada, podemos resolver esta


ecuación de la forma

x1 = x0 − [J f(x0 )]−1 f(x0 ),

en el caso de que la inversa exista.


Funciones Vectoriales No Lineales – Método de Newton
Método de Newton

Sin embargo, en la práctica no se emplea la inversa de la matriz, en


su lugar podemos primero resolver la ecuación

[J f(x0 )] ∆x = −f(x0 ). (2.15)

Ya que [J f (x0 )] es una matriz conocida y −f(x0 ) es un vector


conocido, esta ecuación es simplemente un sistema de ecuaciones
lineales, que se puede resolver eficientemente con precisión. Una
vez que el vector solución ∆x es obtenido, podemos obtener nuestro
estimado mejorado x1 :

x1 = x0 + ∆x.

I Resuelva [J f(x0 )] ∆x = −f(x0 ) para ∆x.


I Haga xi+1 = xi + ∆x.
Funciones Vectoriales No Lineales – Método de Newton
Ejercicio

I Resolveremos el siguiente conjunto de ecuaciones:

x3 + y = 1
(2.16)
y3 − x = −1.

I Se puede fácilmente ver que (x, y) = (1, 0) es una solución para


este sistema. Graficando ambas ecuaciones se puede ver que
(1, 0) es la única solución (Figura 4).
Funciones Vectoriales No Lineales – Método de Newton
Ejercicio

Figura 4: Gráfica de las ecuaciones x3 + y = 1 y y3 − x = −1. Existe una y sólo una intersección; en
(x, y) = (1, 0)
Funciones Vectoriales No Lineales – Método de Newton
Ejercicio

I Podemos poner estas ecuaciones en forma vectorial haciendo


x1 = x, x2 = y y

f1 (x1 , x2 ) = x13 + x2 − 1
(2.17)
f2 (x1 , x2 ) = x22 − x1 + 1,

o, equivalentemente
 3 
x1 + x2 − 1
f(x) = 3 . (2.18)
x2 − x1 + 1
Funciones Vectoriales No Lineales – Método de Newton
Ejercicio

I Escriba el siguiente programa script:


format long
f = inline(’[x(1)ˆ3+x(2)-1; x(2)ˆ3-x(1)+1]’);
x = [.5; .5]
x = fsolve(f,x)
I Guarde el programa como mysolve.m y córralo. Puede ver que
el comando interno de Matlab fsolve aproxima la solución,
pero sólo a cerca de 7 decimales. Mientras que esto puede ser
suficientemente aproximado para la mayoría de las
aplicaciones, uno podría esperar una mejor aproximación para
un problema tan simple.
Funciones Vectoriales No Lineales – Método de Newton
Ejercicio

I Ahora implementaremos el método de Newton para este


problema. Modifique su programa mysolve a:
format long
n = 8
f = inline(’[x(1)ˆ3+x(2)-1; x(2)ˆ3-x(1)+1]’);
J = inline(’[3*x(1)ˆ2, 1; -1, 3x(2)ˆ2]’);
x = [.5; .5]
for i = 1:n
Dx = -J(x)\f(x);
x = x + Dx
f(x)
end
I Guarde el programa como mymultnewton y córralo y veremos
que encuentra la raíz exacta (a la precisión de la máquina) en
sólo 6 iteraciones.
Funciones Vectoriales No Lineales – Método de Newton
Ejercicio

I Ahora implementaremos el método de Newton para este


problema. Modifique su programa mysolve a:
format long
n = 8
f = inline(’[x(1)ˆ3+x(2)-1; x(2)ˆ3-x(1)+1]’);
J = inline(’[3*x(1)ˆ2, 1; -1, 3x(2)ˆ2]’);
x = [.5; .5]
for i = 1:n
Dx = -J(x)\f(x);
x = x + Dx
f(x)
end
I Guarde el programa como mymultnewton y córralo y veremos
que encuentra la raíz exacta (a la precisión de la máquina) en
sólo 6 iteraciones.
Funciones Vectoriales No Lineales – Método de Newton
Ejercicio

I Ahora implementaremos el método de Newton para este


problema. Modifique su programa mysolve a:
format long
n = 8
f = inline(’[x(1)ˆ3+x(2)-1; x(2)ˆ3-x(1)+1]’);
J = inline(’[3*x(1)ˆ2, 1; -1, 3x(2)ˆ2]’);
x = [.5; .5]
for i = 1:n
Dx = -J(x)\f(x);
x = x + Dx
f(x)
end
I Guarde el programa como mymultnewton y córralo y veremos
que encuentra la raíz exacta (a la precisión de la máquina) en
sólo 6 iteraciones.
Funciones Vectoriales No Lineales – Método de Newton
Ejercicio

I Ahora implementaremos el método de Newton para este


problema. Modifique su programa mysolve a:
format long
n = 8
f = inline(’[x(1)ˆ3+x(2)-1; x(2)ˆ3-x(1)+1]’);
J = inline(’[3*x(1)ˆ2, 1; -1, 3x(2)ˆ2]’);
x = [.5; .5]
for i = 1:n
Dx = -J(x)\f(x);
x = x + Dx
f(x)
end
I Guarde el programa como mymultnewton y córralo y veremos
que encuentra la raíz exacta (a la precisión de la máquina) en
sólo 6 iteraciones.
Funciones Vectoriales No Lineales – Método de Newton
Ejercicio

I Ahora implementaremos el método de Newton para este


problema. Modifique su programa mysolve a:
format long
n = 8
f = inline(’[x(1)ˆ3+x(2)-1; x(2)ˆ3-x(1)+1]’);
J = inline(’[3*x(1)ˆ2, 1; -1, 3x(2)ˆ2]’);
x = [.5; .5]
for i = 1:n
Dx = -J(x)\f(x);
x = x + Dx
f(x)
end
I Guarde el programa como mymultnewton y córralo y veremos
que encuentra la raíz exacta (a la precisión de la máquina) en
sólo 6 iteraciones.
Funciones Vectoriales No Lineales – Método de Newton
Ejercicio

I Ahora implementaremos el método de Newton para este


problema. Modifique su programa mysolve a:
format long
n = 8
f = inline(’[x(1)ˆ3+x(2)-1; x(2)ˆ3-x(1)+1]’);
J = inline(’[3*x(1)ˆ2, 1; -1, 3x(2)ˆ2]’);
x = [.5; .5]
for i = 1:n
Dx = -J(x)\f(x);
x = x + Dx
f(x)
end
I Guarde el programa como mymultnewton y córralo y veremos
que encuentra la raíz exacta (a la precisión de la máquina) en
sólo 6 iteraciones.
Funciones Vectoriales No Lineales – Método de Newton
Ejercicio

I Ahora implementaremos el método de Newton para este


problema. Modifique su programa mysolve a:
format long
n = 8
f = inline(’[x(1)ˆ3+x(2)-1; x(2)ˆ3-x(1)+1]’);
J = inline(’[3*x(1)ˆ2, 1; -1, 3x(2)ˆ2]’);
x = [.5; .5]
for i = 1:n
Dx = -J(x)\f(x);
x = x + Dx
f(x)
end
I Guarde el programa como mymultnewton y córralo y veremos
que encuentra la raíz exacta (a la precisión de la máquina) en
sólo 6 iteraciones.
Funciones Vectoriales No Lineales – Método de Newton
Ejercicio

I Ahora implementaremos el método de Newton para este


problema. Modifique su programa mysolve a:
format long
n = 8
f = inline(’[x(1)ˆ3+x(2)-1; x(2)ˆ3-x(1)+1]’);
J = inline(’[3*x(1)ˆ2, 1; -1, 3x(2)ˆ2]’);
x = [.5; .5]
for i = 1:n
Dx = -J(x)\f(x);
x = x + Dx
f(x)
end
I Guarde el programa como mymultnewton y córralo y veremos
que encuentra la raíz exacta (a la precisión de la máquina) en
sólo 6 iteraciones.
Funciones Vectoriales No Lineales – Método de Newton
Tarea

Adapte el programa mymultnewton para encontrar una solución al


par de ecuaciones en el ejemplo LORAN. ¡Estas ecuaciones tienen
en realidad 4 diferentes soluciones! Vea cuantas puede encontrar
intentando con diferentes condiciones iniciales. Piense en al menos
una forma en la que el sistema de navegación pueda determinar
cuál es la correcta.
Resumen de la Parte 2

6. Método de Newton

7. Medición del Error

8. Método de Bisección

9. Métodos Basados en Aproximaciones por Líneas Secantes

10. Funciones Vectoriales No Lineales – Método de Newton

Anda mungkin juga menyukai