Clase Programación 8

Share Embed Donate


Short Description

Descripción: Clase 8 de Programación, Prof. Gonzalo Müller [email protected], Facultad de Ingenier&a...

Description

Programación

Clase 8. Aplicaciones Numéricas Prof. Gonzalo Müller [email protected]

Facultad de Ingeniería Universidad Central de Venezuela

Clase Anterior

 Funciones Matemáticas en JavaScript.  Tradicionales: seno, coseno,…  Números Aleatorios.

 Metodología para creación de un programa.

Programación – Prof. Gonzalo Müller – Clase 8 – GM - 2

Primeras aplicaciones Numéricas

 Algunas áreas de aplicaciones Numéricas:  Geometría.  Álgebra.  Optimización.  Cálculo.  Estadística.

Programación – Prof. Gonzalo Müller – Clase 8 – GM - 3

Primeras aplicaciones Numéricas

 Resolución Numérica:  Métodos Secuenciales.  Métodos Iterativos. 

Métodos Evolutivos

Programación – Prof. Gonzalo Müller – Clase 8 – GM - 4

Primeras aplicaciones Numéricas

 Métodos Secuenciales: Se realiza una secuencia de pasos que obtienen la solución del problema. … …





Solución Programación – Prof. Gonzalo Müller – Clase 8 – GM - 5

Primeras aplicaciones Numéricas

 Métodos Iterativos: Se realiza un proceso de búsqueda cíclica por un número fijo de iteraciones. Solución0 k=0 … … … k=k+1

Búsqueda de nueva solución

Soluciónk

V

k f(x0)) x1 = c0 sino Si (f(d0) > f(x0)) x1 = d0 sino DETENER … ck = xk – δ(∆), dk = xk + δ(∆) Si (f(ck) > f(xk)) xk+1 = ck sino Si (f(dk) > f(xk)) xk+1 = dk sino DETENER

Programación – Prof. Gonzalo Müller – Clase 8 – GM - 36

Búsqueda del Máximo o Mínimo de f(x) Procedimiento: Se genera un sucesión de puntos {xk}, {ck} y {dk}, tal que: c0 = x0 – δ(∆), d0 = x0 + δ(∆) Si (f(c0) > f(x0)) x1 = c0 sino Si (f(d0) > f(x0)) x1 = d0 sino DETENER Maximización



ck = xk – δ(∆), dk = xk + δ(∆) Si (f(ck) > f(xk)) xk+1 = ck sino Si (f(dk) > f(xk)) xk+1 = dk sino DETENER

Programación – Prof. Gonzalo Müller – Clase 8 – GM - 37

Búsqueda del Máximo o Mínimo de f(x) Procedimiento: Se genera un sucesión de puntos {xk}, {ck} y {dk}, tal que: ck = xk – δ(∆), dk = xk + δ(∆)

xk

Si (f(ck) > f(xk)) xk+1 = ck

xk+1

sino Si (f(dk) > f(xk)) xk+1 = dk sino DETENER

x0 ∆ M Programación – Prof. Gonzalo Müller – Clase 8 – GM - 38



xk

Métodos Iterativos Ejemplo: Construir una pagina web con JavaScript para estimar una raíz dado un valor inicial x por Newton para función f(x)=x2

Fase 1: Análisis y Diseño: DES,DRE ó DF, LV y CF. Fase 2: Codificación: página web con Javascript. Programación – Prof. Gonzalo Müller – Clase 8 – GM - 39

Métodos Iterativos

ak, bk , …



Reducción de intervalos Programación – Prof. Gonzalo Müller – Clase 8 – GM - 40

ak+1, bk+1, …

Solución de una ecuación f(x) = 0

 Método de bisección: Forma parte de los métodos iterativos.  Toma en cuenta los cambios de signo de la función.

A

B

Datos de Entrada:  [A, B]: El intervalo de búsqueda.  M: El número máximo de iteraciones para la búsqueda. Programación – Prof. Gonzalo Müller – Clase 8 – GM - 41

Solución de una ecuación f(x) = 0

 Método de bisección: Forma parte de los métodos iterativos.  Toma en cuenta los cambios de signo de la función.

a0

b0

Datos de Entrada:  [A, B]: El intervalo de búsqueda.  M: El número máximo de iteraciones para la búsqueda. Programación – Prof. Gonzalo Müller – Clase 8 – GM - 42

Solución de una ecuación f(x) = 0

 Método de bisección: Forma parte de los métodos iterativos.  Toma en cuenta los cambios de signo de la función.

a0

Datos de Entrada:

b0 m0

 [A, B]: El intervalo de búsqueda.  M: El número máximo de iteraciones para la búsqueda. Programación – Prof. Gonzalo Müller – Clase 8 – GM - 43

Solución de una ecuación f(x) = 0

 Método de bisección: Forma parte de los métodos iterativos.  Toma en cuenta los cambios de signo de la función.

a0

Datos de Entrada:

b0 m0

 [A, B]: El intervalo de búsqueda.  M: El número máximo de iteraciones para la búsqueda. Programación – Prof. Gonzalo Müller – Clase 8 – GM - 44

Solución de una ecuación f(x) = 0

 Método de bisección: Forma parte de los métodos iterativos.  Toma en cuenta los cambios de signo de la función.

a0

Datos de Entrada:

a1

b1 m0 m1

 [A, B]: El intervalo de búsqueda.  M: El número máximo de iteraciones para la búsqueda. Programación – Prof. Gonzalo Müller – Clase 8 – GM - 45

Solución de una ecuación f(x) = 0

 Método de bisección: Forma parte de los métodos iterativos.  Toma en cuenta los cambios de signo de la función.

a0

Datos de Entrada:

a1

b1 m1

 [A, B]: El intervalo de búsqueda.  M: El número máximo de iteraciones para la búsqueda. Programación – Prof. Gonzalo Müller – Clase 8 – GM - 46

Solución de una ecuación f(x) = 0 Solución: x ∈ [aM, bM] Condición de uso: f(A) > 0 y f(B) < 0 o viceversa Garantiza un cruce de f(x) por el eje x Procedimiento: Se genera un sucesión de puntos {ak},{bk} y {mk}, tal que: a0 = A , b0 = B, m0 = (a0 + b0)/2 Programación – Prof. Gonzalo Müller – Clase 8 – GM - 47

Solución de una ecuación f(x) = 0 a1 Si (Signo(f(b0)) == Signo(f(m0))) a1 = a0 , b1 = m0 b1 sino a1 = m0 , b1 = b0 m m1 = (a1 + b1)/2 1

… ak Si (Signo(f(bk)) == Signo(f(mk))) ak+1=ak, bk+1=mk b sino ak+1=mk, bk+1=bk k

mk

mk+1 = (ak+1 + bk+1)/2 … Programación – Prof. Gonzalo Müller – Clase 8 – GM - 48

Solución de una ecuación f(x) = 0 Procedimiento: Se genera un sucesión de puntos {ak},{bk} y {mk}, tal que:

ak bk mk

Si (Signo(f(bk)) == Signo(f(mk)))

ak+1

ak+1=ak, bk+1=mk

bk+1

ak+1=mk, bk+1=bk

mk+1

sino mk+1 = (ak+1 + bk+1)/2

A, B M Programación – Prof. Gonzalo Müller – Clase 8 – GM - 49



aM,bM

Solución de una ecuación f(x) = 0 Procedimiento: Se genera un sucesión de puntos {ak},{bk} y {mk}, tal que:

ak bk mk

Si (Signo(f(bk)) == Signo(f(mk)))

ak+1

ak+1=ak, bk+1=mk

bk+1

ak+1=mk, bk+1=bk

mk+1

sino mk+1 = (ak+1 + bk+1)/2

A, B M Programación – Prof. Gonzalo Müller – Clase 8 – GM - 50



mM

Búsqueda del Máximo o Mínimo de f(x)

 Búsqueda de Sección Dorada: Se realiza proceso de búsqueda iterativa. A

B

Datos de Entrada:  [A, B]: El intervalo de búsqueda.  M: El número máximo de iteraciones para la búsqueda. Programación – Prof. Gonzalo Müller – Clase 8 – GM - 51

Búsqueda del Máximo o Mínimo de f(x)

 Búsqueda de Sección Dorada: Se realiza proceso de búsqueda iterativa. a0 c0 d0

b0

Datos de Entrada:  [A, B]: El intervalo de búsqueda.  M: El número máximo de iteraciones para la búsqueda. Programación – Prof. Gonzalo Müller – Clase 8 – GM - 52

Búsqueda del Máximo o Mínimo de f(x)

 Búsqueda de Sección Dorada: Se realiza proceso de búsqueda iterativa. a0 c0 d0

Datos de Entrada:

a1

b0

b1

 [A, B]: El intervalo de búsqueda.  M: El número máximo de iteraciones para la búsqueda. Programación – Prof. Gonzalo Müller – Clase 8 – GM - 53

Búsqueda del Máximo o Mínimo de f(x)

 Búsqueda de Sección Dorada: Se realiza proceso de búsqueda iterativa. a0

Datos de Entrada:

a1

b0

d1

b1

 [A, B]: El intervalo de búsqueda.  M: El número máximo de iteraciones para la búsqueda. Programación – Prof. Gonzalo Müller – Clase 8 – GM - 54

Búsqueda del Máximo o Mínimo de f(x) Solución: x ∈ [aM, bM] Condición de uso: f convexa | x ∈ [A, B] Sección Dorada  r =  

5 − 1    2 

2

Programación – Prof. Gonzalo Müller – Clase 8 – GM - 55

Búsqueda del Máximo o Mínimo de f(x) Procedimiento: Se genera un sucesión de puntos {ak},{bk},{ck} y {dk}, tal que: a0 = A, b0 = B, c0 = a0 + r(b0– a0), d0 = b0 – r(b0– a0) … ak Si (f(ck) > f(dk)) ← Maximización bk

ak+1= ak, bk+1= dk, dk+1= ck, ck+1= ak + r(dk– ak)

ck sino d ak+1= ck, bk+1= bk, ck+1 = dk, dk+1= bk – r(bk– ck) k

… Programación – Prof. Gonzalo Müller – Clase 8 – GM - 56

Búsqueda del Máximo o Mínimo de f(x) Procedimiento: Se genera un sucesión de puntos {ak},{bk},{ck} y {dk}, tal que:

ak bk ck dk

Maximización

ak+1

Si (f(ck) > f(dk)) ak+1= ak, bk+1= dk, dk+1= ck, … sino ak+1= ck, bk+1= bk, ck+1 = dk, …

A, B M Programación – Prof. Gonzalo Müller – Clase 8 – GM - 57

bk+1 ck+1 dk+1 …

ak,bk

Búsqueda del Máximo o Mínimo de f(x) Procedimiento: Se genera un sucesión de puntos {ak},{bk},{ck} y {dk}, tal que:

ak bk ck dk

Maximización

ak+1

Si (f(ck) > f(dk)) ak+1= ak, bk+1= dk, dk+1= ck, … sino ak+1= ck, bk+1= bk, ck+1 = dk, …

A, B M Programación – Prof. Gonzalo Müller – Clase 8 – GM - 58

bk+1 ck+1 dk+1 …

mk

Métodos Iterativos Ejemplo: Construir una pagina web con JavaScript para estimar una raíz en un intervalo A y B por Bisección para función f(x)=x2

Fase 1: Análisis y Diseño: DES,DRE ó DF, LV y CF. Fase 2: Codificación: página web con Javascript. Programación – Prof. Gonzalo Müller – Clase 8 – GM - 59

Ejercicios 8. Construir un programa en Javascript para: a) Calcular la integral entre A y B utilizando el teorema fundamental del cálculo, para la siguiente función: 2 4 x − sen (x) Fase 1: Análisis y Diseño: DES, DRE ó DF, LV y CF. Señalar estructuras, acumuladores y contadores, inicialización, acumulación y conteo. Fase 2: Codificación: pagina Web con JavaScript. Programación – Prof. Gonzalo Müller – Clase 8 – GM - 60

Ejercicios 8. Construir un programa en Javascript para: b) Calcular la integral entre A y B utilizando la Suma de Riemann por Punto Medio y el teorema fundamental del cálculo y compare, para la siguiente función: 2 4 x − sen (x) Fase 1: Análisis y Diseño: DES, DRE ó DF, LV y CF. Señalar estructuras, acumuladores y contadores, inicialización, acumulación y conteo. Fase 2: Codificación: pagina Web con JavaScript. Programación – Prof. Gonzalo Müller – Clase 8 – GM - 61

Ejercicios 8. Construir un programa en Javascript para: c) Estimar una raíz en un intervalo A y B por Newton para la siguiente función: 2

4

x − cos (x) Fase 1: Análisis y Diseño: DES, DRE ó DF, LV y CF. Señalar estructuras, acumuladores y contadores, inicialización, acumulación y conteo. Fase 2: Codificación: pagina Web con JavaScript. Programación – Prof. Gonzalo Müller – Clase 8 – GM - 62

Ejercicios 8. Construir un programa en Javascript para: d) Estimar una raíz por Bisección en un intervalo A y B para la siguiente función: 2

4

x − cos (x) Fase 1: Análisis y Diseño: DES, DRE ó DF, LV y CF. Señalar estructuras, acumuladores y contadores, inicialización, acumulación y conteo. Fase 2: Codificación: pagina Web con JavaScript. Programación – Prof. Gonzalo Müller – Clase 8 – GM - 63

Ejercicios 8. Construir un programa en Javascript para: e) Estimar un máximo en un intervalo A y B por 1+1 para la siguiente función: 2

4

x − cos (x) Fase 1: Análisis y Diseño: DES, DRE ó DF, LV y CF. Señalar estructuras, acumuladores y contadores, inicialización, acumulación y conteo. Fase 2: Codificación: pagina Web con JavaScript. Programación – Prof. Gonzalo Müller – Clase 8 – GM - 64

Ejercicios 8. Construir un programa en Javascript para: f) Estimar un máximo en un intervalo A y B por Sección Dorada para la siguiente función: 2

4

x − cos (x) Fase 1: Análisis y Diseño: DES, DRE ó DF, LV y CF. Señalar estructuras, acumuladores y contadores, inicialización, acumulación y conteo. Fase 2: Codificación: pagina Web con JavaScript. Programación – Prof. Gonzalo Müller – Clase 8 – GM - 65

Ejercicios 8. Construir un programa en Javascript para: g) Dado el siguiente método Iteración de punto Fijo: Método para resolver f(x)=x

xk

xk+1

xk+1 = f(xk)

x0 M



Condición de uso: |f´(x)| < 1 y f, f´ continuas | x ∈ [A, B] Programación – Prof. Gonzalo Müller – Clase 8 – GM - 66

xM

Ejercicios Estimar una solución dado un valor inicial x para:

x 2 − cos 4 (x) = x Fase 1: Análisis y Diseño: DES, DRE ó DF, LV y CF. Señalar estructuras, acumuladores y contadores, inicialización, acumulación y conteo. Fase 2: Codificación: pagina Web con JavaScript.

Programación – Prof. Gonzalo Müller – Clase 8 – GM - 67

Resumen

 Algunas aplicaciones numéricas:  Métodos Secuenciales   

Sucesión, Sumatoria y Productoria. Estadística Descriptiva: Media, Varianza, Regresión. Integración: Suma de Riemann.

 Métodos Iterativos 

Solución de una ecuación f(x) = 0: Newton

 Métodos Evolutivos 

Búsqueda del Máximo o Mínimo de f(x): 1 + 1.

 Métodos Iterativos – Reducción de Intervalos  

Solución de una ecuación f(x) = 0: Bisección. Búsqueda del Máximo o Mínimo de f(x): Sección Dorada. Programación – Prof. Gonzalo Müller – Clase 8 – GM - 68

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF