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

Second Harmonic Generation N=1:21

gnuplot> set xrange [-180:180] gnuplot> set yrange [-180:180]

splot sin(cos(x*pi/180))*sin(cos(x*pi/180))/(cos(x*pi/180)*cos(x*pi/180))*sin(cos(y*pi/180))*sin(cos(y*pi/180))/(cos(y*pi/180)*cos(y*pi/180))+sin(cos((x+1)*pi/180))*sin(cos((x+1)*pi/180))/(cos((x+1)*pi/180)*cos((x+1)*pi/180))*sin(cos((y+1)*pi/180))*sin(cos((y+1)*pi/180))/(cos((y+1)*pi/180)*cos((y+1)*pi/180))+sin(cos((x+2)*pi/180))*sin(cos((x+2)*pi/180))/(cos((x+2)*pi/180)*cos((x+2)*pi/180))*sin(cos((y+2)*pi/180))*sin(cos((y+2)*pi/180))/(cos((y+2)*pi/180)*cos((y+2)*pi/180))+sin(cos((x+3)*pi/180))*sin(cos((x+3)*pi/180))/(cos((x+3)*pi/180)*cos((x+3)*pi/180))*sin(cos((y+3)*pi/180))*sin(cos((y+3)*pi/180))/(cos((y+3)*pi/180)*cos((y+3)*pi/180))+sin(cos((x+4)*pi/180))*sin(cos((x+4)*pi/180))/(cos((x+4)*pi/180)*cos((x+4)*pi/180))*sin(cos((y+4)*pi/180))*sin(cos((y+4)*pi/180))/(cos((y+4)*pi/180)*cos((y+4)*pi/180)) +sin(cos((x+5)*pi/180))*sin(cos((x+5)*pi/180))/(cos((x+5)*pi/180)*cos((x+5)*pi/180))*sin(cos((y+5)*pi/180))*sin(cos(…

Second Harmonic Generation

gnuplot> set xrange [-180:180] gnuplot> set yrange [-180:180] gnuplot> set pm3d gnuplot> set hidden3d  gnuplot> set title 'SHG' gnuplot> splot sin(cos(x*pi/180))*sin(cos(x*pi/180))/(cos(x*pi/180)*cos(x*pi/180))*sin(cos(y*pi/180))*sin(cos(y*pi/180))/(cos(y*pi/180)*cos(y*pi/180)) title 'N=1
'