# x0 :Valor inicial de aproximación N :El valor del cual deseamos obtener la raíz k :El orden de la raíz deseada # It :numero maximo de iteraciones #la tabla tiene las siguientes columnas #iter - x - N #La función para halar la raíz k-esima f = function(N,k,x) { 1/k * ((k-1)*x + N/x^(k-1)) } raizk = function(N=27,k=3,X0=2,It=100) { x = X0 #El valor inicial de x es asignado ant = x + 1 n = 0 #Comenzamos con la iteración 0 tabla=matrix(c(n,N,x),nrow=1) #La primera línea de la tabla while(abs(x-ant)>10^-4 && n<=It) { #Condición para seguir o parar n = n + 1 #Pasamos a la siguiente iteración ant = x #Guardo el valor anterior de x x = f(N,k,x) #x toma el valor dado por la función de aproximación tabla=rbind(tabla,c(n,N,x)) #agregamos una fila en la tabla }#while tabla=as.data.frame(tabla) #Damos formato a la tabla names(tabla) = c("iter","N","x") #ponemos los nombres de las columnas tabla #Mostramos o retornamos la tabla } raizk(35,3,2) #probamos la función