// satellite.java compile javac -cp . satellite.java // execute java -cp . satellite public class satellite { double G = 6.674E-11; // universal gavitational constant double R = 6.378E+6; // radius of Earth meter double cir = 40.07E+6; // 2 Pi R meter double Me = 5.97E+24; // mass of earth kilograms double rot = 86400.0; // 24 hours * 60 minutes * 60 seconds per day double Ve = 0.0; // cir/rot meter per second double d = 0.0; // satellite distance to earth center double v = 0.0; // velocity of satellite double Ms = 1000.0; // mass of satellite double VeR = 0.0; // Ve/R ratio double vd = 0.0; // v/d ratio double F = 0.0; // gravity on satellite double Fs = 0.0; // centripital force on satellite double err = 0.0; // abs(F-Fs) double errs = 0.0; // signed F-Fs double dm = 0.0; // above earth miles double vm = 0.0; // satellite velocity miles per hour public satellite() { System.out.println("satellite.java running"); System.out.println("G = "+G); System.out.println("R = "+R+" meter"); System.out.println("cir = "+cir+" meter"); System.out.println("Me = "+Me+" kilogram"); System.out.println("rot = "+rot+" seconds"); System.out.println("Ms = "+Ms+" kilogram"); Ve = cir/rot; System.out.println("Ve = "+Ve+" meters per second"); VeR = Ve/R; System.out.println("Ve/R = VeR = "+VeR+" ratio"); err = funct(4.0*R); err = funct(5.0*R); err = funct(6.0*R); err = funct(7.0*R); err = funct(6.5*R); err = funct(6.7*R); err = funct(6.6*R); dm = (d-R)/1.609E+3; System.out.println("miles above earth = "+dm+" miles"); vm = v/2.237; System.out.println("satellite speed = "+vm+" miles per hour"); System.out.println("satellite.java finished"); } // end satellite double funct(double dg) // function to minimize { d = dg; // guess System.out.println("try d = "+d+" meter"); vd = VeR; System.out.println("VeR = vd = "+vd+" ratio"); v = vd * d; System.out.println("v = "+v+" try v meter per second"); F = G*Ms*Me /(d*d); System.out.println("first F=G*Ms*Me/d*d = "+F+" gravity joule"); Fs = Ms*v*v/d; System.out.println("Fs=Ms*v*v/d = "+Fs+" joule centripital joule"); err = Math.abs(F-Fs); System.out.println("err=abs(F-Fs) = "+err+" joule"); errs = F -Fs; System.out.println("errs=F-Fs = "+errs); System.out.println(" "); return err; } // end funct public static void main (String[] args) { new satellite(); } } // end satellite.java