Hi, My name is Curtis and I'm a 1st year student in Biochemistry at the University of Geneva. I need some help completing the code for my NEWTON ALGORITHM. It is a bonus exercice to our autumn semester maths exam and we can hand it in or not. Usually people copy and paste but I decided to sit down and review theory and ask for help left right and center.
My problem is that I cannot get my function to give me the solution. Here is my code: ## PRIMARY FUNCTION f=function(x){ out=(2/(3))*exp(x^3)-(10)*log(x) return(out) } ## 1ST DERIVATIVE fp=function(x){ out=(2)*(x^2)*exp(x^3)-(10/x) return(out) } ## 2ND DERIVATIVE fpp=function(x){ out=(4)*(x)*exp(x^3)+(6)*(x^4)*exp(x^3)+(10/x^2) return(out) } I am trying to find the "zero" of "fp",my 1st derivative, with my newton algorithm: newbon=function(x0,epsi,f,fp){ ## where "a" corresponds to x^n et ## "b" corresponds to x^n+1 ## We are looking for x^n+1 such that f(x^n+1)=0 ## NB: fp(a)*(a-b)=f(a) when f(b)=0 a=x0 b=(fp(a)*a-f(a))/fp(a) while(abs(-fp(a)*(b-a))>epsi){ a=b b=(fp(a)*a-f(a))/fp(a) } out=NULL out=a return(out) } I must admit that my algorithm was painfully congested and I've been having headaches to get it to work. However, I always get the same error message: Erreur dans while (abs(-fp(a) * (b - a)) > epsi) { : valeur manquante là où TRUE / FALSE est requis De plus : Message d'avis : In log(x) : production de NaN Please forgive the French; it is my study language. Quite frankly I don't mind if I don't get the bonus marks, what is really important is that I understand why it doesn't work and what condition is missing. You're help would be kindly appreciated. Curtis MOYO [[alternative HTML version deleted]]
______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.