# =============================================== # Newton Raphson # =============================================== # x[n+1] = x[n] - f( x[n] )/ f'( x[n] ) # x^3-6=0 => x^3=6 => x=6^(1/3) 6^(1/3) x<--2 x <- x - (x^3-6)/(3*x^2) x x <- x - (x^3-6)/(3*x^2) x x <- x - (x^3-6)/(3*x^2) x x <- x - (x^3-6)/(3*x^2) x x <- x - (x^3-6)/(3*x^2) x x <- x - (x^3-6)/(3*x^2) x x <- x - (x^3-6)/(3*x^2) x # =============================================== #Newton Raphson - command for # =============================================== x<-1 for (i in 1:5) { x <- x - (x^3-6)/(3*x^2) print(x) } x<-20 for (i in 1:15) { x <- x - (x^3-6)/(3*x^2) print(x) } # Another Example x<-1 tolerance<-0.000001 f<-x^3+2*x^2-7 f f.prime<-3*x^2+4*x f.prime while(abs(f)>tolerance) { x<-x-f/f.prime f<-x^3+2*x^2-7 f.prime<-3*x^2+4*x } x f f.prime x<-1 tolerance<-0.000001 f<-x^3+2*x^2-7 f.prime<-3*x^2+4*x repeat { x<-x-f/f.prime f<-x^3+2*x^2-7 f.prime<-3*x^2+4*x if(abs(f) <= tolerance) break } x f f.prime # same example x<- -1000000 tolerance<-0.000001 f<-x^3+2*x^2-7 f.prime<-3*x^2+4*x step <- 0 for (step in 1:200000){ x<-x-f/f.prime f<-x^3+2*x^2-7 f.prime<-3*x^2+4*x print( round(c(step, x, f),4) ) if ( abs(f) < tolerance ) break } # ===============================================