Prosjektoppgave, FYS-MEK1110 V06 ROBERT JACOBSEN



Like dokumenter
Den krever at vi henter ned Maples plottekommandoer fra arkivet. Det gjør vi ved kommandoen

FYS-MEK 1110 OBLIGATORISK INNLEVERING 1 ROBERT JACOBSEN ( GRUPPE 1 )

Løsning, gruppeoppgave om corioliskraft og karusell, oppgave 7 uke 15 i FYS-MEK/F 1110 våren 2005

ESERO AKTIVITET STORE OG SMÅ PLANETER. Lærerveiledning og elevaktivitet. Klassetrinn 5-6

Matematikk Øvingsoppgaver i numerikk leksjon 3. Løsningsforslag

Om flo og fjære og kunsten å veie Månen

Prosjektoppgave i FYS-MEK 1110

Krefter, Newtons lover, dreiemoment

Telle i kor steg på 120 frå 120

PROSJEKTOPPGAVE I FYS-MEK1110 VÅR BØRGE SÆTER

Fysikk 3FY AA6227. Elever og privatister. 26. mai Videregående kurs II Studieretning for allmenne, økonomiske og administrative fag

Gangemesteren Nybegynner Scratch PDF

Utførelse av programmer, funksjoner og synlighet av variabler (Matl.)

: subs x = 2, f n x end do

Straffespark Introduksjon Scratch Lærerveiledning

Høst Øving 5. 1 Teori. 2 Månedskalender. Norges teknisknaturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap

oppgaver fra abels hjørne i dagbladet

Kompleksitetsanalyse Helge Hafting Opphavsrett: Forfatter og Stiftelsen TISIP Lærestoffet er utviklet for faget LO117D Algoritmiske metoder

Leker gutter mest med gutter og jenter mest med jenter? Et nysgjerrigpersprosjekt av 2. klasse, Hedemarken Friskole 2016

Soloball. Steg 1: En roterende katt. Sjekkliste. Test prosjektet. Introduksjon. Vi begynner med å se på hvordan vi kan få kattefiguren til å rotere.

Asteroids. Oversikt over prosjektet. Steg 1: Enda et flyvende romskip. Plan. Sjekkliste. Introduksjon

ADDISJON FRA A TIL Å

Matematisk julekalender for trinn, 2012

Kanter, kanter, mange mangekanter

Kapittel og 5. september Institutt for geofag Universitetet i Oslo. GEO En Introduksjon til MatLab. Kapittel 4.

INF oktober Dagens tema: Uavgjørbarhet. Neste uke: NP-kompletthet

Blikk mot himmelen trinn Inntil 90 minutter

Høgskolen i Oslo og Akershus. sin 2 x cos 2 x = 0, x [0, 2π) 1 cos 2 x cos 2 x = 0 2 cos 2 x = 1 cos 2 x =

Utførelse av programmer, metoder og synlighet av variabler i JSP

Gips gir planetene litt tekstur

Elektrisk og Magnetisk felt

Preken 8. mai Søndag før pinse. Kapellan Elisabeth Lund. Joh. 16, 12-15

Brukermanual for statistikk på Asset on web: Statistikk salg pr dag, uke eller måned fordelt på alle avdelinger:

Hva kan bidra til å styrke vår emosjonelle utvikling, psykiske helse og positive identitet?

Oppgaver til julekalenderen 2005 for mellomtrinnet; trinn

oppgaver fra abels hjørne i dagbladet

Enarmet banditt Nybegynner Scratch Lærerveiledning

HØGSKOLEN I SØR-TRØNDELAG

TDT4102 Prosedyre og Objektorientert programmering Vår 2014

ROBERT Frank? Frank! Det er meg. Å. Heisann! Er Frank inne? HANNE Det er ikke noen Frank her. ROBERT Han sa han skulle være hjemme.

Det matetmatisk-naturvitenskapelige fakultet Midtveis -eksamen i AST1100, 10 oktober 2007, Oppgavesettet er på 6 sider

Tallinjen FRA A TIL Å

Fagområder: Kunst, kultur og kreativitet, Natur, miljø og teknikk, Nærmiljø og samfunn, Kropp, helse og bevegelse, Antall, rom og form.

Spøkelsesjakten. Introduksjon

En eksplosjon av følelser Del 2 Av Ole Johannes Ferkingstad

Livet til det lykkelige paret Howie og Becca blir snudd på hodet når deres fire år gamle sønn dør i en ulykke.

Løsningsforslag julekalender, trinn

Studentene skal kunne. gjøre rede for begrepene naturlige, hele, rasjonale og irrasjonale tall. skrive mengder på listeform

Projeksjoner av vektorer Analyse av værdata

Matematisk julekalender for trinn, fasit

Matematikk Øvingsoppgaver i numerikk leksjon 5 Skript

To forslag til Kreativ meditasjon

Arbeid mot friksjon 1 (lærerveiledning)

«Litterasitetsutvikling i en tospråklig kontekst»

EKSAMEN. Les gjennom alle oppgavene før du begynner. Husk at det ikke er gitt at oppgavene står sortert etter økende vanskelighetsgrad.

Kristen homofil Av Ole Johannes Ferkingstad

Klask-en-Muldvarp. Steg 1: Gjøre klart spillbrettet. Sjekkliste. Introduksjon

Skilpadder hele veien ned

Oblig 4 (av 4) INF1000, høsten 2012 Værdata, leveres innen 9. nov. kl

Tall og algebra Matematikk Side 1 av 6

SANDY Hun stakk på do. Hun vil ikke snakke med meg. RICHARD. SANDY Faen! Jeg mener. Jeg tror ikke det er min skyld. SANDY


TDT4102 Prosedyre og Objektorientert programmering Vår 2014

LØSNINGSFORSLAG, KAPITTEL 2

Ordenes makt. Første kapittel

TDT4102 Prosedyreog objektorientert programmering Vår 2016

3. desember. En kuriositet: etter to dager har det nå kommet nøyaktig like mye nedbør som hele desember i fjor, 39,8 mm! Og mer er i vente...

Øving 1 kryss: Trafikksikkerhet i kryss - Løsningskommentarer

En tredagers fisketur med fantastisk finale

INT. BRYGGA. SENT Barbro har nettopp fått sparken og står og venter på brygga der Inge kommer inn med siste ferja. INGE BARBRO INGE BARBRO INGE

Arduino med Atmel studio 6.x (6.1)

Jo, Boka som snakker har så mange muligheter innebygget at den kan brukes fra barnehagen og helt opp til 10. klasse.

Oblig 4. Alternativ A: Alternativ B: Denne obligen har 3 ulike alternativ: Alternativ A: For de som har lyst til å gjøre et eget prosjekt

TIMSS og Astronomi. Trude Nilsen

Kapittel 3: Litt om representasjon av tall

Steg for steg. Sånn tar du backup av Macen din

Teknisk veiledning for internettløsningen av «Tempolex bedre læring».

Kap. 3 Hvordan er Gud?

Arven fra Grasdalen. Stilinnlevering i norsk sidemål Julie Vårdal Heggøy. Oppgave 1. Kjære jenta mi!

Om 8 minutter kommer du til å smile som disse gjør! De neste 8 minuttene vil forandre ditt liv!

Uke:18 og 19 Navn: Gruppe: G

infotorg Enkel brukermanual

Matematikk og fysikk RF3100

Fortell denne historien hver gang du vil forandre kledet under Den hellige familie. Hele året igjennom er dette det sentrale punktet i rommet.

Algoritmer - definisjon

Redd verden. Steg 1: Legg til Ronny og søppelet. Sjekkliste. Introduksjon

Kommunikasjonsstil. Andres vurdering. Navn på vurdert person: Ole Olsen. Utfylt dato:

mange tilbake til Sørigarden og de smakte veldig deilig til lunsj. Bilder fra turen til ungdomskolen henger inne på avdelingen.

Teskjekjerringa er en hjertevenn!

FYSMEK1110 Oblig 5 Midtveis Hjemmeeksamen Sindre Rannem Bilden

Tre på rad mot datamaskinen. Steg 1: Vi fortsetter fra forrige gang. Sjekkliste. Introduksjon

Magne Helander. Historien om Ylva og meg. Skrevet i samarbeid med Randi Fuglehaug

Gjennomføring. Medarbeidersamtale. HRA systemet

Christensen Etikk, lykke og arkitektur

Brukerveiledning for å legge inn Støtteordning, Rammer, Forenklet tilsagn, Endringer på tilsagn, Årsrapportering

Skilpaddefraktaler Erfaren Python PDF

Da Askeladden kom til Haugsbygd i 2011

For en tid siden ble jeg konfrontert med følgende problemstilling:

Vi Er Ikke Her For Å Sove. Bård Føsker. Bård Føsker

Transkript:

Prosjektoppgave, FYS-MEK1110 V06 ROBERT JACOBSEN

Innledning Prosjektet i FYS-MEK1110 v06 handler om å forske litt på hvordan Jupiters bane er, og hvordan denne kan sammenliknes ved andre baner i solsystemet. Sistnevnte baner er i denne oppgaven satt til asteroider. Oppgavens tidsrom var fra mandag 15/5-06 til tirsdag 16/5-06. Håper at dette kan tilfredsstille. - Robert

Oppgave a) Kode % Robert Jacobsen - robertgj@student.matnat.uio.no %%%% OPPGAVE A %%%% % Konstanter vi vet %omlopstid = 4335.4; % Jorddager ==> Jupiters omløpstid juliansk_dag = 86400; % s ==> En jorddag i sekunder juliansk_aar = 365.25; % Julianske dager jordaar = juliansk_dag * juliansk_aar; % sekunder i et juliansk år. taua = 499.004783806; % s ==> Tiden lyset bruker på 1 AU c = 299792458; % m/s ==> Lysets hastighet AU = c * taua; % En astronomisk enhet. GMsol = 1.32712440018E20; % Den heliosentriske gravitasjonskonstanten G = 6.67259E-11; % kg^-1 m^3 s^-2 Mjup = 1898.6E24; % Finner ut tidsrom og hvor stor N er %total_tid = omlopstid / juliansk_aar; total_tid = 30; delta_t = total_tid / 100; N = round(total_tid * 10); % Lager arrays t = zeros(n, 1); r = zeros(n, 3); v = zeros(n, 3); % Setter første posisjon r(1,:) = [-5.758295190842140E+11-5.704511997951533E+11 1.525358540575477E+10]; v(1,:) = [9.038714838773942E+03-8.674265884570330E+03-1.662886596994482E+02]; % AU-konvertering ny_total_tid = total_tid * jordaar / AU; r(1,:) = r(1,:) / AU; v(1,:) = v(1,:).* jordaar / AU; t(1) = 0; % GM-fiks GM_konvertert = GMsol * (jordaar ^ 2) / (AU ^ 3); % Kryssningstid kryssningstid = zeros(1,100); j = 1; for n = 1:N a = -(GM_konvertert / (norm(r(n,:))).^3).* r(n,:); t(n + 1) = t(n) + delta_t; v(n + 1,:) = v(n,:) + a * delta_t; r(n + 1,:) = r(n,:) + v(n + 1,:).* delta_t; % Følge linjer sjekker etter når man krysser XZ-planet. if (r((n + 1), 2) > 0) if (r((n), 2) < 0) kryssningstid(j) = t(n) - (r((n), 2) / (r((n + 1), 2)... - r((n), 2))) * delta_t; j = j + 1; for i = 2:(j-1) omlopstid = kryssningstid(i) - kryssningstid(i-1) plot(r(1:n,1), r(1:n,2), '-r'); daspect([1 1 1]); xlabel('x (AU)'); ylabel('y (AU)'); title('jupters bane rundt sola'); hold on; plot([0], [0], '.y'); hold off; figure; plot3(r(1:n,1), r(1:n,2), r(1:n,3), '-r'); daspect([1 1 1]); xlabel('x (AU)'); ylabel('y (AU)'); zlabel('z (AU)'); title('jupters bane rundt sola'); hold on; plot3([0], [0], [0], '.y'); hold off;

Programforløp Når jeg kjører programmet får jeg dette som output (NB! Noen linjeskift er fjernet, for å spare plass og øke lesbarheten!): >> prosjekta omlopstid = 12.1151 omlopstid = 12.1159 omlopstid = 12.1156 omlopstid = 12.1160 omlopstid = 12.1165 omlopstid = 12.1163 omlopstid = 12.1171 Det vil si at omløpstida er ca. 12 jordår, og den går sakte men sikkert opp. Legg dessuten merke til at hvert tredje jupiterår er en nedgang fra året før, mens alle andre er oppgang fra det forrige året. Det kan he at dette ikke er av noe betydning, men det er en liten interessant detalj uansett. Plot av Jupiters bane i 3d. Legg merke til at det virker som om Jupiter er lenger ut på «venstresiden» av plottet (rundt (4, -4, 0)).

Plot av Jupiters bane rundt sola i 2d. Dette viser mye bedre hvordan banen ser ut, og bekrefter det jeg sa at den går mye lenger ut i negativ x-retning og positiv y-retning, enn den gjør i positiv x-retning og negativ y-retning. I tillegg kan man se bedre at det er litt variasjon i banen. Dette har med at det ikke nødvigvis er samme fart på samme sted to Jupiter-år på rad, og det kan få banen til å få en ulik fasong.

Oppgave b) Kode % Robert Jacobsen - robertgj@student.matnat.uio.no %%%% OPPGAVE B %%%% % Konstanter vi vet %omlopstid = 4335.4; % Jorddager ==> Jupiters omløpstid juliansk_dag = 86400; % s ==> En jorddag i sekunder juliansk_aar = 365.25; % Julianske dager jordaar = juliansk_dag * juliansk_aar; % sekunder i et juliansk år. taua = 499.004783806; % s ==> Tiden lyset bruker på 1 AU c = 299792458; % m/s ==> Lysets hastighet AU = c * taua; % En astronomisk enhet. GMsol = 1.32712440018E20; % Den heliosentriske gravitasjonskonstanten G = 6.67259E-11; % kg^-1 m^3 s^-2 Mjup = 1898.6E24; % Finner ut tidsrom og hvor stor N er %total_tid = omlopstid / juliansk_aar; total_tid = 50; delta_t = total_tid / 500; N = round(total_tid * 10); % Lager arrays t = zeros(n, 1); r = zeros(n, 3); v = zeros(n, 3); % Setter første posisjon r(1,:) = [-5.758295190842140E+11-5.704511997951533E+11 1.525358540575477E+10]; v(1,:) = [9.038714838773942E+03-8.674265884570330E+03-1.662886596994482E+02]; % AU-konvertering ny_total_tid = total_tid * jordaar / AU; r(1,:) = r(1,:) / AU; v(1,:) = v(1,:).* jordaar / AU; t(1) = 0; % GM-fiks GM_konvertert = GMsol * (jordaar ^ 2) / (AU ^ 3); for n = 1:N a = -(GM_konvertert / (norm(r(n,:))).^3).* r(n,:); t(n + 1) = t(n) + delta_t; v(n + 1,:) = v(n,:) + a * delta_t; r(n + 1,:) = r(n,:) + v(n + 1,:).* delta_t; % Følge linjer sjekker etter når man krysser XZ-planet. if (r((n + 1), 2) > 0) if (r((n), 2) < 0) kryssningstid = t(n) - (r((n), 2) / (r((n + 1), 2)... - r((n), 2))) * delta_t plot(r(1:n,1), r(1:n,2), '-r'); daspect([1 1 1]); xlabel('x (AU)'); ylabel('y (AU)'); title('jupters bane rundt sola'); hold on; plot([0], [0], '.y'); hold off; figure; plot3(r(1:n,1), r(1:n,2), r(1:n,3), '-r'); daspect([1 1 1]); xlabel('x (AU)'); ylabel('y (AU)'); zlabel('z (AU)'); title('jupters bane rundt sola'); hold on; plot3([0], [0], [0], '.y'); hold off;

Programforløp Når jeg kjører programmet får jeg: >> prosjektb kryssningstid = 4.2664 kryssningstid = 16.1830 kryssningstid = 28.0996 kryssningstid = 40.0162 Nå skal det sies at jeg skrev rutinene i a) for å finne omløpstiden etter jeg skrev oppgave b), så jeg skal vise manuelt hvordan jeg finner omløpstida. Det er ganske enkelt å ta to nærtligge verdier av kryssningstid, og trekker den minste fra den største. F.eks. Omløpstid = 40.0162 28.0996 = 12,0624 I og med at massen til Jupiter ikke er med i beregningen, vil det være pent lite vits i å redusere massen til planeten. Vi vil (og får) nøyaktig samme resultat. Plot av Jupiters bane rundt sola i 3d. Egentlig ganske lite å fortelle, sett bort fra at den (denne gang) holder temmelig stø kurs på banen. Det kan være forårsaket av at jeg har en glipp i koden min på oppgave a) eller b).

Plot av Jupiters bane rundt sola i 2d, og heller ikke her er det mye å fortelle i forhold til det jeg har sagt i a) og tidligere i oppgave b). Oppgave c) Koderinger %v(1,:) = 0.5.* v(1,:); %v(1,:) = 2.* v(1,:); (som står før for-løkka) og %a = -(GM_konvertert / (norm(r(n,:))).^3.0).* r(n,:); %a = -(GM_konvertert / (norm(r(n,:))).^2.9).* r(n,:); %a = -(GM_konvertert / (norm(r(n,:))).^3.1).* r(n,:); (som står i for-løkka) Her er det slik at man utkommenterer det man vil sjekke ut. Når det gjelder a, så må den første være ikke være kommentert ut i de første to oppgavene. Jeg tar det i rekkefølge nedenfra og opp.

Farten er halvparten så stor: Detteviser at Jupiter ville ha blitt dratt inn mot sola for deretter å blitt slunget ut igjen om farta hadde vært halvparten så stor. Banen ville blitt veldig elliptisk, og kan minne om en liten kometbane. Farten er dobbelt så stor: Det virker som om Jupiter vil få en såpass stor fart at «grepet» sola har på den forsvinner, og den har en mulighet til å bli en såkalt «rogue planet», som farer avsted uten å gå i noen bestemt bane rundt noen stjerne. Den forlater solsystemet.

Fg proporsjonal med r^(-1.9): Når Fg er proporsjonal med r^(-1.9), vil Jupiter få en irregulær bane, og med tiden dra mer og mer mot solen, for til slutt å muligens kollidere med den. Om det skulle skje, ville i alle fall jorden blitt slukt på veien. Fg proporsjonal med r^(-2.1): Når Fg er proporsjonal med r^(-2.1) vil Jupiter få en irregulær bane, og med tiden dra lenger utover, som kan tyde på at den før eller siden enten vil forlate solsystemet eller kollidere (dvs. sluke) en annen planet. På de to siste kan man summere opp at det er egentlig best at Fg er proporsjonal med r^(- 2.0), for da er solsystemet stabilt.

Oppgave d) Keplers tredje lov sier: T 2 r 3 =k Hvor det i vårt tilfelle vil si: T er omløpstiden, r er banemiddelradiusen og k er en konstant som er lik for alle planeter. Om vi utvider uttrykket og sier at T J og R J gjelder for Jupiter og T X og R X gjelder for «Planet X» som vi skal finne, får vi: 2 2 T J R = T X 3 3 J R X T J 2 R X 3 =T X 2 R J 3 R 3 X = T 2 3 X R J 2 T J R X = 3 T 2 X 2 T 3 3 R J J R X = T 2 X T J 3 R J I og med at selve skaleringa skjer i 2 3 T X T J så kan vi sette R X og R J som posisjonsvektorene.

Oppgave e) Kode function prosjekte(xtid) %%%% OPPGAVE E %%%% % Robert Jacobsen - robertgj@student.matnat.uio.no disp(xtid) % Konstanter vi vet omlopstid = 4335.4; % Jorddager ==> Jupiters omløpstid juliansk_dag = 86400; % s ==> En jorddag i sekunder juliansk_aar = 365.25; % Julianske dager jordaar = juliansk_dag * juliansk_aar; % sekunder i et juliansk år. taua = 499.004783806; % s ==> Tiden lyset bruker på 1 AU c = 299792458; % m/s ==> Lysets hastighet AU = c * taua; % En astronomisk enhet. GMsol = 1.32712440018E20; % Den heliosentriske gravitasjonskonstanten G = 6.67259E-11; % kg^-1 m^3 s^-2 Mjup = 1898.6E24; % Finner ut tidsrom og hvor stor N er total_tid = omlopstid / juliansk_aar; delta_t = total_tid / 100; N = round(total_tid * 10); % Lager arrays t = zeros(n, 1); r = zeros(n, 3); v = zeros(n, 3); r2 = zeros(n, 3); v2 = zeros(n, 3); r_init_abs = zeros(1,3); r2_init_abs = zeros(1,3); % Setter første posisjon r(1,:) = [-5.758295190842140E+11-5.704511997951533E+11 1.525358540575477E+10]; v(1,:) = [9.038714838773942E+03-8.674265884570330E+03-1.662886596994482E+02]; r2(1,:) = (((xtid * total_tid) / total_tid) ^ (2/3)).* r(1,:); % Regner ut absoluttverdiene for fartene for i = 1:3 if(r(1,i) < 0) r_init_abs(1,i) = -r(1,i); else r_init_abs(1,i) = r(1,i); if(r2(1,i) < 0) r2_init_abs(1,i) = -r2(1,i); else r2_init_abs(1,i) = r2(1,i); % Setter fartsvektoren til planet x v2(1,:) = ((r_init_abs(1,:) / r2_init_abs(1,:)) ^ (1/2)).* v(1,:); % AU-konvertering ny_total_tid = total_tid * jordaar / AU; r(1,:) = r(1,:) / AU; v(1,:) = v(1,:).* jordaar / AU; r2(1,:) = r2(1,:) / AU; v2(1,:) = v2(1,:).* jordaar / AU; t(1) = 0; % GM-fiks GM_konvertert = GMsol * (jordaar ^ 2) / (AU ^ 3); disp(r2(1,:)); disp(v2(1,:)); for n = 1:N a = -(GM_konvertert / (norm(r(n,:))).^3).* r(n,:); a2 = -(GM_konvertert / (norm(r2(n,:))).^3).* r2(n,:); t(n + 1) = t(n) + delta_t; v(n + 1,:) = v(n,:) + a * delta_t; r(n + 1,:) = r(n,:) + v(n + 1,:).* delta_t; v2(n + 1,:) = v2(n,:) + a2 * delta_t; r2(n + 1,:) = r2(n,:) + v2(n + 1,:).* delta_t; % Følge linjer sjekker etter når man krysser XZ-planet. if (r((n + 1), 2) > 0) if (r((n), 2) < 0) kryssningstid = t(n) - (r((n), 2) / (r((n + 1), 2)... - r((n), 2))) * delta_t

plot(r(1:n,1), r(1:n,2), '-r'); daspect([1 1 1]); xlabel('x (AU)'); ylabel('y (AU)'); title('jupters bane rundt sola'); hold on; plot([0], [0], '.y'); plot(r2(1:n,1), r2(1:n,2), '-b'); hold off; figure; plot3(r(1:n,1), r(1:n,2), r(1:n,3), '-r'); daspect([1 1 1]); xlabel('x (AU)'); ylabel('y (AU)'); zlabel('z (AU)'); title('jupters bane rundt sola'); hold on; plot3([0], [0], [0], '.y'); plot3(r2(1:n,1), r2(1:n,2), r2(1:n,2), '-b'); hold off; Jeg har valgt å sjekke banene til 1/2, 3/4 og 5/6 av Jupiters omløpstid. I de følge plots, er Jupiters bane rød, og asteroiden er blå. 1/2:

3/4: 5/6: Som vi ser, så blir banen større jo større omløpstiden er, og mindre jo mindre den er. Som en sjekk for om dette stemmer, så legger jeg inn at vi skal lage en omløpstid som er lik Jupiters, og da burde vi få kun én blå strek (i og med at den røde blir tegnet først):

Og det fikk vi, dermed stemmer dette. I tillegg la jeg nettopp merke til at jeg har skrevet feil i tittelen, slik at det står Jupters bane rundt sola. Men je føler ikke at jeg kan re det når det er 64 minutter igjen til innleveringsfristen. Oppgave f) Kode function prosjektf(xtid) %%%% OPPGAVE F %%%% % Robert Jacobsen - robertgj@student.matnat.uio.no % Konstanter vi vet % omlopstid = 4335.4; % Jorddager ==> Jupiters omløpstid juliansk_dag = 86400; % s ==> En jorddag i sekunder juliansk_aar = 365.25; % Julianske dager jordaar = juliansk_dag * juliansk_aar; % sekunder i et juliansk år. taua = 499.004783806; % s ==> Tiden lyset bruker på 1 AU c = 299792458; % m/s ==> Lysets hastighet AU = c * taua; % En astronomisk enhet. GMsol = 1.32712440018E20; % Den heliosentriske gravitasjonskonstanten G = 6.67259E-11; % kg^-1 m^3 s^-2 Mjup = 1898.6E24; % Finner ut tidsrom og hvor stor N er % total_tid = omlopstid / juliansk_aar; total_tid = 50; delta_t = total_tid / 500; N = round(total_tid * 10); % Lager arrays t = zeros(n, 1); r = zeros(n, 3); v = zeros(n, 3); r2 = zeros(n, 3); v2 = zeros(n, 3); r_init_abs = zeros(1,3); r2_init_abs = zeros(1,3); % Setter første posisjon r(1,:) = [-5.758295190842140E+11-5.704511997951533E+11 1.525358540575477E+10]; v(1,:) = [9.038714838773942E+03-8.674265884570330E+03-1.662886596994482E+02]; r2(1,:) = (((xtid * total_tid) / total_tid) ^ (2/3)).* r(1,:);

% Regner ut absoluttverdiene for fartene for i = 1:3 if(r(1,i) < 0) r_init_abs(1,i) = -r(1,i); else r_init_abs(1,i) = r(1,i); if(r2(1,i) < 0) r2_init_abs(1,i) = -r2(1,i); else r2_init_abs(1,i) = r2(1,i); % Setter fartsvektoren til planet x v2(1,:) = ((r_init_abs(1,:) / r2_init_abs(1,:)) ^ (1/2)).* v(1,:); % AU-konvertering ny_total_tid = total_tid * jordaar / AU; r(1,:) = r(1,:) / AU; v(1,:) = v(1,:).* jordaar / AU; r2(1,:) = r2(1,:) / AU; v2(1,:) = v2(1,:).* jordaar / AU; t(1) = 0; % Antakelse av asteroiden ast_diameter = 50000; % meter ast_massetetthet = 4000; %kg / m^3 Mast = (4*pi*(0.5*ast_diameter)^3 / 3) * ast_massetetthet; % GM-fiks GM_konvertert = GMsol * (jordaar ^ 2) / (AU ^ 3); GM_jup = G*Mjup * (jordaar ^ 2) / (AU ^ 3); GM_ast = G*Mast * (jordaar ^ 2) / (AU ^ 3); q = 1; j = 1; kryssningstid = zeros(1,100); % Jupiter kryssningstid2 = zeros(1,100); % Asteroiden for n = 1:N R_diff = r(n,:) - r2(n,:); R_ffid = r2(n,:) - r(n,:); R_j = norm(r(n,:)); R_a = norm(r2(n,:)); R_aj = R_j - R_a; %a = -(GM_konvertert / (norm(r(n,:))).^3).* r(n,:); a = -((GM_konvertert / (norm(r(n,:))).^3).* r(n,:)) +... -((GM_ast / (norm(r_diff)).^3).* r(n,:)); %a2 = -(GM_konvertert / (norm(r2(n,:))).^3).* r2(n,:); a2 = -((GM_konvertert / (norm(r2(n,:))).^3).* r2(n,:)) +... ((GM_jup / (norm(r_diff)).^3).* r2(n,:)); t(n + 1) = t(n) + delta_t; v(n + 1,:) = v(n,:) + a * delta_t; r(n + 1,:) = r(n,:) + v(n + 1,:).* delta_t; v2(n + 1,:) = v2(n,:) + a2 * delta_t; r2(n + 1,:) = r2(n,:) + v2(n + 1,:).* delta_t; % Følge linjer sjekker etter når man krysser XZ-planet. if (r((n + 1), 2) > 0) if (r((n), 2) < 0) kryssningstid(j) = t(n) - (r((n), 2) / (r((n + 1), 2)... - r((n), 2))) * delta_t; j = j + 1; if (r2((n + 1), 2) > 0) if (r2((n), 2) < 0) kryssningstid2(q) = t(n) - (r2((n), 2) / (r2((n + 1), 2)... - r2((n), 2))) * delta_t; q = q + 1; if (kryssningstid(2) > 0) omlopstid_jupiter = kryssningstid(2) - kryssningstid(1) else disp('insufficient data to perform the analysis.'); if (kryssningstid2(2) > 0) omlopstid_ = kryssningstid2(2) - kryssningstid2(1) else disp('insufficient data to perform the analysis.');

plot(r(1:n,1), r(1:n,2), '-r'); daspect([1 1 1]); xlabel('x (AU)'); ylabel('y (AU)'); title('jupiters bane rundt sola'); hold on; plot([0], [0], '.y'); plot(r2(1:n,1), r2(1:n,2), '-b'); hold off; figure; plot3(r(1:n,1), r(1:n,2), r(1:n,3), '-r'); daspect([1 1 1]); xlabel('x (AU)'); ylabel('y (AU)'); zlabel('z (AU)'); title('jupiters bane rundt sola'); hold on; plot3([0], [0], [0], '.y'); plot3(r2(1:n,1), r2(1:n,2), r2(1:n,2), '-b'); hold off; Programforløp >> prosjektf(1/2) omlopstid_jupiter = 11.9166 omlopstid_ = 5.9949 Sistnevnte er asteroiden, selvom noe rart skjedde i utskrifta. Denne ligner ganske mye på den vi hadde tidligere når vi hadde en xtid lik 1/2. Men er de helt like? La oss stille de side ved side og se!

Ser vi nøye etter har begge banene. Den nederste figuren (med flere krefter) har tykkere streker enn den øverste (uten kreftene, fra oppgave e)), som tyder på at det er mer slingringsmonn i banene noe som er ganske naturlig når det er flere krefter som virker på legemene.

Oppgave g) Kode-ringer % Antakelse av asteroiden %ast_diameter = 50000; % meter %ast_massetetthet = 4000; %kg / m^3 %Mast = (4*pi*(0.5*ast_diameter)^3 / 3) * ast_massetetthet; Mast = 1.0E17; %kg og innsettelse av følge like før for-løkka: % Gjøre r2 5 % større eller mindre %r2(1,:) = r2(1,:).* 0.95; %r2(1,:) = r2(1,:).* 1.05; På siste del skal vi fjerne etter hva vi har lyst til. Det jeg får blir see slik ut: Vanlig: >> prosjektg(1/2) omlopstid_jupiter = 11.9166 omlopstid_ = 5.9949

Pluss 5 %: >> prosjektg(1/2) omlopstid_jupiter = 11.9166 omlopstid_ = 6.9185 Minus 5 %: >> prosjektg(1/2) omlopstid_jupiter = 11.9166 omlopstid_ = 5.1935

Det vi ser som skjer på disse, er at når vi øker med 5 %, så blir banen logisk nok større, men det blir også «slingringsmonnet». Men når vi reduserer med 5 %, så blir banen ikke bare mindre, men den får også et mye større slingringsmonn. Men den mest irregulære banen er klart når man ikke har noen økning/reduksjon i initialbetingelsene. Grunnen til det store slingringsmonnet ved minus 5 % er mest sannsynlig at når asteroiden blir påvirket av sola såpass mye, blir den logisk nok dratt litt lenger inn, men når Jupiter passerer den, så vil Jupiter dra den litt lenger ut også. Dette skaper da et urolig område og en «wobly» effekt. Oppgave h) Koden i denne oppgaven er identisk med den fra g). I og med at jeg plottet 1/2 i g), så tar jeg ikke denne med her. 2/3 :

3/4: 5/6:

Det vi ser på 2/3, 3/4 og 5/6, er at det virker som om banen etterhvert får alt, alt, alt for stor fart og etterhvert skyter ut av solsystemet. Det kommer klart fram på 3/4 og 5/6, og kanskje aller klarest hvor kraftig utskytelsen er på 5/6. Men du ser fine detaljer på 3/4 som viser hvordan den gikk før. Men etter et visst stykke er det uklart hva som skjer akkurat i det den går fra sirkellikne bane til noe som totalt er en ellipse. Oppgave i) Når periodetiden til en asteroide er en brøkdel av Jupiters, vil Jupiter akselerere hastigheten til asteroiden, og dermed få asteroidens bane til å bli forandret. Dette skaper gap i asteroidefeltet, og er trolig årsaken til at vi har fått slike svar som i oppgave h).