Um in dieser Frage eine genauere Strahlungsschätzung zu erhalten , versuche ich, die Höhe eines Satelliten als Funktion der Zeit zu approximieren und/oder zu bestimmen. Der Satellit hat ein Apogäum von 32190 km über der Erde und ein Perigäum von 320 km über der Erde.
Ich gehe der Einfachheit halber von folgenden Eigenschaften aus:
Wenn Sie Fehler sehen, lassen Sie es mich bitte wissen :)
Nähert sich:
Zusammenfassung der Versuchsergebnisse:
2. Ausgearbeitet in Antworten: Die Vorlesung Orbital Dynamics Part 18 – Formula for True Anomaly erklärt, wie die exzentrische Anomalie durch einen iterativen Versuch gefunden werden kann. Ich war neugierig, wie sich dies auf die differentielle Natur der Gleichung bezieht.
Diese Lösung wird in den Antworten ausgearbeitet.https://www.thanassis.space/gravity.html
http://en.homasim.com/orbitsimulation.php
https://nl.mathworks.com/matlabcentral/fileexchange/57132-satellite-orbit-transfer-simulation
Die ersten 2 Seiten dieser Modelle:
http://www.winsite.com/satellite/satellite+simulator+orbit/
https://github.com/pytroll/pyorbital
Und sehr vielversprechend, aber nicht herunterladbar:
https://nl.mathworks.com/matlabcentral/fileexchange/57132-satellite-orbit-transfer-simulation
4. In Antworten ausgearbeitet: Hat funktioniert, obwohl Mitternacht zu einem Fehler führte, also habe ich es neu gestartet und eine halbe Umlaufbahn abgewartet (vom Apogäum zum Perigäum oder umgekehrt), da die Symmetrie die gesamte Umlaufbahn ergibt. Die Lösung wird in den Antworten erarbeitet.
Ich bin mir nicht sicher, ob das angemessen ist, aber ich danke allen für das kritische und unterstützende Feedback! :)
Ansatz 4 (Erfolgreicher Ansatz)
Da ich zum jetzigen Zeitpunkt den analytischen Ansatz nicht weiter verfolgen kann, habe ich über http://stuffin.space/?intldes=2012-008N einen Satelliten (Debris) gefunden , der eine ähnliche Umlaufbahn hatte wie ich versuche herauszufinden, habe ein kleines Excel-Skript geschrieben, das die Daten von http://www.satview.org/forec.php?sat_id=43273U jede Minute durchsucht, damit ich morgen die Daten sortieren und die ungefähre Höhe erhalten kann als Funktion der Zeit.
Das Skript lautet:
Sub absorb_data_from_vdb()
Application.Wait (Now + TimeValue("0:00:10")) 'H:MM:SS
'source: https://plus.google.com/105053415343007690451/posts/1pjy2PFVwN5
Dim ie As Object
Dim objelement As Object
Dim c As Integer
Dim i
Dim strCaptcha As String
Dim strImageSource As String
Dim img As HTMLhtmlElement 'tools =>reference Microsoft Html Object Library
Set ie = CreateObject("InternetExplorer.Application")
Dim click_changed_additions As Integer
Dim electric_bullet_count As Integer
Dim gas_bullet_count As Integer
With ie
.Visible = True
.navigate "http://www.satview.org/forec.php?sat_id=43273U"
'wait until first page loads
Do Until .readyState = 4
DoEvents
Loop
Application.Wait (Now + TimeValue("0:00:02")) 'H:MM:SS
whole_day = 2
Do While whole_day < 10
.Refresh
Do Until .readyState = 4
DoEvents
Loop
Application.Wait (Now + TimeValue("0:00:02")) 'H:MM:SS
Set elements0e = ie.document.getElementsByClassName("link_mudar") 'Get innertext to get value
If elements0e.Length <> 0 Then
'MsgBox (elements0e.item(2).innerText)
elements0e.item(2).Focus
elements0e.item(2).Click
'MsgBox ("clicked link")
End If
If ThisWorkbook.Worksheets("Sheet1").Range("A1").Value - 2 < 2 Then
ThisWorkbook.Worksheets("Sheet1").Range("A1").Value = 2
End If
For Iteration = ThisWorkbook.Worksheets("Sheet1").Range("A1").Value - 2 To ThisWorkbook.Worksheets("Sheet1").Range("A1").Value - 2 + 100
Set elements0e = ie.document.getElementsByClassName("texto_track2") 'Get innertext to get value
If elements0e.Length <> 0 Then
ThisWorkbook.Worksheets("Sheet1").Range("A" & 2 + Iteration).Value = elements0e.item(0).innerHTML
ThisWorkbook.Worksheets("Sheet1").Range("F" & 2 + Iteration).Value = Now()
'MsgBox ("found from")
End If
Next Iteration
For Iteration = ThisWorkbook.Worksheets("Sheet1").Range("A1").Value - 2 To ThisWorkbook.Worksheets("Sheet1").Range("A1").Value - 2 + 100
Set elements0e = ie.document.getElementsByClassName("texto_track2") 'Get innertext to get value
If elements0e.Length <> 0 Then
ThisWorkbook.Worksheets("Sheet1").Range("G" & 2 + Iteration).Value = elements0e.item(1).innerHTML
'MsgBox ("found from")
End If
If ThisWorkbook.Worksheets("Sheet1").Range("A1").Value < Iteration + 2 Then
ThisWorkbook.Worksheets("Sheet1").Range("A1").Value = Iteration + 2
End If
Next Iteration
proceed_boolean = False
Do While proceed_boolean = False
If Left(Right(Now(), 5), 2) <> Left(Right(ThisWorkbook.Worksheets("Sheet1").Range("F" & 2 + Iteration - 1).Value, 5), 2) Then
'MsgBox ("A minute has passed")
'MsgBox (Left(Right(Now(), 5), 2))
'MsgBox (Left(Right(ThisWorkbook.Worksheets("Sheet1").Range("F" & 2 + Iteration - 1).Value, 5), 2))
proceed_boolean = True
Application.Wait Now + #12:00:02 AM# 'This waits for 5 seconds
End If
Loop
Loop
End With
MsgBox ("Done")
End Sub
Nach zwei Läufen wird die folgende Grafik für die äquivalente Umlaufbahn gezeichnet:
Die visuelle Inspektion ergibt eine klare Bahnfunktion, nachdem die Ausreißer entfernt wurden. Folgende Plausibilitätsprüfungen werden durchgeführt:
Alle 5 Überprüfungen sind abgeschlossen und erfolgreich, was bedeutet, dass bei diesem Ansatz keine Fehler gefunden wurden.
Da die Umlaufbahn eine Symmetrieachse hat, wird nur das halbe Geschwindigkeitsprofil benötigt. Wie man sieht, wurden zwei Aufnahmen gemacht, die rechte Aufnahme enthält eine komplette halbsymmetrische Umlaufbahn, ergibt also nach kurzer Datenmanipulation die komplette Bahnhöhenfunktion. Dies sind die Umlaufbahndaten, die die Umlaufbahnhöhe als Funktion der Zeit für die Zwecke der Strahlungsschätzung darstellen.
Als nächstes wurden die Daten manuell gefiltert (indem die Größe der Unterschiede zwischen den Höhendatenpunkten farblich markiert und die größten Unterschiede entfernt wurden, bis ich mit den Unterschieden zufrieden war).
Nach dem Filtern habe ich die folgende Software/Excel-Tabelle verwendet, um die kleinsten Quadrate anzupassen: http://www.jkp-ads.com/articles/leastsquares.asp
Zur Annäherung an die Funktion** wurde folgende Polynomfunktion verwendet:
wobei x die Zeit in Minuten darstellt und y berechnet und verglichen wird . Die Differenz zwischen den beiden y's wurde quadriert und für alle Datenpunkte (Zeiten und Höhen) summiert, die vom ersten Excel geschabt wurden). Die Randbedingungen (bc) wurden zunächst für den Evolutionären Algorithmus bestimmt, indem der Maximalwert, für den die höchste Höhe erhalten werden konnte, nur durch diesen 1 Koeffizienten multipliziert mit seinem x ausgewählt und dieser Wert dann mit 10 multipliziert wurde. Dies wurde getan, um sicherzustellen Die Lösung war verfügbar, begrenzte jedoch den Optionsraum.
Es ergab die folgende Funktion**:
eingerechnet wird
Das Excel-Skript kann weiter verbessert werden, indem ein Errorhandler hinzugefügt wird, der den ie
Browser schließt und das Skript neu startet, um einen höheren Automatisierungsgrad zu gewährleisten, wobei das Risiko größerer Datenfehler besteht.
Fehlerdiskussion: Wie in den Kommentaren darauf hingewiesen wurde, wird die Polynomanpassung 4. Grades die Genauigkeit der Umlaufbahnanpassung einschränken. (Dies ist sichtbar, wenn Sie sich den Beginn der tatsächlichen Umlaufbahnmessung ansehen, es krümmt sich in Richtung / um -t, wenn es nach unten geht, während das passende Polynom nur einen Krümmungsradius zu haben scheint (in Richtung / um + t). Dies hat die Anpassung gemacht ein wenig herausfordernd, da mehrere Iterationen erforderlich waren, bevor eine anständige Anpassung gefunden wurde. Dieser Grad an Genauigkeit wurde jedoch mittels visueller Inspektion als ausreichend angesehen. Das Verfahren kann durch eine Berechnung des tatsächlichen Fehlerquadrats verbessert werden.
** Ich denke, ein besserer Ansatz wäre tatsächlich, die elliptische Umlaufbahnhöhe als Funktion der Zeit mit einer Sinuskurve anzunähern.
Ansatz 2 (Erfolgreicher Ansatz)
Die Umlaufbahn ist in der folgenden Abbildung beschrieben:
Nach einer langen, mühsamen, aber wunderbaren Herleitung sind die folgenden 3 Gleichungen auf die elliptische Umlaufbahn anwendbar:
mit
= Mittlere Anomalie (=Winkel zwischen grüner Linie, Ellipsenmittelpunkt, gestrichelte Linie zwischen Ellipsenmittelpunkt und Perigäum)
= Exzentrische Anomalie (=Winkel zwischen roter Linie, Ellipsenmittelpunkt, Linie zwischen Ellipsenmittelpunkt und Perigäum)
= Wahre Anomalie (=Winkel zwischen schwarzer Linie, Ellipsenmittelpunkt, Linie zwischen Ellipsenmittelpunkt und Perigäum)
= große Halbachse
= Höhe des Satelliten
= Exzentrizität
Die Anomalien werden in der folgenden Orbit-Animation visualisiert. Beachten Sie, dass, wie in den Kommentaren erwähnt, M(t) konstant und ungleich E(t) ist:
Außerdem muss die Umlaufzeit berechnet werden , große Halbachse und Bahnexzentrizität einmal.
Da die Perigäumshöhe = 320 km und die Apogäumshöhe 32190 km beträgt, wird die große Halbachse durch Verwendung gefunden :
Jetzt wird die Exzentrizität mit ermittelt :
Die Umlaufzeit wird mit gefunden :
Um also die Umlaufbahn zu einem Zeitpunkt t (zB 0,5 ) werden für jeden Punkt t, an dem wir die Satellitenhöhe wissen wollen, folgende Rechenschritte durchgeführt:
Die mittlere Anomalie M(t) wird berechnet.
Dann wird M eingesetzt in:
Damit bleibt eine Unbekannte: die exzentrische Anomalie . Dies wird mit einem iterativen Prozess gefunden (Nehmen Sie einfach ein erstes E an und sehen Sie dann, wofür Sie berechnen , überprüfen Sie, ob es dem tatsächlich berechneten entspricht (wahrscheinlich nicht), also senken oder erhöhen Sie Ihre Schätzung für , und sehen Sie, ob Sie sich weiter davon entfernen , oder nähern Sie sich ihm, bis Sie mit dem Genauigkeitsgrad von zufrieden sind , (Was den Grad der Genauigkeit von impliziert ).
Sobald E(t) mit ausreichender Genauigkeit bestimmt ist, wird es ersetzt durch:
finden .
Das ist die Bahnhöhe zum Zeitpunkt t = 0,5 s. Der Vorgang wird für eine weitere Zeit t wiederholt, indem $M(t) erneut berechnet wird.
Zusätzlich zur Höhe möchte man vielleicht auch die Position des Satelliten relativ zur Erde wissen, indem man die wahre Anomalie kennt. Um die wahre Anomalie zum Zeitpunkt t zu bestimmen, ersetzt man die iterativ gefundene in folgender Formel:
Dies ist die Dokumentation des in 28:55 bis 30:16 erläuterten Verfahrens von:
.(Ich habe kein Skript für diese {iterative Schleife des Bestimmens/Ratens geschrieben } (noch) also nicht halbautomatisiert, im Gegensatz zur Antwort von Ansatz 4.)
zephyr0110
bei
Benutzer7073
[1]
ohne Link.bei
Erin Anne
bei
äh