• No se han encontrado resultados

Clase Programación 8

N/A
N/A
Protected

Academic year: 2021

Share "Clase Programación 8"

Copied!
68
0
0

Texto completo

(1)

Programación

Clase 8. Aplicaciones Numéricas

Prof. Gonzalo Müller [email protected]

Facultad de Ingeniería

Universidad Central de Venezuela

Programación

(2)

Clase Anterior



Funciones Matemáticas en JavaScript.  Tradicionales: seno, coseno,…

 Números Aleatorios.

(3)

Primeras aplicaciones Numéricas



Algunas áreas de aplicaciones Numéricas:  Geometría.

 Álgebra.

 Optimización.  Cálculo.

(4)

Primeras aplicaciones Numéricas



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

(5)

Primeras aplicaciones Numéricas



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

… …

Solución

(6)

Primeras aplicaciones Numéricas



Métodos Iterativos: Se realiza un proceso de búsqueda cíclica por un número fijo de iteraciones.

… k = 0 Solución0 Búsqueda de … … k < N V N: número de iteraciones k = k + 1 Soluciónk Búsqueda de nueva solución

(7)

Primeras aplicaciones Numéricas



Métodos Evolutivos: Se realiza un proceso de búsqueda cíclica que parte de una solución inicial que evoluciona hasta una solución aceptable.

k = 0 Solución0 … Soluciónk … k < N && Solución no aceptable V k = k + 1 Soluciónk Búsqueda de nueva solución F Aunque existe un número fijo de iteraciones el proceso puede detenerse antes al encontrar una

(8)

Métodos Secuenciales

(9)

Álgebra Clásica



Sucesión:



Sumatoria:

{ }

Xk = X1, X2,L = g(k) = g(1), g(2),L



Productoria: g(N) g(2) g(1) g(k) N 1 k + + + =

= L g(N) g(2) g(1) g(k) N 1 k ∗ ∗ ∗ =

= L

(10)

Álgebra Clásica



Sucesión:



Sumatoria:

{ }

Xk = X1, X2,L = g(k) = g(1), g(2),L … g(1) … g(N) N



Productoria: g(N) g(2) g(1) g(k) N 1 k + + + =

= L g(N) g(2) g(1) g(k) N 1 k ∗ ∗ ∗ =

= L … ∑g(k) N … ∏g(k) N

(11)

Estadística Descriptiva



Media: Establece cual es el comportamiento promedio de un conjunto de datos: Datos de Entrada:  El número N de puntos.  El número N de puntos.  Puntos X. Procedimiento:

= = N 1 k k X N 1 µ

(12)

Estadística Descriptiva



Media: Establece cual es el comportamiento promedio de un conjunto de datos: Datos de Entrada:  El número N de puntos.  El número N de puntos.  Puntos X. Procedimiento:

= N k X N 1 µ N … µ X … X

(13)

Estadística Descriptiva



Varianza: Establece que tan disperso están un conjunto de datos: Datos de Entrada:  El número N de puntos.  El número N de puntos.  Puntos X. Procedimiento: 2 N 1 k k N 1 k 2 k 2 X N 1 X N 1 σ       −       =

= =

(14)

Estadística Descriptiva



Varianza: Establece que tan disperso están un conjunto de datos: Datos de Entrada:  El número N de puntos.  El número N de puntos.  Puntos X. Procedimiento: 2 N k N 2 k 2 X N 1 X N 1 σ       −       =

N … σ2 X … X

(15)

Estadística Descriptiva



Regresión:

 Mínimos Cuadrados: Permite obtener la recta y=m x + b que mejor se aproxima a N puntos en R2.

Datos de Entrada:

Datos de Entrada:

 El número N de puntos.  Puntos (X, Y)

(16)

Estadística Descriptiva

Procedimiento:     −           −             =

= = = N 2 k 2 N k k N 1 k k N 1 k k N 1 k k X N X Y X N Y X m     −    

=

k=1 k 1 k k N X X       −                   −             =

= = = = = = N 1 k 2 k 2 N 1 k k N 1 k k N 1 k 2 k k N 1 k k N 1 k k X N X Y X Y X X b

(17)

Estadística Descriptiva

Procedimiento:     −           −             =

= = = N 2 k 2 N k k N 1 k k N 1 k k N 1 k k X N X Y X N Y X m     −    

=

k=1 k 1 k k N X X       −                   −             =

= = = = = = N 1 k 2 k 2 N 1 k k N 1 k k N 1 k 2 k k N 1 k k N 1 k k X N X Y X Y X X b … m b N X1,Y1… XN ,YN

(18)

Cálculo



Integración:

 Suma de Riemann: Se calcula la integral de una función f(x) como la suma de rectángulos.

Datos de Entrada:

 El intervalo de integración [A, B].

(19)

Cálculo

Procedimiento:  Suma Derecha: {Xk}= A + k * ∆ ∆ = (B – A)/N

= ∆ = N 1 k k B A ) f(X f(x)  Punto Medio: {Ck}= A + (k – ½) * ∆ ∆ = (B – A)/N

= ∆ = N 1 k k B A ) f(C f(x)

(20)

Cálculo

Procedimiento:  Suma Derecha: {Xk}= A + k * ∆ ∆ = (B – A)/N

= ∆ = N 1 k k B A ) f(X f(x)  Punto Medio: {Ck}= A + (k – ½) * ∆ ∆ = (B – A)/N … A, B

= ∆ = N 1 k k B A ) f(C f(x)

(21)

Métodos Secuenciales

Ejemplo: Construir una pagina web con JavaScript para calcular la integral entre A y B utilizando la Suma de Riemann por la Derecha, 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.

Etapa 1: Sucesión Etapa 2: Integral

(22)

Métodos Iterativos

xk+1 = f(xk)

x

k+1

x

k x

k+1 = f(xk)

x

k+1

(23)

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



Método de Newton: Converge más rápidamente a la solución que el método de bisección, ya que toma en cuenta información de f(x).

 Partiendo de un punto relativamente cercano al 0.  La intersección de la tangente de la curva en el

punto dado es una buena aproximación al 0. punto dado es una buena aproximación al 0.

(24)

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



Método de Newton: Converge más rápidamente a la solución que el método de bisección, ya que toma en cuenta información de f(x).

 Partiendo de un punto relativamente cercano al 0.  La intersección de la tangente de la curva en el

punto dado es una buena aproximación al 0. punto dado es una buena aproximación al 0.

(25)

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



Método de Newton: Converge más rápidamente a la solución que el método de bisección, ya que toma en cuenta información de f(x).

 Partiendo de un punto relativamente cercano al 0.  La intersección de la tangente de la curva en el

punto dado es una buena aproximación al 0. punto dado es una buena aproximación al 0.

x1

(26)

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



Método de Newton: Converge más rápidamente a la solución que el método de bisección, ya que toma en cuenta información de f(x).

 Partiendo de un punto relativamente cercano al 0.  La intersección de la tangente de la curva en el

punto dado es una buena aproximación al 0. punto dado es una buena aproximación al 0.

x1

(27)

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



Método de Newton: Converge más rápidamente a la solución que el método de bisección, ya que toma en cuenta información de f(x).

 Partiendo de un punto relativamente cercano al 0.  La intersección de la tangente de la curva en el

punto dado es una buena aproximación al 0. punto dado es una buena aproximación al 0.

x1 x0

(28)

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

Datos de Entrada:

 x0: Un valor inicial para comenzar la búsqueda de la solución, tal que:

x0 ∈ (A, B)

 M: El número máximo de iteraciones para la  M: El número máximo de iteraciones para la

búsqueda.

Solución:

x = xM

(29)

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

Procedimiento: Se genera un sucesión de puntos {xk} a partir del valor inicial, tal que:

x0 x1 = x0 – f(x0)/f´(x0) x = x – f(x )/f´(x ) Iteración 1 Iteración 2 x2 = x1 – f(x1)/f´(x1) … xk+1 = xk – f(xk)/f´(xk) … xM = xM-1 – f(xM-1)/f´(xM-1) Iteración 2 Iteración M

(30)

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

Procedimiento: Se genera un sucesión de puntos {xk} a partir del valor inicial, tal que:

xk+1 = xk – f(xk)/f´(xk)

x

k+1

x

k x k+1 = xk – f(xk)/f´(xk)

x

k+1

x

k … xM x0 M

(31)

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



1 + 1: Se realiza proceso de búsqueda evolutiva hasta obtener una solución aceptable.

x0

Datos de Entrada:

 x0: Un valor inicial para comenzar la búsqueda de la solución, tal que:

x0 ∈ (A, B)

x1 x1

(32)

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



1 + 1: Se realiza proceso de búsqueda evolutiva hasta obtener una solución aceptable.

x0

Datos de Entrada:

 x0: Un valor inicial para comenzar la búsqueda de la solución, tal que:

x0 ∈ (A, B)

x1

(33)

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



1 + 1: Se realiza proceso de búsqueda evolutiva hasta obtener una solución aceptable.

x0

Datos de Entrada:

 x0: Un valor inicial para comenzar la búsqueda de la solución, tal que:

x0 ∈ (A, B)

x1 Minimización

(34)

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

 ∆: Un delta de búsqueda alrededor de la solución actual.

δ(∆) = ∆ * Aleatorio(0, 1)

Aleatorio(0, 1): Número aleatorio uniformemente Aleatorio(0, 1): Número aleatorio uniformemente distribuido entre 0 y 1

 M: El número máximo de iteraciones para la búsqueda.

(35)

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

Solución:

x = xM o

x = xh

h: iteración donde no se logro obtener mejor solución a la actual.

Condición de uso:

(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(d00) > f(x00)) x1 1 = d00 sino DETENER … ck = xk – δ(∆), dk = xk + δ(∆) Si (f(ck) > f(xk)) xk+1 = ck sino Si (f(dk) > f(xk)) xk+1 = dk

(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: c0 = x0 – δ(∆), d0 = x0 + δ(∆) Si (f(c0) > f(x0)) x1 = c0 sino Si (f(d00) > f(x00)) x1 1 = d00 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 Maximización

(38)

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 + δ(∆) Si (f(ck) > f(xk)) xk+1 = ck

x

k+1

x

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

x

k+1

x

k … xk x0

(39)

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.

(40)

Métodos Iterativos

a

k+1

,

b

k+1

,

a

k

,

b

k

,

b

k+1

,

b

k

,

Reducción de intervalos

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

Datos de Entrada:

 [A, B]: El intervalo de búsqueda.

 M: El número máximo de iteraciones para la búsqueda.

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

Datos de Entrada:

 [A, B]: El intervalo de búsqueda.

 M: El número máximo de iteraciones para la

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

Datos de Entrada:

 [A, B]: El intervalo de búsqueda.

 M: El número máximo de iteraciones para la búsqueda.

b0 a0

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

Datos de Entrada:

 [A, B]: El intervalo de búsqueda.

 M: El número máximo de iteraciones para la

b0 a0

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

Datos de Entrada:

 [A, B]: El intervalo de búsqueda.

 M: El número máximo de iteraciones para la búsqueda.

a1 b1

m1

a0

(46)

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.

Datos de Entrada:

 [A, B]: El intervalo de búsqueda.

 M: El número máximo de iteraciones para la

a1 b1

a0

(47)

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:

(48)

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

Si (Signo(f(b0)) == Signo(f(m0))) a1 = a0 , b1 = m0 sino a1 = m0 , b1 = b0 m1 = (a1 + b1)/2 a1 b1 m1 … Si (Signo(f(bk)) == Signo(f(mk))) ak+1=ak, bk+1=mk sino ak+1=mk, bk+1=bk mk+1 = (ak+1 + bk+1)/2 … ak bk mk

(49)

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

Procedimiento: Se genera un sucesión de puntos {ak},{bk} y {mk}, tal que: Si (Signo(f(bk)) == Signo(f(mk))) ak+1=ak, bk+1=mk

a

k+1

b

a

k

b

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

b

k+1

m

k+1

b

k

m

k … aM,bM A, B M

(50)

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

Procedimiento: Se genera un sucesión de puntos {ak},{bk} y {mk}, tal que: Si (Signo(f(bk)) == Signo(f(mk))) ak+1=ak, bk+1=mk

a

k+1

b

a

k

b

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

b

k+1

m

k+1

b

k

m

k … mM A, B M

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

A B

Datos de Entrada:

 [A, B]: El intervalo de búsqueda.

 M: El número máximo de iteraciones para la búsqueda.

(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 b0 d0

c0

Datos de Entrada:

 [A, B]: El intervalo de búsqueda.

 M: El número máximo de iteraciones para la búsqueda.

(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 b0 d0

c0

Datos de Entrada:

 [A, B]: El intervalo de búsqueda.

 M: El número máximo de iteraciones para la búsqueda.

(54)

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 b0

Datos de Entrada:

 [A, B]: El intervalo de búsqueda.

 M: El número máximo de iteraciones para la búsqueda.

a1 b1 d1

(55)

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] 2 2 1 5 r        − = Sección Dorada

(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: a0 = A, b0 = B, c0 = a0 + r(b0– a0), d0 = b0 – r(b0– a0) … Si (f(c ) > f(d )) ← Maximización a Si (f(ck) > f(dk)) ← Maximización ak+1= ak, bk+1= dk, dk+1= ck, ck+1= ak + r(dk– ak) sino ak+1= ck, bk+1= bk, ck+1 = dk, dk+1= bk – r(bk– ck) … ak bk ck dk

(57)

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: Si (f(ck) > f(dk)) a = a , b = d , d = c , …

a

k+1

b

k+1

a

k

b

k Maximización ak+1= ak, bk+1= dk, dk+1= ck, … sino ak+1= ck, bk+1= bk, ck+1 = dk, …

b

k+1

c

k+1

d

k+1

b

k

c

k

d

k … ak,bk A, B M

(58)

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: Si (f(ck) > f(dk)) a = a , b = d , d = c , …

a

k+1

b

k+1

a

k

b

k Maximización ak+1= ak, bk+1= dk, dk+1= ck, … sino ak+1= ck, bk+1= bk, ck+1 = dk, …

b

k+1

c

k+1

d

k+1

b

k

c

k

d

k … mk A, B M

(59)

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.

(60)

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:

función:

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.

(x)

sen

(61)

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:

función:

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.

(x)

sen

(62)

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:

(x)

cos

x

2

4

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.

(x)

cos

(63)

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:

(x)

cos

x

2

4

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.

(x)

cos

(64)

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:

(x)

cos

x

2

4

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.

(x)

cos

(65)

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:

(x)

cos

x

2

4

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.

(x)

cos

(66)

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+1 = f(xk)

x

k+1

x

k Condición de uso: |f´(x)| < 1 y f, f´ continuas | x ∈ [A, B] xk+1 = f(xk)

x

k+1

x

k … xM x0 M

(67)

Ejercicios

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

x

(x)

cos

x

2

4

=

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.

(68)

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

 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.

Referencias

Documento similar

Hace más de una década, Escudero (1995) ya advertía la conveniencia de dar prioridad a lo curricular, a los valores y significados educativos sobre los medios tecnológicos, de

Se describe el negocio, en donde se desarrolla este software, sus principales características, posteriormente una vez explicados los conceptos básicos, se realiza

Entonces la serie de Fourier, correspon- diente a esta función, es convergente en todos los puntos y además la suma de dicha serie S ( x ) es igual al valor de la función f ( x ) en

Para ello, trabajaremos con una colección de cartas redactadas desde allí, impresa en Évora en 1598 y otros documentos jesuitas: el Sumario de las cosas de Japón (1583),

Dada la endogeneidad de la respuesta de la política monetaria a la evolución prevista para la economía, esta evolución de las cotizaciones bancarias ante sorpresas monetarias puede

 Tejidos de origen humano o sus derivados que sean inviables o hayan sido transformados en inviables con una función accesoria..  Células de origen humano o sus derivados que

En este sentido, puede defenderse que, si la Administración está habilitada normativamente para actuar en una determinada materia mediante actuaciones formales, ejerciendo

En la parte central de la línea, entre los planes de gobierno o dirección política, en el extremo izquierdo, y los planes reguladores del uso del suelo (urbanísticos y