Top Banner
etodos Num´ ericos Chiluisa Melanie NRC:1662 UNIVERSIDAD DE LAS FUERZAS ARMADAS - ESPE Departamento de Ciencias de la Energ´ ıa y Mec´ anica 1. Introducci´ on Matlab Es una herramienta de software matem´ atico que ofrece un entorno de desarrollo integrado con un len- guaje de programaci´ on propio. Entre sus prestaciones b´ asicas se hallan: la manipulaci´ on de matrices, la representaci´ on de datos y funciones, la implementaci´ on de algoritmos, la creaci´ on de interfaces de usuario y la comunicaci´ on con programas en otros lenguajes y con otros dispositivos hardware. El paquete MATLAB dispone de dos herramientas adicionales que expanden sus prestaciones, a saber, Simulink y GUIDE . Sus principales funciones son: 1.1. Calculadora Funcionara como una calculadora normal: 1+4=5 5 - 2=3 1.2. Ingreso de datos En el ingreso de datos se diferencia si la letra est´ a en may´ usculas o min´ usculas. x 6= X 1.3. Vectores Para el ingreso de vectores existen diferente maneras, las siguientes: 1.3.1. Directamente Se ingresa de la siguiente manera: x = [1 2 5 7 9] 1.3.2. Operador y = 5 : 10 [5 6 7 8 9 10] z = 10 : 5 : 10 con paso de 5 [10 15 20 25 30 35 40 45 50] w = 20 : -2 : 14 con paso de -2 [20 18 16 14] 1.3.3. Funci´ on t = linspace(20, 20, 30) 10,000 10,6207 ... 20 1.4. Matrices Si ingresamos A = [2 3; 4 5] A = 2 3 4 5 Si ingresamos A 1 = ones(3, 2) indicando el n´ umero de filas y columnas Ing. Mecatr´ onica 1 Fecha de entrega: 07/07/2015
47

Cuaderno Metodos numericos

Dec 03, 2015

Download

Documents

MelanieChiluisa

Materia de metodos numericos y programas
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Cuaderno Metodos numericos

Metodos Numericos Chiluisa Melanie NRC:1662

UNIVERSIDAD DE LAS FUERZAS ARMADAS - ESPEDepartamento de Ciencias de la Energıa y Mecanica

1. Introduccion Matlab

Es una herramienta de software matematico que ofrece un entorno de desarrollo integrado con un len-guaje de programacion propio. Entre sus prestaciones basicas se hallan: la manipulacion de matrices, larepresentacion de datos y funciones, la implementacion de algoritmos, la creacion de interfaces de usuario yla comunicacion con programas en otros lenguajes y con otros dispositivos hardware. El paquete MATLABdispone de dos herramientas adicionales que expanden sus prestaciones, a saber, Simulink y GUIDE . Susprincipales funciones son:

1.1. Calculadora

Funcionara como una calculadora normal:

1 + 4 = 55− 2 = 3

1.2. Ingreso de datos

En el ingreso de datos se diferencia si la letra esta en mayusculas o minusculas.

x 6= X

1.3. Vectores

Para el ingreso de vectores existen diferente maneras, las siguientes:

1.3.1. Directamente

Se ingresa de la siguiente manera:

x = [1 2 5 7 9]

1.3.2. Operador

y = 5 : 10 [5 6 7 8 9 10]z = 10 : 5 : 10 con paso de 5 [10 15 20 25 30 35 40 45 50]

w = 20 : −2 : 14 con paso de -2 [20 18 16 14]

1.3.3. Funcion

t = linspace(20, 20, 30) 10,000 10,6207 ... 20

1.4. Matrices

Si ingresamos A = [2 3; 4 5]

A =

[2 34 5

]Si ingresamos A1 = ones(3, 2) indicando el numero de filas y columnas

Ing. Mecatronica 1 Fecha de entrega: 07/07/2015

Page 2: Cuaderno Metodos numericos

Metodos Numericos Chiluisa Melanie NRC:1662

A1 =

1 11 11 1

Si ingresamos A1 = ones(5) crea una matriz de unos

A1 =

1 1 1 1 11 1 1 1 11 1 1 1 11 1 1 1 11 1 1 1 1

Si ingresamos A2 = zeros(3) crea una matriz de ceros

A2 =

0 0 00 0 00 0 0

Si ingresamos A3 = eye(4) crea una matriz identidad

A3 =

1 0 0 00 1 0 00 0 1 00 0 0 1

Si ingresamos A4 = rand(2, 3) realizaremos una matriz con numeros randomicos entre 0 y 1

A4 =

∗ ∗ ∗∗ ∗∗ ∗

Si ingresamos A5 = magic(3) crea una matriz que sumado filas o columnas da un mismo resultado

A5 =

∗ ∗ ∗∗ ∗∗ ∗

1.4.1. Operaciones con matrices

x =[

1 2 3]

y =[

5 9 11]

Para sumar se ingresa x+y :x+ y =

[6 11 14

]Para restar se ingresa x-y :

x+ y =[−4 −7 −8

]Para multipliar se ingresa x.*y y lo realizara elemento por elemento:

x. ∗ y =[

5 18 33]

Si no ingresamos el punto nos saldra un error por numero de filas y columnas.Para divir se ingresa x./y y lo realizara elemento por elemento:

x./y =[

1/5 2/9 3/11]

Para elevar a una potencia x.2 dara:x.2 =

[1 4 9

]Ing. Mecatronica 2 Fecha de entrega: 07/07/2015

Page 3: Cuaderno Metodos numericos

Metodos Numericos Chiluisa Melanie NRC:1662

Para extraer una matriz de otra lo realizaremos de con el siguiente codigo:

matriznueva = matriz(filas, columnas)

Ing. Mecatronica 3 Fecha de entrega: 07/07/2015

Page 4: Cuaderno Metodos numericos

Metodos Numericos Chiluisa Melanie NRC:1662

Ejercicio en Clase

Ing. Mecatronica 4 Fecha de entrega: 07/07/2015

Page 5: Cuaderno Metodos numericos

Metodos Numericos Chiluisa Melanie NRC:1662

1.5. Funciones Handle (eval, feval)

f = @(x)(x.2 + 3)f = @(x, y)(x.2 + y.2)

1.6. Graficar

Ing. Mecatronica 5 Fecha de entrega: 07/07/2015

Page 6: Cuaderno Metodos numericos

Metodos Numericos Chiluisa Melanie NRC:1662

Deber 1Crear una Matriz 9x9 con las siguientes especificaciones: uan matriz de 5x5, una aleatoria de 4x3, una denueves de 5x1, una de 2 de 1x2, una de 7 de 4x3, una aleatorea entre 10 y 20 de 3x3, una matrix identidadde 3x3Codigo:

Ing. Mecatronica 6 Fecha de entrega: 07/07/2015

Page 7: Cuaderno Metodos numericos

Metodos Numericos Chiluisa Melanie NRC:1662

2. LATEX

Latex es un sistema de composicion de textos, orientado a la creacion de documentos escritos que presentenuna alta calidad tipografica. Por sus caracterısticas y posibilidades, es usado de forma especialmente intensaen la generacion de artıculos y libros cientıficos que incluyen, entre otros elementos, expresiones matematicas.

2.1. Definicion

$\documentclass[]{article}$ o report,book,beaner

2.2. Paquetes y definicion generales

\usepackage[spanish]{babel}

\usepackage[utf8]{inputenc}

\usepackage[left=3cm,right=2cm,top=3cm,bottom=2cm]{geometry}

\usepackage{graphicx}

\usepackage{fancyhdr}

Ing. Mecatronica 7 Fecha de entrega: 07/07/2015

Page 8: Cuaderno Metodos numericos

Metodos Numericos Chiluisa Melanie NRC:1662

En los comandos la parte de es obligatoria porque describe el comando a utilizar, mientras que [] sonindicaciones especıficas del comando.

El comando ”babel.es imprescindible si quieres escribir en espanol o cualquier otro idioma que seadistinto de ingles. Este paquete traduce todos los textos estandar al idioma deseado.

El comando ınputenc”permite escribir directamente en la pagina de codigos habitual, convirtiendoseinternamente el texto introducido a texto LaTeX, de acuerdo con las diferentes tablas de equivalenciapara las distintas paginas de codigos y de forma completamente transparente al usuario.

El comando ”geometry”permite modificar el tamano de pagina, margenes, etc.

El comando ”graphicx”permite incluir graficos.

El comando ”fancyhdr”permite ingresar el encabezados, pie de pagina y margenes.

2.3. Documento

Para iniciar a redactar el documento debemos usar:

\begin{document}

....

\end{document}

2.4. Areglos

Se prefiere su uso cuando se trabaja con formula o sımbolos

A =

3 4 sin(x)5 7 ex

x2

4 2 −1

Para crear matrices

\[A=\left(\begin{array}{c c c}

3 & 4 & \sin(x)\\

5 & 7 & e^{x}\\

\frac{x^{2}}{4} & 2 & -1

\end{array}\right)\]

* Para realizar tablas usaremos el comando

\begin{table} [h!] o [H]

...

\end{table}

* Cuando queremos usar los sımbolos de manera textual se antepone para los siguientes:

{} \{

$ \$

% \%

* Cuando solo queremos el sımbolo en un lado:

\[A=\left{ ....

..... \right\]

Ing. Mecatronica 8 Fecha de entrega: 07/07/2015

Page 9: Cuaderno Metodos numericos

Metodos Numericos Chiluisa Melanie NRC:1662

A =

x2 + 1 si x ≥ 1

x2

5 + ln(3) si −5 < x < 1sin(x) si x ≤ −5

* Cuando deseamos consederar un comando como texto usamos el comando:

\begin{verbatim}

\usepackage[spanish]{babel}

\usepackage[utf8]{inputenc}

\end{verbatim

* Para centrar textos usamos

\begin{center}

...

\end{center}

2.5. Graficos

Para incorporar graficas al documento usarenmso el comando:

\usepackage{graphicx} (Paquetes)

\includegraphics[scale=0.5]{Grafico1.jpg}

Cuando queremos identificar los graficos y etiquetarlos y usaremos

\begin{figure}[h!]

\begin{center}

\includegraphics[scale=0.7]{Grafico1.jpg}

\caption{Este es un ejemplo}\label{F1}

\end{center}

\end{figure}

2.6. Bibliografıa

El comando para crear bibliografıas es

\begin{thebibliography}{99}

\bibitem{Apostol} A. Apostol, "Calculo", Springer, Ed. 1 (1980)

\end{thebibliography}

Y se mostrara ası:

Referencias

[1] A. Apostol, Calculo”, Springer, Ed. 1 (1980)

Ing. Mecatronica 9 Fecha de entrega: 07/07/2015

Page 10: Cuaderno Metodos numericos

Metodos Numericos Chiluisa Melanie NRC:1662

Figura 1: Este es un ejemplo

2.7. Contenidos

Se utiliza el comando

\tableofcontents

Deber 2Realizar un paquete con encabezado y pie de pagina

\usepackage{fancyhdr}

\lhead[Metodos Numericos]{Metodos Numericos}

\rhead[NRC:1662]{NRC:1662}

\chead[Chiluisa Melanie]{Chiluisa Melanie}

\lfoot[Ing. Mecatronica]{Ing. Mecatronica}

\rfoot[Fecha de entrega: 21/05/2015]{Fecha de entrega: 21/05/2015}

\renewcommand{\headrulewidth}{1pt}

\renewcommand{\footrulewidth}{1pt}

\pagestyle{fancy}

Ing. Mecatronica 10 Fecha de entrega: 07/07/2015

Page 11: Cuaderno Metodos numericos

Metodos Numericos Chiluisa Melanie NRC:1662

Ejercicio en ClaseObtiene el determinante de 2x2

Obtiene el determinante de una matriz nxn

Deber 3Hacer un programa que grafique las siguentes funciones entre [−8, 5]

f(x) =

x2 + 1 si 5 ≥ x ≤ 1x2

5 + ln(3) si 1 < x > −5sin(x) si −5 ≤ x ≥ −8

Ing. Mecatronica 11 Fecha de entrega: 07/07/2015

Page 12: Cuaderno Metodos numericos

Metodos Numericos Chiluisa Melanie NRC:1662

Deber 4Resolver la inversa de una matriz Ocuparemos el determinante de 2x2 y de nxn

Programa de inversa por el metodo de los cofactores

3. Teorema de Taylor

Supongamos que f ∈ Cn+1[a, b] y sea x0 ∈ [a, b] entonces para cada x ∈ (a.b) existe un numero C = c(x)que esta entre x0 y x y verfique que

f(x) = Pn(x) +R(x)

donde

Pn(x) =

n∑k=0

fkx0

k!(x− x0)k

Rn(x) =f (n+1)(c)

(n+ 1)!(x− x0)n+1

Ejercicio en ClaseObtener la serie de fourier de f(x) = ex para n=5 y x0 = 0f ′(x) = ex

f ′′(x) = ex

f ′′′(x) = ex

Ing. Mecatronica 12 Fecha de entrega: 07/07/2015

Page 13: Cuaderno Metodos numericos

Metodos Numericos Chiluisa Melanie NRC:1662

f (4)(x) = ex

f (5)(x) = ex

Pn(x0) = ex0

0! + ex0

1! (x− x0) + ex0

2! (x− x0)2 + ex0

3! (x− x0)3 + ex0

4! (x− x0)4 + ex0

5! (x− x0)5

Pn(x0) = 1 + x1! + x2

2! + x3

3! + x4

4! + x5

5!

Rn(x0) = ec

6! (x− x0)6 = ecx6

6!

ex = 1 + x+ x2

2 + x3

6 + x4

24 + x5

120 + ecx6

720

Rn(x) = Mf(x)donde M es la cota y f(x) es grado del error

Ejercicio en ClaseObtener la serie de fourier de f(x) = ex

2

para n=3 y x0 = 0

f ′(x) = 2xex2

f ′′(x) = 2ex2

+ 4x2ex2

f ′′′(x) = 12xex2

+ 8x3ex2

ex2

= 1 + 0 + x2 + 0 +Rn(x)Mn(x) ≤Mx4

Deber 6Resolver la serie de Taylor de las funciones: ex y ex

2

La funcion ex

La funcion ex2

Ing. Mecatronica 13 Fecha de entrega: 07/07/2015

Page 14: Cuaderno Metodos numericos

Metodos Numericos Chiluisa Melanie NRC:1662

4. Conceptos basicos

4.1. Limites

Limites en x = xO

lımx→x0f(x) = I

∀ ∈> 0,∃δ > 0 tal que |x− x0| < δ ⇒ |f(x)− I| <∈

4.2. Continuidad en un punto

Existe el valor de la funcion en el punto.

Existe el lımite de la funcion en el punto.

Ambos valores coinciden.

4.3. Teorema de Bolzano

Supongamos que f ∈ C[a, b] y L es cualquier numero entre f(a) y f(b).Entonces existe un numero c ∈ (a, b) tal que f(c) = L.

4.4. Teorema de Weisrstrass

Supongamos que f ∈ C[a, b]. Entonces existen una cota inferior M1, una cota superior M2 y dos numerosx1, x2 ∈ [a, b] tales que

M1 = f(x1) ≤ f(x) ≤ f(x2) = M2

∀x ∈ [a, b]

Generalmente se escribe:

M1 = f(x1) = mına≤x≤b f(x) y M2 = f(x2) = maxa≤x≤b f(x)

4.5. Teorema de Rolle

Supongamos que f ∈ C[a, b] y que f ′(x) existe para todo x ∈ (a, b). Si f(a) = f(b) = 0, entonces existeun numero ∈ C[a, b] tal que f ′(c) = 0.

4.6. Teorema de Lagrange

Supongamos que f ∈ C[a, b] y que f ′(x) existe para todo x ∈ (a, b). Si f(a) = f(b), entonces existe unnumero c ∈ (a, b) tal que

f ′(c) =f(b)− f(a)

b− a

4.7. Teorema de Taylor

Supongamos que f ∈ Cn+1[a, b] y sea x0 ∈ [a, b]. Entonces, para cada f ∈ C[a, b], existe un numeroc = c(x) que esta entre x0 y x y verifica que

f(x) = Pn(x) +Rn(x)

donde

Pn(x) =

n∑k=0

f (n)(x0)

k!(x− x0)k y Rn(x) =

f (n+1)(c)

(n+ 1)!(x− x0)(n+1)

Ing. Mecatronica 14 Fecha de entrega: 07/07/2015

Page 15: Cuaderno Metodos numericos

Metodos Numericos Chiluisa Melanie NRC:1662

4.8. Polinomio de Taylor

El polinomio de Taylor, alrededor de un punto x0, se define como

pn(x) = f(x0) + f ′(x0)(x− x0) +1

2f ′′(x0)(x− x0)2 + ...+

1

n!f (n)(x0)(x− x0)n = Pn(x)

5. Analisis de error

Supongamos que p es una aproximacion de p

5.1. Error absoluto

El error absoluto de la aproximacion es:

Ep = |p− p|

5.2. Error relativo

El error relativo de la aproximacion es:

Rp =|p− p||p|

, p 6= 0

Sea x el valor resultante de un procedimiento matematico y x su aproximacion. La diferencia entre x y x seexplica basicamente por dos razones:

5.3. Error de redondeo

Es el que se produce debido a que la representacion de los numeros reales en un computador esta limitadapor el numero de cifras significativas de la mantisa.

5.4. Error de truncamiento

Es el que se produce cuando se aplica un procedimiento matematico aproximado para determinar un valorexacto.

5.5. Orden de aproximacion O(hn)

DefinicionSi una funcion p(n) aproxima a otra funcion f(h) tal que

f(h) = p(h) +O(hn)

Entonces, existe una constante real M > 0 y un numero n ∈ ℵ tal que

|f(h)− p(h)|hn

≤M o |f(h)− p(h)| ≤M |hn||f(h)− p(h)| ≤ O(h)

PropiedadesO(hp) +O(hp) = O(hp)O(hp) +O(hq) = O(hr) siendo r = mın(p, q)O(hp)O(hq) = O(hs) siendo s = p+ q

Ejercicio en claseConsideramos los desarrollos de Taylor

eh = 1 + h+h2

2!+h3

3!+O(h4) y cos(h) = 1− h2

2!+h4

4!+O(h6)

Ing. Mecatronica 15 Fecha de entrega: 07/07/2015

Page 16: Cuaderno Metodos numericos

Metodos Numericos Chiluisa Melanie NRC:1662

El orden de aproximacion para eh + cos(h) es:

eh + cos(h) = 1 + h+h2

2!+h3

3!+O(h4) + 1− h2

2!+h4

4!+O(h6)

= 2 + h+h3

3!+O(h4) +

h4

4!+O(h6)

Luego, puesto que O(h4) = O(h4) +h4

4!y que O(h4) = O(h4) +O(h6)

eh + cos(h) = 2 + h+h3

3!+O(h4)

Esto indica que el orden de aproximacion para la suma de eh + cos(h) es O(h4)

6. Propagacion del error

Consideremos dos numeros p y q, que han sido aproximados por p y q, con errores ∈p y ∈q, respectivamente,de tal forma que

p = p+ ∈p y q = q+ ∈q

6.1. Suma

p+ q = (p+ ∈p) + (q+ ∈q)= (p+ q) + (∈p + ∈q)

El error en una suma es la suma de los errores de los sumandos

6.2. Multiplicacion

pq = (p+ ∈p)(q+ ∈q)= pq + p ∈q +q ∈p + ∈p∈qpq − pq = p ∈q +q ∈p + ∈p∈q

pq − pqpq

=p ∈q +q ∈p + ∈p∈q

pq, p 6= 0, q 6= 0

=p ∈qpq

+q ∈ppq

+∈p∈qpq

=∈qq

+∈pp

+ 0, sip

p≈ 1,

q

q≈ 1,

∈p∈qpq

≈ 0

Rpq = Rp +Rq

El error relativo del producto es la suma de los errores relativos

7. Metodos

7.1. Metodo de la Biseccion

El metodo de la biseccion consiste en ir acerando sistematicamente los extremos del intervalo hasta queobtengamos un intervalo de anchura suficientemente pequena en el que se localiza un cero.Para desarrollar el metodo de la biseccion, se consideran las siguientes hipotesis:Hipotesis:

f(x) contınua en [a,b].

f(a) y f(b) tienen signos opuestos (f(a) ∗ f(b) ≤ 0).

Ing. Mecatronica 16 Fecha de entrega: 07/07/2015

Page 17: Cuaderno Metodos numericos

Metodos Numericos Chiluisa Melanie NRC:1662

El error de tolerancia es mayor que cero tol > 0.

El teorema del valor medio, con las hipotesis establecidas, nos asegura laexistencia de al menos una raız en[a,b].

7.1.1. Ejemplo de programa del Metodo de la Biseccion

7.2. Metodo de Newton-Rhapson

Para desarrollar el metodo de la Newton-Rhapson, consideraremos las siguientes hipotesis: Hipotesis:

fε C2[a, b].

Existe un numero xε[a, b] tal que f(x) = 0.

f ′(x)neq0

El error de tolerancia es mayor que cero tol > 0.

El teorema del Newton-Rhapson, con las hipotesis establecidas, nosasegura que existe una sucecion{xn}∞n=0

que converge a xε[a, b], cualquiera que sea su aproximacion inicial x0ε[x−δ, p+δ], δ > 0; utilizando el siguienteproceso iterativo.

xn+1 = xn −f(xn)

f ′(xn)n = 0, 1, 2, ...

Deduccion: Una primera aproximacion al metodo es partir del metodo de la falsa posicion,y en vez detrazar una cuerda entre los dos extremos del intervalo, trazamos una tangente.Supongamos que para el mismointervalo [a;b ]trazamos la tangente que pasa por f(b). En consecuencia, tendremos que

t(x) = f ′(b)(x− b) + f(b)

. Cuando sea f(x) = 0 tambien se cumplira que t(x) = 0. Entonces hallemos x1 tal que y(x1) = 0para iraproximando nuestra raız. Ası obtenemos:

t(x1) = 0 = f ′(b)(x1 − b) + f(b)

Ing. Mecatronica 17 Fecha de entrega: 07/07/2015

Page 18: Cuaderno Metodos numericos

Metodos Numericos Chiluisa Melanie NRC:1662

x1 = b− f(b)

f ′(b)

Si generalizamos, tendremos que

xn+1 = xn −f(xn)

f ′(xn)

Otra forma de deducirlo es a traves de serie de Taylor.

f(x) = f(x0) + f ′(x0)(x− x0) +O(h2)

f(x) = f(x0) + f ′(x0)(x− x0)

si f(x) = 0 entonces:0 = f(x0) + f ′(x0)(x− x0)

despejando:

x1 = x0 −f(x0)

f ′(x0)

generalizando:

xn+1 = xn −f(xn)

f ′(xn)

7.2.1. Ejemplo de programa del Metodo de Newton-Rhapson

7.3. Metodo de la Secante

Para desarrollar el metodo de la secante, consideraremos las siguientes hipotesis:Hipotesis:

f(x) contınua en [a,b].

f(a) y f(b) tienen signos opuestos (f(a) ∗ f(b) ≤ 0).

El error de tolerancia es mayor que cero tol > 0.

Con las hipotesis establecidas, de manera similar al metodo deNewton-Rhapson, podemos decir que existe unasucecion {xn}∞n=0 que converge a xε[a, b], considerando dos puntos iniciales x0ε[x−δ, p+δ] y x1ε[x−δ, p+δ], δ >0, cercanos a la raiz (x, 0); utilizando el siguiente proceso iterativo.

xn+1 = xn −(xn − xn−1)f(xn)

f(xn)− f(xn−1), n = 0, 1, 2, ...

Ing. Mecatronica 18 Fecha de entrega: 07/07/2015

Page 19: Cuaderno Metodos numericos

Metodos Numericos Chiluisa Melanie NRC:1662

7.3.1. Ejemplo de programa del Metodo de la Secante

DeberMultiplicar las siguientes funciones

f(h) = sen(h) h0 = 0

sen(h) = h− h3

3! + h5

5! −h7

7! + h9

9! +O(h10)f(h) = eh h0 = 0

eh = 1 + h+ h2

2 + h3

6 + h4

24 +O(h5)f(h) = ln(h) h0 = 1

ln(h) = h− 1− (h−1)22 + (h−1)3

3 − (h−1)44 + (h−1)5

5 +O(h6)

Multiplicacion entre eh y sen(h)

eh ∗ sen(h) = (1 + h+ h2

2 + h3

6 + h4

24 +O(h5))(h− h3

3! + h5

5! −h7

7! + h9

9! +O(h10))

= h+ h2 + h3

3 −h5

30 −7h6

360 −h7

336 + h8

840 + 13h9

51840 −11h10362880 −

h11145152 + h12

2177280 + h138709120 +O(h10) +O(h5) +O(h15)

= h+ h2 + h3

3 +O(h5)

Multiplicacion entre eh y ln(h)eh ∗ sen(h) =

= (1 + h+ h2

2 + h3

6 + h4

24 +O(h5))(h− 1− (h−1)22 + (h−1)3

3 − (h−1)44 + (h−1)5

5 +O(h6))

= − 13760 + 163h

60 −137h2

120 + 163h3

360 −463h4

1440 −h5

120 −7h6

90 + 11h7

360 + 9h8

32 + h9

120 +O(h5) +O(h6)

= − 13760 + 163h

60 −137h2

120 + 163h3

360 −463h4

1440 +O(h5)

Multiplicacion entre ln(h)ysen(h)ln(h)sen(h) =

= (h− 1− (h−1)22 + (h−1)3

3 − (h−1)44 + (h−1)5

5 +O(h6))(h− h3

3! + h5

5! −h7

7! + h9

9! +O(h10))

= − 137h60 + 5h2 − 1663h3

360 + 5h4

2 −3137h5

7200 −113h6

360 + 0,167119h7 − 11h8

1680 − 9,43x10−3h9 + 1,02x10−3h10 + 17h11

7257 −3,05x10−5h12 − h13

290304 + h14

1814400 +O(h6) +O(h10) +O(h16)

= − 137h60 + 5h2 − 1663h3

360 + 5h4

2 −3137h5

7200 +O(h6)

Division entre ln(h) y eh

Division entre sen(h) y eh

Division entre sen(h) y ln(h)

Ing. Mecatronica 19 Fecha de entrega: 07/07/2015

Page 20: Cuaderno Metodos numericos

Metodos Numericos Chiluisa Melanie NRC:1662

h5

5! −5h4

4 + 10h3

3 − 5h2 + 5h− 13760 +O(h6) 1 + h+ h2

2 + h3

6 + h4

24 +O(h5)

-h5

5! −4h4

5 −12h3

5 − 24h2

5 − 24h5 +O(h5) 24h

5 −98420

− 41h4

20 + 14h3

15 −49h2

5 + h5 −

13760 +O(h5)

41h4

20 + 14h3

15 −49h2

5 + h5 −

13760 +O(h5)

137h3

15 + 74h2

5 + 2475 + 323

12 +O(h5)

h9

362880 −h7

5040 + h5

120 −h3

6 + h+O(h10) 1 + h+ h2

2 + h3

6 + h4

24 +O(h5)

{− h9

362880 −h8

90720 −h7

30240 −h6

15120 −h5

15120 +O(h5) h5

15120 −h4

3780 + 120h3

18144 −47h2

1890 −2979h6250 + 6414

3125

− h8

90720 + h7

4320 −h6

15120 + 251h5

30240 −h3

6 + h+O(h5)5h7

18144 + h6

15120 + 37h5

4320 + h4

3780 + h3

6 +O(h5)−5h7

18144 −20h6

1844 −60h5

1844 −120h3

18144 +O(h5)−47h6

45360 − 0,024h5 − 2h4

315 + 121h3

756 + h+O(h5)47h6

45360 + 47h5

11340 + 47h4

3780 + 47h3

1890 + 47h2

1890 + h+O(h5)

0,01986h5 + 993h4

12500 + 2979h3

12500 + 2979h2

6250 + 2979h6250 +O(h5)

0,08552h4 + 0,42324h3 + 0,050151h2 + 1,4766h+O(h5)

−0,08552h4 − 1069h3

3125 −3207h2

3125 −6414h3125 −

64143125 +O(h5)

0,08116h3 − 0,52474h2 − 0,57588h− 64143125 +O(h5)

8. Complemento de Algebra

8.1. Matrices

Denotaremos Mm×n(R) , el espacio vectorial de las matrices m × n (m-filas, n-columnas) de coeficientesen el cuerpo K con K = R o C,aunque casi siempre los coeficientes seran reales. Denotaremos por A = (aij)una matriz matrices.

8.1.1. Tipos de Matrices

M. Transpuesta AT si AT = (aji)

M. Conjugada A∗ si A∗ = (aij)

M. Adjunta A+ si A+ = (A∗)T = (aji)

M. Hermetica si A = A+

M. Simetrica si A = AT

M. Regular si An×n tiene A−1n×n por lo tanto |A| 6= 0

M. Singular si An×n no tiene A−1n×n

M. Idempotente si A2 = A

M. Involutiva si A2 = I

M. Antisimetrica o Hemisimetrica si A = −AT

M. Ortogonal si AA+ = I y AT = A+

M. Unitaria si A−1 = A+

M. Normal si A+A = AA+

Ing. Mecatronica 20 Fecha de entrega: 07/07/2015

Page 21: Cuaderno Metodos numericos

Metodos Numericos Chiluisa Melanie NRC:1662

h9

362880 −h7

5040 + h5

120 −h3

6 + h+O(h10) h5

5! −5h4

4 + 10h3

3

− h9

362880 −5h8

290804 −5h7

108864 + 5h6

72576 −5h5

72576 + 3,1461x10−5h4 +O(h6) −5h2 + 5h− 13760 +O(h6)

5h8

290304 −19h7

77760 + 5h6

72576 + 8,2644x10−3h5 + 3,1961x10−5h4 − h3

6 + h+O(h6) h4

72576 + 25h3

290304 + 5,38105h2

− 5h8

290304 + 1,07645h7 − 125h6

435456 + 125h5

290304 −125h4

290304 + 1,96634h3 +O(h6) +33,6305h+ 120,55

1,07621h7 − 95h6

435456 + 8,6949x10−3h5 − 3,9912x10−4h4 + 1,79963h3 + h+O(h6)−1,07621h7 + 6,7263125h6 − 17,9368h5 + 26,90525h4 − 26,90525h3 + 12,2867h2 +O(h6)6,7261h6 − 17,9281h5 + 26,9049h4 − 25,1056h3 + 12,2867h2 + h+O(h6)−6,7261h6 + 42,0381h5 − 112,1017h4 + 168,1525h3 − 168,1525h2 + 76,7896h+O(h6)24,11h5 − 85,1698h4 + 143,0969h3 − 155,8658h2 + 76,7896h+O(h6)−24,11h5 + 150,6875h4 − 401,83h3 + 602,75h2 − 602,75h+ 275,2558 +O(h6)65,4907h4 − 258,7831h3 + 446,8842h2 − 524,961h+ 275,2558 +O(h6)

8.1.2. Rango de una Matriz

El rango de una matriz es el numero de filas o columnas que son linealmente independientes. Se denotapor:

rang(A) o r(A)

* Linealmente Dependiente (ld): se dice que una matriz es ld si sus filas son combinaciones linealesde otras.

* Linealmente Independiente (li): se dice que una matriz es li si sus filas no son combinacioneslineales de otras.

8.1.3. Diagonalidad

• Diagonal dominante: La matriz A es de diagonal dominante si:

|aii| ≥j=n∑

j=1,j 6=i

|aij | i = 1, 2, ..., n

• Diagonal estrictamente dominante: La matriz A es de diagonal estrictamente dominante si:

|aii| >j=n∑

j=1,j 6=i

|aij | i = 1, 2, ..., n

Si A es diagonal estrictamente dominante entonces es una matriz regular.

8.2. Valores y vectores propios

8.2.1. Valores Propios

Se denominan valores propios o raıces caracterısticas de una matriz cuadrada A, a los valores de λ talesque:

|A− λI| = 0

Desarrollando el determinante tenemos un polinomio de grado n en λ. Trataremos de encontrar los coeficientesdel polinomio y luego, aplicaremos un metodo de hallar las raıces del polinomio.

Ing. Mecatronica 21 Fecha de entrega: 07/07/2015

Page 22: Cuaderno Metodos numericos

Metodos Numericos Chiluisa Melanie NRC:1662

8.2.2. Vectores Propios

Una vez hallados los valores propios, para hallar el vector propio X correspondiente al valor propio λ esnecesario resolver el sistema homogeneo:

(A− λI)X = 0

donde el vector X es X = x1, x2, ...xnSiempre podemos tomar x1 como 1, y hallar las otras n-1 incognitas. De las n ecuaciones podemos tomarn-1, y resolver el sistema lineal.

8.3. Semejanzas de matrices

Dos matrices A y B (Mn×n) son semejantes si existe matriz regular P tal que:

B = PAP−1

Programas Triangular superior y triangular inferiorPara la trangular superior

function [ts]=tsup(A);

[m n]=size(A);

for N=1:(n-1)

for M=N+1:m

while A(N,N)==0

B=A(N,:);

[f,c]=max(abs(A));

A(N,:)=A(c(1),:);

A(c(1),:)=B;

end

A(M,:)=A(M,:)-(A(M,N)*A(N,:))/A(N,N);

end

end

ts=A;

Para la triangular inferior

function[ti]=tinf(A)

[m,n]=size(A);

for N=n:-1:2

for M=N-1:-1:1

A(M,:)=A(M,:)-[A(M,N)/A(N,N)]*A(N,:);

end

end

ti=A;

Ing. Mecatronica 22 Fecha de entrega: 07/07/2015

Page 23: Cuaderno Metodos numericos

Metodos Numericos Chiluisa Melanie NRC:1662

9. Sistemas Lineales

En la etapa final de la resolucion numerica del modelo matematico de un problema fısico, una vez ter-minado el proceso de discretizacion en el que se sustituye el modelo continuo por una version en dimensionfinita, se tiene que resolver un sistema de ecuaciones que en la mayorıa de los casos son lineales.Dentro de las tecnicas para resolver sistemas lineales, se distinguen dos grandes familias de metodos, losmetodos directos y los metodos iterativos, basados en dos filosofıas diferentes de abordar el problema. Enlos metodos directos se obtiene la solucion mediante un numero finito de operaciones y esta solucion serıaexacta si las operaciones pudieran efectuarse con aritmetica infinita. En los metodos iterativos se construyemediante una relacion de recurrencia una sucesion infinita, que a partir de una estimacion inicial y bajociertas condiciones converge a la solucion buscada.

9.1. Gauss

Consiste en utilizar transformaciones elementales de fila y/o columna para eliminar sucesivamente lasvariables empezando por la primera ecuacion y la primera variable y continuando con el resto. De estamanera, tras (n − 1) eliminaciones se llega a un sistema equivalente al dado, de matriz triangular superiorque se resuelve directamente por sustitucion hacia atras.

A =

1 2 3 62 3 4 9−1 0 −1 −2

Ing. Mecatronica 23 Fecha de entrega: 07/07/2015

Page 24: Cuaderno Metodos numericos

Metodos Numericos Chiluisa Melanie NRC:1662

haciendo transformaciones elementales utilizando la primera fila, hacemos cero todos los elementos de laprimera columna excepto el diagonal.

A =

1 2 3 60 −1 −2 −30 2 2 4

Fijandonos en el elemento diagonal de la segunda fila, hacemos cero todos los elementos de la segunda columnapor debajo del diagonal.

A =

1 2 3 60 −1 −2 −30 0 −2 −2

Con esto tenemos ya el sistema triangular superior equivalente que resolvemos por sustitucion hacia atrascomenzando por la ultima ecuacion y acabando en la primera.

−2x3 = −2 ⇒ x3 = 1−x2 −2x3 = −3 ⇒ x2 = 1

x1 +2x2 +3x3 = 6 ⇒ x1 = 1

Programa de Gauss

function[x]=gauss(A,b)

Mg=[A b];

[m,n]=size(Mg);

for N=1:n-2

for M=N+1:m

Mg(M,:)=Mg(M,:)-(Mg(M,N)*Mg(N,:))/Mg(N,N);

end

end

mad=Mg;

[m,n]=size(mad);

x(m)=mad(m,n)/mad(m,n-1);

for M=m-1:-1:1

x(M)=(mad(M,n)-mad(M,M+1:m)*x(M+1:m)’)/mad(M,M);

end

Ing. Mecatronica 24 Fecha de entrega: 07/07/2015

Page 25: Cuaderno Metodos numericos

Metodos Numericos Chiluisa Melanie NRC:1662

9.2. Gauss Jordan

Como hemos visto, el metodo de Gauss transforma la matriz de coeficientes en una matriz triangularsuperior. El metodo de Gauss-Jordan continua el proceso de transformacion hasta obtener una matriz diagonalunitaria (aij = 0 para cualquier i 6= j).Continuando con el ejemplo de Gauss

A =

1 2 3 60 −1 −2 −30 0 −2 −2

haciendo transformaciones elementales utilizando la tercera fila, hacemos cero todos los elementos de latercera columna excepto el diagonal.

A =

1 2 0 60 −1 0 −10 0 −2 −2

Fijandonos en el elemento diagonal de la segunda fila, hacemos cero todos los elementos de la segunda columnapor arriba de la diagonal.

A =

1 0 0 10 −1 0 −10 0 −2 −2

Con ello obtemos un sistema de ecuaciones directo en la diagonal

x1 = 1 ⇒ x1 = 1−x2 = −1 ⇒ x2 = 1−2x3 = −2 ⇒ x3 = 1

Programa

function[Sol]=gj(B,C)

A=[B C];

[m,n]=size(A);

for j=1:n-2

for i=j+1:m

A(i,:)=A(i,:)-[A(i,j)/A(j,j)]*A(j,:);

end

end

Ms=A;

for j=n-1:-1:2

for i=j-1:-1:1

Ms(i,:)=Ms(i,:)-[Ms(i,j)/Ms(j,j)]*Ms(j,:);

end

end

Mi=Ms;

for i=1:m

Mi(i,:)=Mi(i,:)/Mi(i,i);

end

MI=Mi;

S=MI(:,n);

Sol=S’

Ing. Mecatronica 25 Fecha de entrega: 07/07/2015

Page 26: Cuaderno Metodos numericos

Metodos Numericos Chiluisa Melanie NRC:1662

9.3. LU

Esta variante del metodo de Gauss consiste en factorizar la matriz A del sistema lineal Ax=b comoproducto de una triangular inferior L, cuyos elementos enla diagonal principal son todos iguales a 1; y otramatriz U triangular superior, cuyos elementos de la diagonal son distintos de cero. Una vez obtenida ladescomposicion se resuelve el sistema lineal

(LU)x)=L(Ux)=b A=LU

a11 a12 a13 a14a21 a22 a23 a24a31 a32 a33 a34a41 a42 a43 a44

=

1 0 0 0m21 1 0 0m31 m32 1 0m41 m42 m43 1

u11 u12 u13 u140 u22 u23 u240 0 u33 u340 0 0 u44

resolviendo sucesivamente los dos sistemas lineales triangulares

Ly = b Ux = y

Ejercicio en ClaseResolver LU, el sistema Ly=Pb y Ux=y para Ax=b si:

A =

2 4 −61 5 31 3 2

b =

−4105

Ing. Mecatronica 26 Fecha de entrega: 07/07/2015

Page 27: Cuaderno Metodos numericos

Metodos Numericos Chiluisa Melanie NRC:1662

Obtendremos las matrices L y U 2 4 −61 5 31 3 2

f2 − 1/2f1 ⇒f3 − 1/2f1 ⇒

2 4 −60 3 60 1 5

f3 − 1/3f2 ⇒

2 4 −60 3 60 0 3

Tenemos que:

U =

2 4 −60 3 60 0 3

L =

1 0 01/2 1 01/2 1/3 1

A = LU =

2 4 −61 5 31 3 2

Para Ly=Pb 1 0 0

1/2 1 01/2 1/3 1

y =

1 0 00 1 00 0 1

−4105

1 0 0

1/2 1 01/2 1/3 1

y1y2y3

=

−4105

y1 = −4y2 = 12y3 = 3

Para Ux=y 2 4 −60 3 60 0 3

x1x2x3

=

−4123

−3

21

Programa LU

function [L U]=LU(A);

[m,n]=size(A);

% Pivoteo de la matriz U y creacion de L

L=eye(n);

for N=1:(n-1)

for M=N+1:m

%while A(N,N)==0

% B=A(N,:);

% D=L(N,:);

% [f,c]=max(abs(A));

% A(N,:)=A(c(1),:);

% A(c(1),:)=B;

% L(N,:)=L(c(1),:);

% L(c(1),:)=D;

%end

L(M,N)=A(M,N)/A(N,N);

Ing. Mecatronica 27 Fecha de entrega: 07/07/2015

Page 28: Cuaderno Metodos numericos

Metodos Numericos Chiluisa Melanie NRC:1662

A(M,:)=A(M,:)-(A(M,N)/A(N,N))*A(N,:);

end

end

U=A

L

Programa Factorizacion LU

function [x]=facLU(A,b);

[m,n]=size(A);

% Pivoteo de la matriz U y creacion de L

L=eye(n);

for N=1:(n-1)

for M=N+1:m

while A(N,N)==0

B=A(N,:);

D=L(N,:);

[f,c]=max(abs(A));

A(N,:)=A(c(1),:);

A(c(1),:)=B;

L(N,:)=L(c(1),:);

L(c(1),:)=D;

end

L(M,N)=A(M,N)/A(N,N);

A(M,:)=A(M,:)-(A(M,N)/A(N,N))*A(N,:);

end

end

U=A;

% Creacion de y

mad=[L b];

[m,n]=size(mad);

Ing. Mecatronica 28 Fecha de entrega: 07/07/2015

Page 29: Cuaderno Metodos numericos

Metodos Numericos Chiluisa Melanie NRC:1662

y=ones(m,1);

y(1,1)=mad(1,n)/mad(1,1);

for M=2:m-1

y(M,1)=(mad(M,n)-mad(M,1:m)*y(1:m,1))/mad(M,M);

end

% Solucion de x

madj=[U y];

[m,n]=size(madj);

x=ones(m,1);

x(m,1)=madj(m,n)/madj(m,n-1);

for M=m-1:-1:1

x(M,1)=(madj(M,n)-madj(M,M+1:m)*x(M+1:m,1))/madj(M,M);

end

L

U

b

y

x

DeberPruebe que la inversa de la matriz triangular superior de orden nxn tambien es triangular superior

A =

a11 a12 a13 . . . a1n

a22 a23 . . . a2na33 . . . a3n

0. . .

...ann

|A| 6= 0

Inversa por Metodo de Cofactores A−1 =1

|A|Adj(A) y Adj(A) = cofT (A)

Ing. Mecatronica 29 Fecha de entrega: 07/07/2015

Page 30: Cuaderno Metodos numericos

Metodos Numericos Chiluisa Melanie NRC:1662

|A| = (ann)(an−1,n−1) . . . (a11) 6= 0

|A| =n∏i=1

aii

C11 =

a22 a23 a24 . . . a2na33 a34 . . . a3n

a44 . . ....

0. . .

...ann

=

n∏i=2

aii

C12 =

0 a23 a24 . . . a2na33 a34 . . . a3n

a44 . . ....

0. . .

...ann

= 0

C12 =

0 a22 a24 . . . a2n0 a34 . . . a3n

a44 . . ....

0. . .

...ann

= 0

C1n = 0→ n > 1

C21 =

a12 a13 a14 . . . a1na33 a34 . . . a3n

a44 . . ....

0. . .

...ann

= −(a12)

n∏i=3

aii

C22 =

a11 a13 a14 . . . a1na33 a34 . . . a3n

a44 . . ....

0. . .

...ann

= (a11)

n∏i=3

aii

C22 =

a11 a13 a14 . . . a1n0 a34 . . . a3n

a44 . . ....

0. . .

...ann

= 0

C2n = 0→ n > 2

C31 =

a12 a13 a14 . . . a1na22 a23 a24 . . . a2n

a44 . . ....

0. . .

...ann

= (a12)(a23)

n∏i=4

aii

Ing. Mecatronica 30 Fecha de entrega: 07/07/2015

Page 31: Cuaderno Metodos numericos

Metodos Numericos Chiluisa Melanie NRC:1662

C32 =

a11 a13 a14 . . . a1na23 a24 . . . a2n

a44 . . ....

0. . .

...ann

= −(a11)(a23)

n∏i=4

aii

C33 =

a11 a12 a14 . . . a1na22 a24 . . . a2n

a44 . . ....

0. . .

...ann

= (a11)(a22)

n∏i=4

aii

C34 =

a11 a12 a13 a15 . . . a1na22 a23 a25 . . . a2n

0 a45 . . ....

0. . . . . .

.... . .

...ann

= 0

C3n = 0→ n > 3

Por induccion C4n = 0→ n > 4Por lo tanto

C =

C11 0 0 0 . . . 0C21 C22 0 0 . . . 0C31 C32 C33 0 . . . 0C41 C42 C43 C44 . . . 0

......

......

. . ....

Cn1 Cn2 Cn3 Cn4 . . . Cnn

= 0

cof(A)=triangular inferiorAdj(A) = cofT (A)

Adj(A) =

C11 C21 C31 C41 . . . Cn10 C22 C32 C42 . . . Cn20 0 C33 C43 . . . Cn30 0 0 C44 . . . Cn4...

......

.... . .

...0 0 0 0 . . . Cnn

= 0

Adj(A)= triangular superior

A−1 =1

|A|Adj(A)

Por lo tanto A−1 sera una matriz triangular superior

9.4. SVD

Toda matriz simetrica A puede ser factorizada como A = PDPT , donde P es una matriz ortogonal y D esuna matriz diagonal que contiene los autovalores de A. Si A no es simetrica, una factorizacion de este tipo noes posible, pero todavıa es posible factorizar una matriz cuadrada A como A = PDP−1, donde D adquiereuna forma lo mas simple posible y P es una matriz invertible. D es una matriz diagonal que contiene losautovalores de A. Estas dos propiedades sugieren pensar en la factorizacion mas general posible para todamatriz A (sea simetrica o no, sea cuadrada o no). Se puede demostrar que todas las matrices admiten unafactorizacion de la forma

Ing. Mecatronica 31 Fecha de entrega: 07/07/2015

Page 32: Cuaderno Metodos numericos

Metodos Numericos Chiluisa Melanie NRC:1662

A = UΣV T

donde U y V son matrices ortogonales y Σ es una matriz diagonal o ”practicamente diagonal”

9.4.1. Valores singulares de una matriz Teorema

Teorema 1Para cualquier matriz Am×n, la matriz (ATA)n×n es simetrica y por lo tanto puede serdiagonalizada ortogonalmente. Los autovalores de (ATA)n×n son todos reales y no negativos, es decir, mayoreso iguales a 0.Definicion 1Valores singulares, para una matriz Am×n, los valores singulares de A son las raıces cuadradasde los autovalores de (ATA)n×n y se denotan mediante σ1, σ2, . . . , σn. Es decir, si λi es un autovalor de(ATA)n×n entonces

σi =√λi

Normalmente los valores singulares de Am×n se ordenan de la siguiente forma:

σ1 ≥ σ2 ≥ . . . ≥ σn

Teorema 2 Descomposicion en valores singulares, sea Am×n con valores singulares σ1 ≥ σ2 ≥ . . . ≥ σr,σr 6= 0 y σr+1 = σr+2 = . . . = σn = 0. Consideremos, sin perdida de generalidad, el caso m > n. Entonces,existe una matriz Um×m ortogonal, una matriz Vn×n ortogonal y una matriz Σm×n, tal que

A = UΣV T

donde

Σ =

[Dr×r Or×(n−r)

O(m−r)×r O(m−r)×(n−r)

]

Dr×r =

σ1 . . . 0...

. . ....

0 . . . σr

Op×q =

Ø11 . . . 01q...

. . ....

Op1 . . . Opq

para todo r,p,q ∈ N. Las columnas de la matriz V, vi, se denominan vectores singulares por la derecha de A,y corresponden a los autovectores normalizados de la matriz simetrica (ATA)n×n. Las columnas de la matrizU, ui, se denominan vectores singulares por la izquierda de A, y se pueden calcular mediante la igualdadui = 1

σiAvi para todo σi 6= 0.

EjercicioEncontrar la descomposicion en valores singulares (DVS) de la siguiente matriz

A =

[1 1 00 0 1

]Calculemos los valores singulares. Por la defincion 1 para encontrar los valores singulares de la matriz A,debemos determinar los autovalores de la la matriz ATA.

ATA =

1 1 01 1 00 0 1

Los autovalores de ATA son

|A− λI| = 0λ1 = 2, λ2 = 1 y λ3 = 0

Ing. Mecatronica 32 Fecha de entrega: 07/07/2015

Page 33: Cuaderno Metodos numericos

Metodos Numericos Chiluisa Melanie NRC:1662

y sus autovectores correspondientes son

(A− λI)X = 0

110

, 0

01

, −1

10

Determinemos la matriz V. Las columnas de la matriz V son los autovectores normalizados de los autovaloresde la matriz ATA. La matriz V es 1/

√2 1 −1/

√2

1/√

2 0 1/√

20 1 0

Determinemos la matriz U. Sea vi la columna i de la matriz V y σi el valor singular correspondiente. Lacolumna ui de la matriz U es

ui =1

σiAvi

U =

[1 00 1

]La factorizacion de la matriz A sera

A =

[1 1 00 0 1

]=

[1 00 1

] [ √2 0 0

0 1 0

] 1/√

2 1 −1/√

2

1/√

2 0 1/√

20 1 0

Programa del SVD

function [U,E,V]=svd1(A)

[m,n]=size(A);

B=A’*A;

[v,e]=eig(B);

E=zeros(n);

V=zeros(n);

U=zeros(m,n);

Z=zeros(m,1);

p=e;

q=v;

j=n;

for i=1:n

E(i,i)=sqrt(p(j,j));

V(:,i)=q(:,j);

k=E(i,i);

if k==0

U(:,i)=Z;

else

U=(A./k)*V(:,i);

end

j=j-1;

end

U

E

V

Ing. Mecatronica 33 Fecha de entrega: 07/07/2015

Page 34: Cuaderno Metodos numericos

Metodos Numericos Chiluisa Melanie NRC:1662

9.4.2. Sistemas lineales mal condicionados

Matriz mal condicionada: una matriz A esta mal condicionada si pequenos cambios en sus elementospueden producir cambios grandes en las soluciones del sistema lineal Ax = b. Si pequenos cambios de loselementos de A producen unicamente cambios pequenos en las soluciones de Ax = b, entonces se dice que Aesta bien condicionada. EjercicioConsideremos las matrices B y d tales que

B =

100 50 33, 3333 25 20 16, 666750 33, 3333 25 20 16, 6667 14, 2857

33, 3333 25 20 16, 6667 14, 2857 12, 525 20 16, 6667 14, 2857 12, 5 11, 111120 16, 6667 14, 2857 12, 5 11, 1111 10

16, 6667 14, 2857 12, 5 11, 1111 10 9, 0909

d =

111111

La solucion exacta del sistema de ecuaciones lineales Bx = d es:

x =

0, 1024−2, 415513, 2492−26, 869721, 5704−5, 3864

Ahora supongamos que perturbamos ligeramente uno de los coeficientes de la matriz B. Por ejemplo, consi-deremos B tal que B(i, j) = B(i, j)∀i,j salvo B(6, 4) = 11, 1110, en lugar de 11,1111. La solucion del sistemaBx = d es ahora

x =

0, 0700−1, 60818, 3197−15, 0451

9, 3534−0, 8313

Ing. Mecatronica 34 Fecha de entrega: 07/07/2015

Page 35: Cuaderno Metodos numericos

Metodos Numericos Chiluisa Melanie NRC:1662

Un cambio de alrededor de una cienmilesima en un coeficiente ha dado lugar a cambios muy significativosen el vector solucion. Es importante observar que las perturbaciones de los coeficientes de un sistema linealno ocurren de forma “intencionada”, como en el anterior ejemplo donde hemos introducido nosotros dichasperturbaciones. Las fuentes mas comunes de estas perturbaciones son el truncamiento y redondeo de losresultados parciales que tiene lugar de forma inevitable durante los calculos. Recordad que los ordenadorestrabajan con aritmetica finita, lo que significa que la representacion de practicamente cualquier numero reallleva asociado un error. Aunque bien es verdad que estos errores son muy pequenos, tambien lo es que estosse van acumulando durante los calculos produciendo cambios que no son despreciables y pueden influir. Siun sistema lineal esta mal condicionado y disponer de metodos para abordar los problemas que de ellos sederivan. Como veremos, la descomposicion en valores singulares es uno de ellos.

Definicion 4 Rango numerico: sea el numero real δ > 0 una cota para los valores singulares de unamatriz Am×n, tal que

σ1 ≥ σ2 ≥ . . . ≥ σq > δ ≥ σq+1 6= . . . ≥ σr > 0,σr+1 = σr+2 = . . . = σn = 0

El numero natural r coincide con el rango de la matriz A. Al numero natural q para el cual

σq > δ

se le llama rango numerico de la matriz A

Definicion 5 Matriz truncada: sea Am×n una matriz m × n cuya descomposicion en valores singularesesta dada por

A = UΣV T

y sea el numero natural q su rango numerico. La matriz truncada de A se define como

At = UΣtVT

donde

Σt =

[Dq×q Oq×(n−q)

O(m−q)×q O(m−q)×(n−q)

]

Dq×q =

σ1 . . . 0...

. . ....

0 . . . σq

Op×s =

Ø11 . . . 01s...

. . ....

Op1 . . . Ops

Definicion 6 Pseudo-Inversa truncada: sea Am×n la matriz de la definicion anterior cuyo rango numerico esq. La matriz pseudo-inversa truncada de A se define como

A† = V Σ†tUT

donde

Σ†t =

[D−1q×q Oq×(m−q)

O(n−q)×q O(n−q)×(m−q)

]

D−1q×q =

1σ1

. . . 0...

. . ....

0 . . . 1σq

Ing. Mecatronica 35 Fecha de entrega: 07/07/2015

Page 36: Cuaderno Metodos numericos

Metodos Numericos Chiluisa Melanie NRC:1662

Op×s =

O11 . . . O1s

.... . .

...Op1 . . . Ops

Programa solucion de un sistema mal condicionado

function x=svdp1(A,b,d,c)

[m,n]=size(A);

[U,S,V]=svd(A)

cond(A);

if cond(A)<c

for i=1:n

if S(i,i)<d

S(i,i)=0;

else

S(i,i)=1/S(i,i);

end

end

A=V*S*U’

x=A*b;

else

Ai=inv(A);

x=Ai*b;

end

Ing. Mecatronica 36 Fecha de entrega: 07/07/2015

Page 37: Cuaderno Metodos numericos

Metodos Numericos Chiluisa Melanie NRC:1662

Programa Factorizacion QR

function [Q,R]=fact_QR(A)

[n,n]=size(A);

u(1:n,1)=A(1:n,1);

f1=zeros(n,n);

f2=zeros(n,n);

s=zeros(n,n);

for b=1:n

f1(1,1)=f1(1,1)+A(b,1)*u(b,1);

f2(1,1)=f2(1,1)+u(b,1)*u(b,1);

end

for k=2:n

for j=1:k-1

for i=1:n

f1(j,k)=f1(j,k)+A(i,k)*u(i,j);

f2(j,k)=f2(j,k)+u(i,j)*u(i,j);

end

s(1:n,k)=s(1:n,k)+f1(j,k)/f2(j,k)*u(1:n,j);

end

u(1:n,k)=(A(1:n,k)-s(1:n,k));

end

ac=zeros(1,n);

for h=1:n

for l=1:n

ac(1,h)=ac(1,h)+u(l,h)^2;

end

Q(1:n,h)=u(1:n,h)/sqrt(ac(1,h));

end

R=Q’*A;

R

Q

Ing. Mecatronica 37 Fecha de entrega: 07/07/2015

Page 38: Cuaderno Metodos numericos

Metodos Numericos Chiluisa Melanie NRC:1662

Programa del Algoritmo de ThomasMatriz Tridiagonal: en algebra lineal se denomina matriz tridiagonal a una matriz cuyos elementos son solodistintos de cero en la diagonal principal y las diagonales adyacentes por encima y por debajo a esta.

1 4 0 03 4 1 00 2 3 40 0 1 3

El algoritmo de Thomas se utiliza cuando la matriz de los coeficientes del sistema es tridiagonal. En estemetodo se trabaja con las filas en forma similar al metodo de eliminacion de Gauss. Aquı se reemplaza cadafila por una combinacion lineal de filas apropiada, de manera que se anulen los elementos de la diagonalinferior y los elementos de la diagonal principal sean unos.

function [a,d,c,x]=thomas(A,b)

[m, n]=size(A);

[o, p]=size(b);

if o==m & p==1

A

b

else

errordlg(’Error en la dimension de la matriz b’)

end

if m==n

d(1,1)=A(1,1);

a(1,1)=0;

c(n,1)=0;

for i=2:n

d(i,1)=A(i,i);

a(i,1)=A(i,i-1);

end

for i=1:n-1

c(i,1)=A(i,i+1);

end

else

errordlg(’Error en la dimension de la matriz A’)

end

for k=1:n-1

if d(k)~=0

continue

else

errordlg(’Existe un 0 en la diagonal de la matriz’)

end

d(k+1)=d(k+1)-(a(k+1)*c(k))/d(k);

b(k+1)=b(k+1)-(a(k+1)*b(k))/d(k);

k=k+1;

end

if d(k)~=0

d;

else

errordlg(’Sistema sin solucion’)

end

x(n)=b(n)/d(n);

k=n-1;

for k=n-1:-1:1

Ing. Mecatronica 38 Fecha de entrega: 07/07/2015

Page 39: Cuaderno Metodos numericos

Metodos Numericos Chiluisa Melanie NRC:1662

x(k)=(b(k)-c(k)*x(k+1))/d(k);

end

x

9.4.3. Aplicaciones

La descomposicion en valores singulares de una matriz es una herramienta util en muchas aplicaciones,como por ejemplo: resolucion de sistemas de ecuaciones mal condicionados, aproximacion por mınimos cua-drados y compresion de imagenes digitales.Comprension de Imagenes digitalesSupongamos que tenemos una imagen en tonos de gris con un tamano de 340x280 pixeles. Cada pixel tiene256 tonos de gris, lo que puede representarse mediante un numero entre 0 y 255. Podemos almacenar estainformacion en una matriz A340x280, pero transmitir y manipular estos 95200 numeros es muy costoso. Sinembargo, gracias a la descomposicion en valores singulares podemos transmitir solamente los datos corres-pondientes a los primeros 20 valores singulares de A340x280. De esta forma, en lugar de transmitir los 95200numeros, solo necesitamos enviar los 20 valores singulares de la matriz D, mas los 20 vectores columna de lamatriz U y los 20 vectores columna de la matriz V, es decir, un total de 20 + 20(340) + 20(280) = 12420numeros

Programa Comprension en gris

A =imread(’palmera.jpg’,’jpg’);

figure(1);

colormap(gray)

imagesc(A);

A=double(A);

Ing. Mecatronica 39 Fecha de entrega: 07/07/2015

Page 40: Cuaderno Metodos numericos

Metodos Numericos Chiluisa Melanie NRC:1662

[m,n]=size(A);

[m,n,p]=size(A);

[U,S,V]=svd(A);

figure(2)

m=8;

for i=1:9

A1=U(:,1:m)*S(1:m,1:m)*V(:,1:m)’;

A2=uint8(A1);

subplot(3,3,i);

imshow(A2)

colormap(gray);

m=m+8;

end

Ing. Mecatronica 40 Fecha de entrega: 07/07/2015

Page 41: Cuaderno Metodos numericos

Metodos Numericos Chiluisa Melanie NRC:1662

Programa Comprension a color

A=imread(’sirena.jpg’,’jpg’);

figure(1);

imagesc(A);

A=double(A);

[f,c,d]=size(A);

R=A(1:f,1:c,1);

V=A(1:f,1:c,2);

Z=A(1:f,1:c,3);

[Ur,Sr,Vr]=svd(R); %rojo

[Uv,Sv,Vv]=svd(V); %verde

[Uz,Sz,Vz]=svd(Z); %azul

figure(2);

for i=1:6

v=10*i;

A1(:,:,1)=Ur(:,1:v)*Sr(1:v,1:v)*Vr(:,1:v)’; %compresion de rojo

A1(:,:,2)=Uv(:,1:v)*Sv(1:v,1:v)*Vv(:,1:v)’; %compresion de verde

A1(:,:,3)=Uz(:,1:v)*Sz(1:v,1:v)*Vz(:,1:v)’; %compresion de azul

A2=uint8(A1);

subplot(2,3,i);

imagesc(A2);

end

Ing. Mecatronica 41 Fecha de entrega: 07/07/2015

Page 42: Cuaderno Metodos numericos

Metodos Numericos Chiluisa Melanie NRC:1662

Ing. Mecatronica 42 Fecha de entrega: 07/07/2015

Page 43: Cuaderno Metodos numericos

Metodos Numericos Chiluisa Melanie NRC:1662

9.5. Interpolacion

interpolar 6= aproximar

GraficoFuncion f(x) = a0 + a1x1 + a2x2 + . . .+ anxn y(x) = B0 +B1x1 +B2x2 + . . .+BnxnIncognitas a0, a1, a2, . . . , an B0, B1, B2, . . . , BnMetodos Lagrange, Newton, Spline Mınimos cuadrados

9.5.1. Lagrange

La f(x) aproximamos a un polonimio Pn(x) el cual pasa por los puntos conocidos

Pn ≈ f(x)

f(x) = PN (x) + EN (x)

Pn =

n∑k=0

f(xi)LNk(x)

LNk =

N∏j=0,j 6=k

(x− xj)

N∏j=0,j 6=k

(xk − xj)

EN (x) =(x− x0)(x− x1) . . . (x− xN )fN+1(c)

(N + 1)!

Ing. Mecatronica 43 Fecha de entrega: 07/07/2015

Page 44: Cuaderno Metodos numericos

Metodos Numericos Chiluisa Melanie NRC:1662

Ejerciciox y0 1

0.6 0.82531.2 0.3623

L10(x) =(x− 0,6)(x− 1,2)

(0− 0,6)(0− 1,2)=

(x− 0,6)(x− 1,2)

0,72

L11(x) =(x− 0)(x− 1,2)

(0,6− 0)(0,6− 1,2)= −x(x− 1,2)

0,36

L10(x) =(x− 0)(x− 0,6)

(1,2− 0)(1,2− 0,6)=x(x− 0,6)

0,72

P2 =(x− 0,6)(x− 1,2)

0,72− x(x− 1,2)

0,36+x(x− 0,6)

0,72

P2 = −0,400x2 − 0,05x+ 1

Programa de lagrange

function[C,L]=lagrange(x,y)

w=length(x);

n=w-1;

L=zeros(w);

for k=1:n+1

V=1;

for j=1:n+1

if k~=j

V=conv(V,poly(x(j)))/(x(k)-x(j));

end

end

L(k,:)=V;

end

A=y;

C=A*L;

xp=x(1):0.001:(x(w)+1);

f=0;

b=1;

for m=n:-1:0

f=xp.^m*C(1,b)+f;

b=b+1;

end

plot(xp,f);

hold on

Ing. Mecatronica 44 Fecha de entrega: 07/07/2015

Page 45: Cuaderno Metodos numericos

Metodos Numericos Chiluisa Melanie NRC:1662

9.5.2. Newton

PN (x) = a0 + a1(x− x0) + a2(x− x0)(x− x1) + a3(x− x0)(x− x1)(x− x2) + . . .+ aN (x− x0) . . . (x− xN−1)

Las incognitas son a0, a1, a2, . . . , aN ; para obtener ai usamos el metodo de diferencias divididas

a0 = f [x0] = f(x0)

a1 = f [x0, x1] =f(x1)− f(x0)

x1 − x0

a2 = f [x0, x1, x2] =f [x1, x2]− f [x0, x1]

x2 − x0

a3 = f [x0, x1, x2, x3] =f [x1, x2, x3]− f [x0, x1, x2]

x3 − x0

...

ak =f [x1, . . . , xk]− f [x0, . . . , xk−1]

xk − x0

Ejercicios

x f(x)1 -32 03 154 48

PN (x) = a0 +a1(x−x0)+a2(x−x0)(x−x1)+a3(x−x0)(x−x1)(x−x2)+a4(x−x0)(x−x1)(x−x2)(x−x3)

bigskip

a0 = f(x0) = −3

a1 = f [x0, x1] =0 + 3

2− 1= 3

a2 = f [x0, x1, x2] =15−03−2 −

0−32−1

3− 1=

15− 3

2= 6

Ing. Mecatronica 45 Fecha de entrega: 07/07/2015

Page 46: Cuaderno Metodos numericos

Metodos Numericos Chiluisa Melanie NRC:1662

a3 = f [x0, x1, x2, x3] =

48−154−3 −

15−03−2

4−2 − 6

4− 1=

33−152 − 6

3= 1

x f(x) f[-,-] f[-,-,-] f[-,-,-,-]1 -32 0 33 15 15 64 48 33 9 1

PN (x) = −3 + 3(x− 1) + 6(x− 1)(x− 2) + (x− 1)(x− 2)(x− 3)

PN (x) = x3 − 4x

Programa de Newton

function A=inewton(x,y)

[m,n]=size(x);

[o,p]=size(y);

A=zeros(m);

A(:,1)=y;

for j=1:m-1

for i=j+1:m

if i==j+1

a=pendiente(x(1,1),x(i,1),A(i-1,j),A(i,j));

A(i,j+1)=a;

elseif i~=j+1 && i>2

a=pendiente(x(i-1,1),x(i,1),A(i-1,j),A(i,j));

A(i,j+1)=a;

else

a=pendiente(x(i-1,1),x(j,1),A(i-1,j),A(i,j));

A(i,j+1)=a;

end

end

end

9.5.3. Spline

Una funcion spline esta formada por varios polinomios, cada uno definido sobre un subintervalo, que seunen entre sı obedeciendo a ciertas condiciones de continuidad.

Ing. Mecatronica 46 Fecha de entrega: 07/07/2015

Page 47: Cuaderno Metodos numericos

Metodos Numericos Chiluisa Melanie NRC:1662

Existen grados para el spline 1, 2, 3, . . . enla grafica podemos observar un spline de grado 1(azul), grado2(verde) y grado 3(amarillo). Para un S-1 tendremos

s− 1 =

y1 = a1x+ b [x1, x2]y2 = a2x+ b [x2, x3]y3 = a3x+ b [x3, x4]y4 = a4x+ b [x4, x5]

En el caso de s-2 y s-3 deteminaremos los coeficientes a, b, c por medio de la primera y segunda derivadarespectivamente

Programa de Spline

function [m,b]=spline(X)

n=length(X(1,:));

for i=1:n-1;

m(i)=(X(2,i+1)-X(2,i))/(X(1,i+1)-X(1,i));

b(i)=X(2,i);

x=X(1,i):X(1,i+1);

y=m(i)*(x-X(1,i))+b(i);

hold on;

plot(x,y,’b’)

end

for i=1:n;

hold on;

plot (X(1,i),X(2,i),’*’,’MarkerEdgeColor’,’r’,’LineWidth’,1);

title(’Interpolacion por "splines" de orden 1.’);

end

Ing. Mecatronica 47 Fecha de entrega: 07/07/2015


Related Documents