Skip to main content

NEWTON-RAPSON METHOD FOR KEPLER’S ECCENTRICITY

##Constants and initializations
ecc=0.1; ## Eccentricity
M=24.851090; ## Mean anomaly(degrees)
Mr=M*pi/180; ## Mean anomaly (rads)
f=[]; ## The fundamental eqn we want to solve
## Kepler's Equation's zero function f(E)=E-esinE-M=0
fp=[]; ## 1st derivative of f(E). fp(E)=1+ecosE
Ed=[]; ## Eccentric anomaly(degrees)
Er=[]; ## Eccentric anomaly(rads)
Ed(1)=M+0.85*sign(sin(Mr))*ecc; ## The eccentric anomaly initial
## guess for Danby's method(degrees)
Er(1)=Ed(1)*pi/180; ## rads
for i=1:100
f(i)=Ed(i)-ecc*sin(Er(i))-M;
fp(i)=1+ecc*cos(Er(i));
Ed(i+1)=Ed(i)-f(i)/fp(i); ## The iteration for an updated eccentric anomaly E(i+1)
## based on a current value E(i) by Newton-Rapson Method
Er(i+1)=Ed(i+1)*pi/180;
endfor
save -text NEWTONRAPSON.dat
printf('We find E to be %f. This is the answer of Q1(a)\n',Ed(i+1));

Comments

Popular posts from this blog

Simple Euler Method

##Usage:Call Octave from terminal ##and then call EulerMethodUmitAlkus.m ##from octave and finally ##press enter. That's all. ##Simple Euler Method ##Constants and initializations x=[]; ## initial empty vector for x y=[]; ## initial empty vector for y x(1)=1; ## initial value of x y(1)=1; ## initial value of y h=1E-3; ## increment in x dery=[]; ## 1st derivative of y wrt x n=1; ## inital loop index for while ## enter the while loop for the interval x=[1,2] while (x(n)<=2) x(n+1)=x(n)+h; dery(n+1)=x(n)*x(n)-2*y(n)/x(n); ##given y(n+1)=y(n)+h*dery(n); ##Euler method n++; endwhile ##exit from the 1st while loop ##Modified Euler Method ##Constant and initializations ymid=[]; ## empty vector function evaluated at x midpoint xmid=[]; ## empty vector func. of midpoints in x ymid(1)=1; ## inital value for ymid. derymid=[]; ## derivative of y at midpoints ##Enter the 2nd while loop n=1; while (x(n)<=2) xmid(n)=x(n)+h/2; derymid(n)=xmid(n)*xmid(n)-2*ymid(...