Algoritmos Numricos II - PowerPoint PPT Presentation

1 / 11
About This Presentation
Title:

Algoritmos Numricos II

Description:

El c lculo exacto de ex lo entrega exp(x) que pertenece a la librer a math.h. 4 ... double x, y = 1.0, exacto, precision; printf('Ingrese el valor de x: ... – PowerPoint PPT presentation

Number of Views:82
Avg rating:3.0/5.0
Slides: 12
Provided by: FelipeC2
Category:

less

Transcript and Presenter's Notes

Title: Algoritmos Numricos II


1
Algoritmos Numéricos (II)
  • Clase 13
  • Introducción a la Programación

2
Resumen de la clase anterior
  • Conocimos ejemplos de algoritmos numéricos
  • Vimos que los algoritmos numéricos iteran hasta
    encontrar una solución
  • Formas típicas para decidir cuando detenerse
  • cuando el error es menor que un cierto valor
  • cuando hemos convergido a una solución(xn xn-1)

3
Calculo de ex
  • Sabemos que
  • Hagamos un programa que calcule ex con una
    precisión determinada. Notas
  • 0.01 de precisión, significará que el error será
    menor que 0.01
  • El cálculo exacto de ex lo entrega exp(x) que
    pertenece a la librería math.h

4
Programa que calcula ex
int main() int i 1 double
x, y 1.0, exacto, precision
printf("Ingrese el valor de x ")
scanf("lf", x) printf("Ingrese la
precision para el calculo de e(x) ")
scanf("lf", precision) exacto exp(x)
printf("\nValor exp(x) de ltmath.hgt
20.18f\n\n", exacto) do y y
potencia(x,i)/factorial(i) i
while ((exacto - y) gt precision)
printf("Calculo de e(x) con precision e\n",
precision) printf(" 50.48f\n", y)
printf("Se emplearon d iteraciones\n", (int)
i)
5
Calculo de ax
  • Sabemos que

6
Función que calcula ax
double a_elevado_x(double a, double x)
double res,resa,base,basem int rep base
x logE(a) basem base rep 2
res base printf("valores de a10.5f y
x10.5f\n",a,x) do resa res
basem basem base res ( basem
/ factorial(rep) ) rep while (res
! resa) return(1res)
7
Método de Newton para encontrar ceros de funciones
  • Existen ecuaciones cuya solución mediante
    técnicas algebraicas tradicionales pueden
    resultar muy difíciles de obtener. Ejemploln x
    3x 10.8074

8
Newton propuso un método iterativo
9
Dos trucos para implementar
  • La función irá dentro de un define
  • Aproximaremos la función así

10
Programa que implementa elMétodo de Newton
  • define FUNCTION(x) log(x) 3 x - 10.8074
  • double f(double x) return(FUNCTION(x))
  • int main()
  • int i 0 / Contador de iteraciones
    /
  • double xi, / Valor de Xi /
  • xi1, / Valor de Xi1 /
  • di, / Para calcular el ði una
    sola vez /
  • precision / Precision que se
    empleara /
  • printf("Ingrese el valor de X1 ")
  • scanf("lf", xi1)
  • printf("Ingrese la precision para el calculo
    de x ")
  • scanf("lf", precision)
  • do
  • xi xi1
  • di 0.0001 xi
  • xi1 xi - di ( f(xi) / (f(xidi)-f(xi))
    )
  • i
  • while (fabs(xi1 - xi) gt precision)

11
Comentarios sobre precisión
  • Ejecutar el siguiente programa
  • Cambia el valor de CTE a 10.0f, que pasa?

define CTE 1.0f void main() float a0.0f
while (a!CTE) aa0.2
printf(El valor de a es f\n, a)
printf(El valor final de a es f\n, a )
Write a Comment
User Comments (0)
About PowerShow.com