# x0 :Valor inicial de aproximación # f(x) :La función evaluada en el punto x # It :numero maximo de iteraciones # g(x): función de aprximación #la tabla tiene las siguientes columnas #iter - x - f(x) #La función de la que deseamos la raíz f = function(x) { x^2+ 2*x - 15 } #La función de aproximación es un despeje de la anterior g = function(x,K) { sqrt(15-2*x) } ptofijo = function(X0=2,It=100) { x = X0 #El valor inicial de x es asignado n = 0 #Comenzamos con la iteración 0 tabla=matrix(c(n,x,f(x)),nrow=1) #La primera línea de la tabla while(abs(f(x))>10^-4 && n<=It) { #Condición para seguir o parar n = n + 1 #Pasamos a la siguiente iteración x = g(x) #x toma el valor dado por la función de aproximación tabla=rbind(tabla,c(n,x,f(x))) #agregamos una fila en la tabla }#while tabla=as.data.frame(tabla) #Damos formato a la tabla names(tabla) = c("iter","x","f(x)") #ponemos los nombres de las columnas tabla #Mostramos o retornamos la tabla } ptofijo(2) #probamos la función