Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- dv = 0.01
- #hastighedsskridt
- startv = 17.8/dv
- #Starthastighed (selve tallet kan blive ændret)
- slutv = 18/dv
- #Starthastighed
- for(w in startv:slutv){
- k = 40
- #G*M
- step = 0.00001
- t = seq(0, 400, step)
- k2 = 40/(2*10^30)*5.972*10^24
- #Dividerede G*M med solens masse og gangede med jordens
- x = 1
- y = 0
- vx = 0
- vy = 6.28
- #jorden position of hastighed i forhold til solen
- x2 = 0
- y2 = -0.25
- vx2 = w*dv
- vy2 = 0
- #satelittens position og hastighed i forhold til solen
- x3 = (x2-x)
- y3 = (y2-y)
- vx3 = 0
- vy3 = 0
- #hastigheden satelitten bliver tiltrukket til jorden
- r = ((x^2+y^2)^(1/2))
- r2 = ((x2^2+y2^2)^(1/2))
- r3= ((x2-x)^2+(y2-y)^2)^(1/2)
- # afstanden mellem jorden og solen, solen og satelitten, og satelitten og jorden
- ax = -k*x/r^3
- ay = -k*y/r^3
- #jordens acceleration i forhold til solen
- ax2 = -k*x2/r2^3
- ay2 = -k*y2/r2^3
- #satelittens accereration i forholdl til solen
- ax3 = -k2*y3/r3^3
- ay3 = -k2*y3/r3^3
- #satelittens accereration i forholdl til jorden
- for(i in 2:length(t)){
- vx[i]=vx[i-1]+step*ax[i-1]
- vy[i]=vy[i-1]+step*ay[i-1]
- #beregning af jordens hastighed i forhold til solen
- vx2[i]=vx2[i-1]+step*ax2[i-1]
- vy2[i]=vy2[i-1]+step*ay2[i-1]
- #beregning af satelittens hastighed i forhold til solen
- vx3[i] = vx3[i-1]+step*ax3[i-1]
- vy3[i] = vy3[i-1]+step*ay3[i-1]
- #beregning af hvor hurtigt satelitten bliver tiltrukket a jorden
- x[i] = x[i-1]+step*vx[i-1]
- y[i] = y[i-1]+step*vy[i-1]
- #beregning af jordens position i forhold til solen
- x2[i] = x2[i-1]+step*vx2[i-1]
- y2[i] = y2[i-1]+step*vy2[i-1]
- #beregning af satelittens position i forhold til solen
- x2[i] = x2[i]+vx3[i-1]*step
- y2[i] = y2[i]+vy3[i-1]*step
- x3[i] = (x2[i]-x[i])
- y3[i] = (y2[i]-y[i])
- #Tiltrækningen til jorden bliver lagt til
- #Objektets position i forhold til jorden bliver opdateret
- r[i] = ((x[i]^2+y[i]^2)^(1/2))
- r2[i] = ((x2[i]^2+y2[i]^2)^(1/2))
- r3[i]= ((x2[i]-x[i])^2+(y2[i]-y[i])^2)^(1/2)
- #afstanden beregnes
- ax[i] = -k*x[i]/r[i]^3
- ay[i] = -k*y[i]/r[i]^3
- ax2[i] = -k*x2[i]/r2[i]^3
- ay2[i] = -k*y2[i]/r2[i]^3
- ax3[i] = -k2*y3[i]/r3[i]^3
- ay3[i] = -k2*y3[i]/r3[i]^3
- #accelerationerne beregnes
- }
- name = paste("C:/Users/Steven/Desktop/Skole ting overførsel/rscripts og andre docs/r image/orbits v =", w*dv, ".png", sep="")
- if(w*dv == as.integer(w*dv)){
- name = paste("C:/Users/Steven/Desktop/Skole ting overførsel/rscripts og andre docs/r image/orbits v =", w*dv, ".0 .png", sep="")
- }
- #Disse to filplaceringsnavne skal ændres til placeringen af mappen billederne skal være i
- plotname = paste("v = ", w*dv, "AE/År", sep = " ")
- png(filename = name)
- plot(x2, y2, type = "l", main = plotname, col = "red")
- lines(x, y, type = "l")
- dev.off()
- #de simulerede værdier bliver plottet og udskrevet
- print(w)
- #Dette er bare en indikator for hvor langt koden er nået
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement