La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Algoritmos numéricos. Método de “aproximación sucesiva”: se genera una hipótesis sobre la respuesta y en cada iteración se utiliza dicha hipóte- sis para.

Presentaciones similares


Presentación del tema: "Algoritmos numéricos. Método de “aproximación sucesiva”: se genera una hipótesis sobre la respuesta y en cada iteración se utiliza dicha hipóte- sis para."— Transcripción de la presentación:

1 Algoritmos numéricos

2 Método de “aproximación sucesiva”: se genera una hipótesis sobre la respuesta y en cada iteración se utiliza dicha hipóte- sis para generar otra hipótesis mejor hasta obtener una hipó- tesis suficientemente parecida a la solución. h := x  h := (1/2) (h+x/h)  …  hasta que aprox_iguales(h 2, x) entonces x 1/2  h aprox_iguales(x,y) si |x-y| < ε Método de Newton: x 1/2

3 Método de “aproximación sucesiva”: se genera una hipótesis sobre la respuesta y en cada iteración se utiliza dicha hipóte- sis para generar otra hipótesis mejor hasta obtener una hipó- tesis suficientemente parecida a la solución. función raíz_cuadrada_Newton(x: real): real var hipótesis: real fvar; si (x = 0) entonces hipótesis := 0; si no hipótesis := x; mientras (no aproximadamente_iguales(x,hipótesis 2 )) hacer hipótesis := ( hipótesis + (x / hipótesis) ) / 2; fmientras fsi devuelve hipótesis; ffunción Método de Newton

4 función aproximadamente_iguales(x, y: real): bool devuelve abs(x – y) < 0.0000001; ffunción función abs(x: real): real si (x < 0 ) entonces devuelve (- x); si no devuelve x; fsi ffunción

5 Método de “expansión de la serie de Taylor”: f(x) = f(a) + f´(a) (x-a) + (f´´(a) / 2!) (x-a) 2 + … x (1/2) = 1 + (1/2) (x-1) – ((1/4) / 2!) (x-1) 2 + … Esta serie converge para valores de x comprendidos entre 0 y 2, esto es, 0 < x < 2. función raíz_cuadrada_Taylor_acotada(x: real): real var i: entero; suma, coeficiente, factorial, exponente, término: real fvar; suma := 0; i:= 0; término := 1; derivada := 1; factorial := 1; potencia := 1; mientras ( no aproximadamente_iguales(suma,suma+término) ) hacer suma := suma+término; i:=i+1; derivada := derivada*((1/2) – i+1); factorial := factorial * i; potencia := potencia * (x-1); término := derivada * potencia / factorial; fmientras devuelve suma; ffunción

6 Si x ≥ 2 se divide por 4 tantas veces como sea necesario usan- do la siguiente igualdad x (1/2) = 2 n (x/4 n ) 1/2. función raíz_cuadrada_Taylor(x: real): real var corrección: real fvar; si (x = 0) entonces devuelve 0; si no corrección := 1; mientras (x ≥ 2) hacer x := x/4; corrección := corrección*2; fmientras devuelve (corrección * raiz_cuadrada_Taylor_acotada(x)); fsi ffunción


Descargar ppt "Algoritmos numéricos. Método de “aproximación sucesiva”: se genera una hipótesis sobre la respuesta y en cada iteración se utiliza dicha hipóte- sis para."

Presentaciones similares


Anuncios Google