Matematica computacional

53
Métodos Numéricos Métodos Numéricos (Matemática Computacional) (Matemática Computacional) Dr. M.Sc. Alonso Álvarez O Dr. M.Sc. Alonso Álvarez O Escuela de Ingeniería en Sistemas Escuela de Ingeniería en Sistemas POLITECNICA DE CHIMBORAZO POLITECNICA DE CHIMBORAZO

Transcript of Matematica computacional

Page 1: Matematica computacional

Métodos NuméricosMétodos Numéricos(Matemática Computacional)(Matemática Computacional)

Dr. M.Sc. Alonso Álvarez ODr. M.Sc. Alonso Álvarez O

Escuela de Ingeniería en SistemasEscuela de Ingeniería en Sistemas

POLITECNICA DE CHIMBORAZOPOLITECNICA DE CHIMBORAZO

Page 2: Matematica computacional

PresentaciónLa matemática interviene de diferentes formas, en muchos sectores de la ciencia y de la técnica. Resultados matemáticos, aún si son abstractos, pueden ser utilizados para la resolución de problemas que se encuentran en la naturaleza. Por otro lado, problemas complejos de la naturaleza estimulan la invención de nuevas ideas matemáticas. En esta relación entre matemática y naturaleza se inserta de manera determinante el computador.

(Darío Bini, PISA, 1995).

Page 3: Matematica computacional

Presentación.

abstracción

aplicación

NATURALEZA MATEMATICA

Page 4: Matematica computacional

PresentaciónLa introducción del computador con el cual es posible efectuar muchas operaciones en poco tiempo, ha impuesto y acentuado el desarrollo del análisis y síntesis de métodos computacionales para el estudio y resolución de problemas matemáticos.

Es oportuno subrayar que, sin un profundo conocimiento de metodologías matemáticas, el uso del computador para resolver problemas técnico-científicos puede presentar grandes dificultades.

Además es necesario recordar que si hoy contamos con computadores tan poderosos no es sólo por el desarrollo del Hardware si no también por el desarrollo del Software, lo que permite tratar problemas de alta dimensión. (Darío Bini, PISA, 1995).

Page 5: Matematica computacional

Matemática ComputacionalMatemática Computacional

La Matemática Computacional es una herramienta básica para un ingeniero o un científico, porque le permite solucionar de forma aproximada, problemas prácticos que no podrían resolverse de manera analítica. Puede decirse que la matemática computacional (Métodos Numéricos) es la matemática más elemental que existe, ya que para solucionar problemas, solo hacen uso de operaciones aritméticas. Sin embargo es ahí donde radica su fuerza, porque es a través de ella que se modelan y resuelven muchos problemas de la realidad, que es cambiante, compleja y variada

Page 6: Matematica computacional

Modelo Matemático

Problema Real

Resolución

Matemática Tradicional (Métodos Analíticos)

(Solución Exacta)

Matemática Computacional (Métodos Numéricos)

(Solución Aproximada)

RESULTADOS

EsquemaEsquema

Page 7: Matematica computacional

EjemploEjemplo

Resolución

Variación de la corriente en un circuito eléctrico

Ecuación Diferencial

Variables SeparadasTransformada de Laplace

Etc...

Método de Euler.Método de Runge-Kuta

Etc..

RESULTADOS

Page 8: Matematica computacional

Condicionamiento de un Condicionamiento de un ProblemaProblema

Un problema matemático, se dice bien condicionado, si cumple las siguientes condiciones:

1) Existencia de la solución.

2) Unicidad de la solución.

3) Dependencia continua de los datos (Estabilidad)

Pequeñas variaciones en los datos de entrada, implican pequeñas variaciones en los datos de salida

Page 9: Matematica computacional

EstabilidadEstabilidad

La palabra estabilidad es muy común escucharla en nuestro diario vivir, por ejemplo, podemos escuchar el franco Suizo es estable, que el peso mexicano es inestable. A un ingeniero decir, esta estructura es estable o no, a un químico, cierta reacción se ha estabilizado.

Page 10: Matematica computacional

Veamos los siguientes ejemplos físicos que nos ayudan a entender la estabilidad y tipos de estabilidad.

Si efectuamos una pequeña perturbación a la canica, podemos tener diferentes resultados:

Page 11: Matematica computacional

En el primer caso la canica luego de un corto tiempo regresará a su posición de equilibrio, en ese caso hablamos de una fuerte estabilidad. (Azintoticamente estable).

En el segundo caso podemos notar que la canica perderá totalmente su posición de equilibrio, en ese caso diremos que es un Equilibrio Inestable.

En el tercer caso, podemos notar que si bien la caníca no se aleja fuertemente de su posición de equlibrio, pero tampoco retorna a su posición inicial, en ese caso diremos Estabilidad no azintótica.

Page 12: Matematica computacional

Ejemplo 2.Ejemplo 2.

Azintoticamente Estable

Inestable

Estabilidad no azintótica

Page 13: Matematica computacional

Ejemplo 3.Ejemplo 3.

ESTABLE INESTABLE

Page 14: Matematica computacional

Teoría de la Estabilidad.Teoría de la Estabilidad.

El primero en hablar sobre la Estabilidad fue el matemático Ruso M. Lyapunov (1857-1918), el cual consideró como punto relevante en su tesis doctoral (1892) el hablar sobre la estabilidad de problemas de ecuaciones diferenciales.

Page 15: Matematica computacional

ComparaciónComparaciónMétodos Analíticos Métodos Numéricos

Solución Exacta Solución Aproximada

Complejidad Elevada Complejidad Baja

Muy Lento Bien Rápido (PC)

Page 16: Matematica computacional

Números de MáquinaNúmeros de Máquina

Al utilizar un computador como apoyo para la Al utilizar un computador como apoyo para la matemática computacional, es fundamental matemática computacional, es fundamental considerar las particularidades del sistema considerar las particularidades del sistema numérico del computador, es decir los llamadosnumérico del computador, es decir los llamados números de máquinanúmeros de máquina ( (representación finita).representación finita).

Número Aritmético Número de Máquina (1/3) = 0,333333..... (1/3)’ = 0,33...3

(1/3) =/= (1/3)’

)'()( ππ ≠

(4) = (4)’

(3/2) = (3/2)’

Page 17: Matematica computacional

Números Aritméticos Números de MáquinaNúmeros Aritméticos Números de Máquina

-3 0 2 2.6 m 0 2.6 M

(0)’ (2,6)’

No tienen principio ni fin Tienen principio y fin

Cada número está representado Cada número representa un

Por un punto subintervalo.

Son infinitos Son finitos.

QMáquinadeNúmeros ⊂}__{

Page 18: Matematica computacional

Operación de MáquinaOperación de Máquina

El uso de números de máquina por el computador implica que los resultados en las operaciones sean diferentes, por lo que es necesario diferenciar entre operacion aritmética y operación de máquina.

13*3

1 =

9...9999.0)'3(*)(3

=

( x (op) y ) = ( x op y )(1+e)

e Precisión de máquina (cero maq.)

Page 19: Matematica computacional

Cualquier operación matemática puede ser vista como una función de varias variables.

),...,(),...,( 2121 nf

n xxxfxxx →Ejemplos:

zyxzyx f −→ )*(),,(

zuyxuzyx f *2)/(),,,( −+→

Page 20: Matematica computacional

Observacion:Observacion:

zyxzyx f ++→ )(),,( 1

)(),,( 2 zyxzyx f ++→

Las siguientes operaciones son iguales o son distintas?

Con Operación Aritmética son iguales, con operación de Máquina son distintas

Page 21: Matematica computacional

Análisis Diferencial del ErrorAnálisis Diferencial del Error

∑= ∂

∂=n

jx

j

i

i

jy ji x

f

Xf

x

1 )(εε

j

i

i

j

x

f

Xf

x

∂∂

;)(

Factores de Amplificación del error

Page 22: Matematica computacional

Representación Numérica en el Representación Numérica en el ComputadorComputador

Bit : (Binary Digit) Es un dígito Binario 0 , 1

Como reconoce el computador a un “0” o a un “1” :

Señales de Voltaje: “0” 0-2 voltios

“1” 4-6 voltios

Page 23: Matematica computacional

Representación en la memoriaRepresentación en la memoria

Números enteros: Utilizan un espacio de memoria de 16 bits (32 bits).

SIGNO

1: N- ; 0: P+

Ejemplo: -429 -(110101101)2

1 1 0 1 0 1 1 0 1 1 0 0 0 0 0 0

Page 24: Matematica computacional

Representación en la memoriaRepresentación en la memoria

Números Reales: Utilizan un espacio de memoria de 48 bits (61 bits). Utiliza el esquema flp (Floating Point) Punto Flotante.

0

10*...,0

1

321

≠±a

aaaa en

enaaaa 10*...,0 321±

Mantiza

Exponente

Page 25: Matematica computacional

Números RealesNúmeros Reales

Ejemplos de Punto Flotante:

2

0

3

2

10*91.0

10*578.0

10*712.0

10*31456.0

0091.0

578.0

712

456.31

flp

Page 26: Matematica computacional

Esquema de RepresentaciónEsquema de Representación

SIGNO

1: N- ; 0: P+

40 48

MANTIZAEXPONENTE

Page 27: Matematica computacional

Ejemplo:Ejemplo:

1012 2*110110111.0)0111,11011(4375.27 ⇔⇔

100001011011011100000000000000000000000000000000

40 48

Page 28: Matematica computacional

Raices de EcuacionesRaices de EcuacionesEntendemos por ecuación una expresión de la forma f(x)=0, donde f es una función definida en un intervalo [a,b].

Resolver la ecuación o hallar una raiz, quiere decir encontrar un z en [a,b] tq. f(z)=0 .

2_;3___;06

.3/12____;01232 =−==−+

==−xxxx

xx

?__;05.0)()ln(

?__;032

==+−==−+

xxsenx

xxx

Page 29: Matematica computacional

Métodos de ResoluciónMétodos de Resolución

Existen varios métodos numéricos para resolver Existen varios métodos numéricos para resolver una ecuación. Uno de los más utilizados y uno una ecuación. Uno de los más utilizados y uno de los mejores es el de los mejores es el Método de Bisección.Método de Bisección.

Sea f(x)=0 una ecuación. Hallar una solución en el intervalo [a,b], con un error máximo de e.

z

a b

f(x)

Page 30: Matematica computacional

Método de BisecciónMétodo de Bisección

El método de Bisección se basa en comparar el signo de la imagen del punto medio del intervalo con la imagen de uno de los extremos.

c1=(a+b)/2.

Si f(c1) y f(a) tienen signos opuestos, c2=(a+c1)/2.

Caso contrario, c2=(c1+b)/2.

Se repite este proceso hasta que la diferencia entre los extremos que resulten sea menor o igual a e.

Page 31: Matematica computacional

a bo

c1

c4

o o

c3

o

c2

BisecciónBisección

Page 32: Matematica computacional

BisecciónBisecciónPara realizar todo este proceso, tenemos dos alternativas. Hacerlo a mano o en un computador.

MANO.- Entendemos con papel y lápiz (calculadora)

COMPUTADORA.- Tenemos dos alternativas: software existente en el mercado como Derive, ToolKit, MatLab, etc. o construir un propio software en cualquier lenguaje de programación.

Lenguajes Tradicionales: Pascal, C, C++, etc.

Entornos de Desarrollo: Visual C, Delphi, Java, etc

Page 33: Matematica computacional

EjemploEjemplo

h

r

Un famoso problema de la antigüedad, conocido como problema de Arquimides, plantea lo siguiente: tenemos un recipiente semiesferico de radio r. Se desea saber cual es la altura h del segmento esférico, cuyo volumen sea la mitad del recipiente.

Page 34: Matematica computacional

Por geometría sabemos que el volumen del recipiente es

)3(.3

1 21 hrhV −= π

3.3

2rV π=

Mientras que el volumen del segmento esférico es :

Page 35: Matematica computacional

El valor h buscado, que necesariamente estará comprendido entre 0 y r, satisface la ecuación:

2

1

2

)3(3

21 =−=

r

hrh

V

V

Sustituyendo x = h/r, se obtiene la ecuación:

013 23 =+− xx

Page 36: Matematica computacional

La ecuación encontrada es de 3er grado y Arquimides no conocía la fórmula resolutiva, descubierta 1700 años después (Fórmula de Cardano). De todas formas esta fórmula es tan complicada, que es preferible utilizar otro método como el de Bisección.

a b c 0.0000 1.0000 0.5000 0.5000 1.0000 0.7500 0.5000 0.7500 0.6250 0.6250 0.7500 0.6875 0.6250 0.6875 0.6562 0.6250 0.6562 0.6406

Solución Aproximada 0.6406

Page 37: Matematica computacional

Interpolación y AproximaciónInterpolación y Aproximación

La Interpolación y la Aproximación son técnicas que se utilizan para proyectar Información (desconocida) o para hacer diseños.

Page 38: Matematica computacional

Interpolación y AproximaciónInterpolación y Aproximación

Page 39: Matematica computacional

Interpolación y AproximaciónInterpolación y AproximaciónSi la curva pasa por todos los puntos base (puntos soporte), se llamará Curva Interpolante (Interpolación).

Si la curva aproxima a los puntos base, se llamará Curva Aproximante (Aproximación).

Curvas Interpolantes: Polinomio de Lagrange, Polinomio de Hermite, Polinomio de Newton, Curvas Spline (Polinomios a trozos), etc..

Curvas Aproximantes: Curva Bezier, Regresión Lineal, Regresión cuadratica, etc..

Page 40: Matematica computacional

Interpolación:Interpolación:

Cuando los datos son absolutamente confiables.Cuando los datos son absolutamente confiables. Cuando los datos no son demasiados (menor a 10)Cuando los datos no son demasiados (menor a 10)

La Interpolación se puede utilizar en los siguientes casos:

Page 41: Matematica computacional

Aproximación:Aproximación:

Cuando los datos no son absolutamente Cuando los datos no son absolutamente confiables.confiables.

Cuando los datos son demasiados (mayor a 10)Cuando los datos son demasiados (mayor a 10)

La Aproximación se puede utilizar en los siguientes casos:

Page 42: Matematica computacional

EjemplosEjemplos

La proyección de datos de una empresa: Inversión – Ganancia.

La proyección de resultados en elecciones.

La proyeción de la humedad en un terreno.

Page 43: Matematica computacional

Polinomio de LagrangePolinomio de Lagrange

∑ ∏=

≠=

− −−

=n

i

n

ijj ji

jin xx

xxxfxL

0 1)1( )(

)()()(

Page 44: Matematica computacional

Integración NuméricaIntegración Numérica

∫=b

a

dxxfI )(

Page 45: Matematica computacional

Integración NuméricaIntegración Numérica

∫=b

a

dxxfI )(

Page 46: Matematica computacional

Método de SimpsonMétodo de Simpson

++

−≅6

)()(4)([)( 210 xfxfxf

abI

Page 47: Matematica computacional

Integración Múltiple de SimpsonIntegración Múltiple de Simpson

∫ ∫∫−

+++=2

0 2

4

2

)(...)()(x

x

x

x

x

x

n

n

dxxfdxxfdxxfI

+

+

++−= ∑ ∑−

=

=

+1

1

1

0

10 )(

24)(2)(

6

)( n

k

n

kn

kkk xf

xxfxfxf

n

abI

Page 48: Matematica computacional

Ecuaciones DiferencialesEcuaciones Diferenciales

=∈

=

α)(

],[

),()('

ay

bat

ytfty

Método de Euler:

{ } btttattttt nn =<<<<= ..._;,...,,, 210210

nabhhtt ii /)(_____;1 −=+=+

Page 49: Matematica computacional

ii yty =)(

+==

+ ),(1

0

iiii ythfyy

y α

Fórmula Recurrente

EJEMPLO: La población de una pequeña ciudad crece, en un insatnte cualquiera de tiempo, con una rapidez propor- cional al número de habitantes en dicho instante. Si su población inicial es de 500 habitantes y la constante de proporcionalidad k=0,014, obtener de forma aproximada la población de dicha ciudad dentro de 1, 2, 3,..., 9 años

Page 50: Matematica computacional

kNdt

dN =

SOLUCION: Sea N la población al tiempo t, la ecuación diferencial que se puede deducir es:

Como k=0,014, e inicialmente hay 500 habitantes, utilizando la fórmula recurrente de Euler obtenemos los siguientes resultados:

Page 51: Matematica computacional

0 1 2 3 4 5 6 7 8 9

AÑO POBLAC.

500 507 514 521 528 535 542 550 558 566

Page 52: Matematica computacional

Debido al tipo de ecuación (sencilla), los resultados que arroja el método de Euler, son bastante aceptables. Se puede demostrar que los errores producidos son despreciables.

En problemas más complejos, los resultados se ven afectados con errores considerables. Para los cuales existen métodos más fuertes como el de Runge-Kutta.

Page 53: Matematica computacional

Método de Runge-KuttaMétodo de Runge-KuttaEste método tiene un principio similar al de Euler, la diferencia principal radica en la forma de generar los resultados a través de otra fo´rmula recurrente.

).,(

).)2/1(,)2/1((

).)2/1(,)2/1((

).,(

)22(6

1

34

23

12

1

43211

hkyhtfk

hkyhtfk

hkyhtfk

ytfk

kkkkhyy

ii

ii

ii

ii

ii

++=++=++=

=

++++=+