Amateurfunk Forum - Archiv

Fragen und Antworten zum Thema Funk


Impressum

Verantwortlich für dieses Angebot gemäß § 5 TMG / § 55 RStV:
Michael Ott
Dorpater Straße 11
70378 Stuttgart
Deutschland



Trotz sorgfältiger inhaltlicher Kontrolle übernehmen wir keine Haftung für die Inhalte externer Links. Für den Inhalt der verlinkten Seiten sind ausschließlich deren Betreiber verantwortlich.

Datenschutzerklärung

Diese Datenschutzerklärung klärt Sie über die Art, den Umfang und Zweck der Verarbeitung von personenbezogenen Daten (nachfolgend kurz „Daten“) innerhalb unseres Onlineangebotes und der mit ihm verbundenen Webseiten, Funktionen und Inhalte auf (nachfolgend gemeinsam bezeichnet als „Onlineangebot“). Im Hinblick auf die verwendeten Begrifflichkeiten, wie z.B. „Verarbeitung“ oder „Verantwortlicher“ verweisen wir auf die Definitionen im Art. 4 der Datenschutzgrundverordnung (DSGVO).

Verantwortlicher

Michael Ott
Dorpater Straße 11
70378 Stuttgart
Deutschland



Arten der verarbeiteten Daten:

- Meta-/Kommunikationsdaten (siehe Abschnitt „Erhebung von Zugriffsdaten und Logfiles“)

Kategorien betroffener Personen

Besucher und Nutzer des Onlineangebotes (Nachfolgend bezeichnen wir die betroffenen Personen zusammenfassend auch als „Nutzer“).

Zweck der Verarbeitung

- Zurverfügungstellung des Onlineangebotes, seiner Funktionen und Inhalte
- Sicherheitsmaßnahmen.

Verwendete Begrifflichkeiten

„Personenbezogene Daten“ sind alle Informationen, die sich auf eine identifizierte oder identifizierbare natürliche Person (im Folgenden „betroffene Person“) beziehen; als identifizierbar wird eine natürliche Person angesehen, die direkt oder indirekt, insbesondere mittels Zuordnung zu einer Kennung wie einem Namen, zu einer Kennnummer, zu Standortdaten, zu einer Online-Kennung (z.B. Cookie) oder zu einem oder mehreren besonderen Merkmalen identifiziert werden kann, die Ausdruck der physischen, physiologischen, genetischen, psychischen, wirtschaftlichen, kulturellen oder sozialen Identität dieser natürlichen Person sind.

„Verarbeitung“ ist jeder mit oder ohne Hilfe automatisierter Verfahren ausgeführte Vorgang oder jede solche Vorgangsreihe im Zusammenhang mit personenbezogenen Daten. Der Begriff reicht weit und umfasst praktisch jeden Umgang mit Daten.

„Pseudonymisierung“ die Verarbeitung personenbezogener Daten in einer Weise, dass die personenbezogenen Daten ohne Hinzuziehung zusätzlicher Informationen nicht mehr einer spezifischen betroffenen Person zugeordnet werden können, sofern diese zusätzlichen Informationen gesondert aufbewahrt werden und technischen und organisatorischen Maßnahmen unterliegen, die gewährleisten, dass die personenbezogenen Daten nicht einer identifizierten oder identifizierbaren natürlichen Person zugewiesen werden.

Als „Verantwortlicher“ wird die natürliche oder juristische Person, Behörde, Einrichtung oder andere Stelle, die allein oder gemeinsam mit anderen über die Zwecke und Mittel der Verarbeitung von personenbezogenen Daten entscheidet, bezeichnet.

„Auftragsverarbeiter“ eine natürliche oder juristische Person, Behörde, Einrichtung oder andere Stelle, die personenbezogene Daten im Auftrag des Verantwortlichen verarbeitet.

Maßgebliche Rechtsgrundlagen

Nach Maßgabe des Art. 13 DSGVO teilen wir Ihnen die Rechtsgrundlagen unserer Datenverarbeitungen mit. Sofern die Rechtsgrundlage in der Datenschutzerklärung nicht genannt wird, gilt Folgendes: Die Rechtsgrundlage für die Einholung von Einwilligungen ist Art. 6 Abs. 1 lit. a und Art. 7 DSGVO, die Rechtsgrundlage für die Verarbeitung zur Erfüllung unserer Leistungen und Durchführung vertraglicher Maßnahmen sowie Beantwortung von Anfragen ist Art. 6 Abs. 1 lit. b DSGVO, die Rechtsgrundlage für die Verarbeitung zur Erfüllung unserer rechtlichen Verpflichtungen ist Art. 6 Abs. 1 lit. c DSGVO, und die Rechtsgrundlage für die Verarbeitung zur Wahrung unserer berechtigten Interessen ist Art. 6 Abs. 1 lit. f DSGVO. Für den Fall, dass lebenswichtige Interessen der betroffenen Person oder einer anderen natürlichen Person eine Verarbeitung personenbezogener Daten erforderlich machen, dient Art. 6 Abs. 1 lit. d DSGVO als Rechtsgrundlage.

Sicherheitsmaßnahmen

Wir treffen nach Maßgabe des Art. 32 DSGVO unter Berücksichtigung des Stands der Technik, der Implementierungskosten und der Art, des Umfangs, der Umstände und der Zwecke der Verarbeitung sowie der unterschiedlichen Eintrittswahrscheinlichkeit und Schwere des Risikos für die Rechte und Freiheiten natürlicher Personen, geeignete technische und organisatorische Maßnahmen, um ein dem Risiko angemessenes Schutzniveau zu gewährleisten.

Zu den Maßnahmen gehören insbesondere die Sicherung der Vertraulichkeit, Integrität und Verfügbarkeit von Daten durch Kontrolle des physischen Zugangs zu den Daten, als auch des sie betreffenden Zugriffs, der Eingabe, Weitergabe, der Sicherung der Verfügbarkeit und ihrer Trennung. Des Weiteren haben wir Verfahren eingerichtet, die eine Wahrnehmung von Betroffenenrechten, Löschung von Daten und Reaktion auf Gefährdung der Daten gewährleisten. Ferner berücksichtigen wir den Schutz personenbezogener Daten bereits bei der Entwicklung, bzw. Auswahl von Hardware, Software sowie Verfahren, entsprechend dem Prinzip des Datenschutzes durch Technikgestaltung und durch datenschutzfreundliche Voreinstellungen (Art. 25 DSGVO).

Zusammenarbeit mit Auftragsverarbeitern und Dritten

Sofern wir im Rahmen unserer Verarbeitung Daten gegenüber anderen Personen und Unternehmen (Auftragsverarbeitern oder Dritten) offenbaren, sie an diese übermitteln oder ihnen sonst Zugriff auf die Daten gewähren, erfolgt dies nur auf Grundlage einer gesetzlichen Erlaubnis (z.B. wenn eine Übermittlung der Daten an Dritte, wie an Zahlungsdienstleister, gem. Art. 6 Abs. 1 lit. b DSGVO zur Vertragserfüllung erforderlich ist), Sie eingewilligt haben, eine rechtliche Verpflichtung dies vorsieht oder auf Grundlage unserer berechtigten Interessen (z.B. beim Einsatz von Beauftragten, Webhostern, etc.).

Sofern wir Dritte mit der Verarbeitung von Daten auf Grundlage eines sog. „Auftragsverarbeitungsvertrages“ beauftragen, geschieht dies auf Grundlage des Art. 28 DSGVO.

Übermittlungen in Drittländer

Sofern wir Daten in einem Drittland (d.h. außerhalb der Europäischen Union (EU) oder des Europäischen Wirtschaftsraums (EWR)) verarbeiten oder dies im Rahmen der Inanspruchnahme von Diensten Dritter oder Offenlegung, bzw. Übermittlung von Daten an Dritte geschieht, erfolgt dies nur, wenn es zur Erfüllung unserer (vor)vertraglichen Pflichten, auf Grundlage Ihrer Einwilligung, aufgrund einer rechtlichen Verpflichtung oder auf Grundlage unserer berechtigten Interessen geschieht. Vorbehaltlich gesetzlicher oder vertraglicher Erlaubnisse, verarbeiten oder lassen wir die Daten in einem Drittland nur beim Vorliegen der besonderen Voraussetzungen der Art. 44 ff. DSGVO verarbeiten. D.h. die Verarbeitung erfolgt z.B. auf Grundlage besonderer Garantien, wie der offiziell anerkannten Feststellung eines der EU entsprechenden Datenschutzniveaus (z.B. für die USA durch das „Privacy Shield“) oder Beachtung offiziell anerkannter spezieller vertraglicher Verpflichtungen (so genannte „Standardvertragsklauseln“).

Rechte der betroffenen Personen

Sie haben das Recht, eine Bestätigung darüber zu verlangen, ob betreffende Daten verarbeitet werden und auf Auskunft über diese Daten sowie auf weitere Informationen und Kopie der Daten entsprechend Art. 15 DSGVO.

Sie haben entsprechend. Art. 16 DSGVO das Recht, die Vervollständigung der Sie betreffenden Daten oder die Berichtigung der Sie betreffenden unrichtigen Daten zu verlangen.

Sie haben nach Maßgabe des Art. 17 DSGVO das Recht zu verlangen, dass betreffende Daten unverzüglich gelöscht werden, bzw. alternativ nach Maßgabe des Art. 18 DSGVO eine Einschränkung der Verarbeitung der Daten zu verlangen.

Sie haben das Recht zu verlangen, dass die Sie betreffenden Daten, die Sie uns bereitgestellt haben nach Maßgabe des Art. 20 DSGVO zu erhalten und deren Übermittlung an andere Verantwortliche zu fordern.

Sie haben ferner gem. Art. 77 DSGVO das Recht, eine Beschwerde bei der zuständigen Aufsichtsbehörde einzureichen.

Widerrufsrecht

Sie haben das Recht, erteilte Einwilligungen gem. Art. 7 Abs. 3 DSGVO mit Wirkung für die Zukunft zu widerrufen

Widerspruchsrecht

Sie können der künftigen Verarbeitung der Sie betreffenden Daten nach Maßgabe des Art. 21 DSGVO jederzeit widersprechen. Der Widerspruch kann insbesondere gegen die Verarbeitung für Zwecke der Direktwerbung erfolgen.

Löschung von Daten

Die von uns verarbeiteten Daten werden nach Maßgabe der Art. 17 und 18 DSGVO gelöscht oder in ihrer Verarbeitung eingeschränkt. Sofern nicht im Rahmen dieser Datenschutzerklärung ausdrücklich angegeben, werden die bei uns gespeicherten Daten gelöscht, sobald sie für ihre Zweckbestimmung nicht mehr erforderlich sind und der Löschung keine gesetzlichen Aufbewahrungspflichten entgegenstehen. Sofern die Daten nicht gelöscht werden, weil sie für andere und gesetzlich zulässige Zwecke erforderlich sind, wird deren Verarbeitung eingeschränkt. D.h. die Daten werden gesperrt und nicht für andere Zwecke verarbeitet. Das gilt z.B. für Daten, die aus handels- oder steuerrechtlichen Gründen aufbewahrt werden müssen.

Nach gesetzlichen Vorgaben in Deutschland, erfolgt die Aufbewahrung insbesondere für 10 Jahre gemäß §§ 147 Abs. 1 AO, 257 Abs. 1 Nr. 1 und 4, Abs. 4 HGB (Bücher, Aufzeichnungen, Lageberichte, Buchungsbelege, Handelsbücher, für Besteuerung relevanter Unterlagen, etc.) und 6 Jahre gemäß § 257 Abs. 1 Nr. 2 und 3, Abs. 4 HGB (Handelsbriefe).

Hosting und E-Mail-Versand

Die von uns in Anspruch genommenen Hosting-Leistungen dienen der Zurverfügungstellung der folgenden Leistungen: Infrastruktur- und Plattformdienstleistungen, Rechenkapazität, Speicherplatz und Datenbankdienste, E-Mail-Versand, Sicherheitsleistungen sowie technische Wartungsleistungen, die wir zum Zwecke des Betriebs dieses Onlineangebotes einsetzen.

Hierbei verarbeiten wir, bzw. unser Hostinganbieter Meta- und Kommunikationsdaten von Besuchern dieses Onlineangebotes auf Grundlage unserer berechtigten Interessen an einer effizienten und sicheren Zurverfügungstellung dieses Onlineangebotes gem. Art. 6 Abs. 1 lit. f DSGVO i.V.m. Art. 28 DSGVO (Abschluss Auftragsverarbeitungsvertrag).

Erhebung von Zugriffsdaten und Logfiles

Wir, bzw. unser Hostinganbieter, erhebt auf Grundlage unserer berechtigten Interessen im Sinne des Art. 6 Abs. 1 lit. f. DSGVO Daten über jeden Zugriff auf den Server, auf dem sich dieser Dienst befindet (sogenannte Serverlogfiles). Zu den Zugriffsdaten gehören Name der abgerufenen Webseite, Datei, Datum und Uhrzeit des Abrufs, übertragene Datenmenge, Meldung über erfolgreichen Abruf, Browsertyp nebst Version, das Betriebssystem des Nutzers, Referrer URL (die zuvor besuchte Seite), IP-Adresse und der anfragende Provider.

Logfile-Informationen werden aus Sicherheitsgründen (z.B. zur Aufklärung von Missbrauchs- oder Betrugshandlungen) für die Dauer von maximal 7 Tagen gespeichert und danach gelöscht. Daten, deren weitere Aufbewahrung zu Beweiszwecken erforderlich ist, sind bis zur endgültigen Klärung des jeweiligen Vorfalls von der Löschung ausgenommen.

Vom Websiteinhaber angepasst
Erstellt mit Datenschutz-Generator.de von RA Dr. Thomas Schwenke




 [ 87 Beiträge ]  Gehe zu Seite 1, 2, 3, 4, 5, 6
Autor Nachricht
 Betreff des Beitrags: Satelitenbahnberechnung, problem mit Formel T=2*PI/n :gelöst
Hallo,
aus Interresse versuche ich gerade alles nötige zu lernen, um die Bahn eines Sateliten zu berechnen. Am anfang, hab ich es mittels dem Tutorial von [url:3w3shhyj]http://www.dc9zp.homepage.t-online.de/page6.htm[/url:3w3shhyj] dc9zp probiert, was aber schon bei den ersten formeln fehlgeschlagen ist, auch wusste ich nicht woher ich keppler-daten bekommen sollte, und bei den armis will ich auch keine genauen informationen lassen :).
Deswegen versuch ich gerade das ganze mittels Wikipedia zu lösen, die benutzen beim Beispiel das NORAD (TLE) Format wo ich auch schon diverse quellen gefunden habe.
Ich hab aber leider bei der formel für T (umlaufzeit) probleme. Entweder ich mach was falsch oder in Wikipdia steht was falsches drinnen.

[url:3w3shhyj]http://de.wikipedia.org/wiki/Satellitenbahnelement#Berechnungsbeispiel[/url:3w3shhyj]
[url:3w3shhyj]http://de.wikipedia.org/wiki/Mittlere_Bewegung#Umrechnungen[/url:3w3shhyj]

Ich habe dabei aus den NORAD-Datensatz die mittlere Bewegung n, in diesem Fall 15,74622749 d^-1

die formel lautet dabei (2*PI)/n :

mein Ergebnis wäre dann 0,399027977d, also 9,57667h, 574,60m oder 34.476,017s, bei wikipdia stehen aber aber 5.487,029 s.

Das ist ein unterschied im Faktor 6!

Wisst ihr was das Problem ist?

mfg. pointhi

NACHTRAG: mit einer anderen Formel funktoiniert es, 1440/n*60


  
 
 Betreff des Beitrags: Re: Satelitenbahnberechnung, problem mit Formel T=2*PI/n
[quote]... Deswegen versuch ich gerade das ganze mittels Wikipedia zu lösen, die benutzen beim Beispiel das NORAD (TLE) Format wo ich auch schon diverse quellen gefunden habe.
Ich hab aber leider bei der formel für T (umlaufzeit) probleme. Entweder ich mach was falsch oder in Wikipdia steht was falsches drinnen.
[url:o37hadsm]http://de.wikipedia.org/wiki/Satellitenbahnelement#Berechnungsbeispiel[/url:o37hadsm]
[url:o37hadsm]http://de.wikipedia.org/wiki/Mittlere_Bewegung#Umrechnungen[/url:o37hadsm]
Ich habe dabei aus den NORAD-Datensatz die mittlere Bewegung n, in diesem Fall 15,74622749 d^-1
die formel lautet dabei (2*PI)/n :
mein Ergebnis wäre dann 0,399027977d, also 9,57667h, 574,60m oder 34.476,017s, bei wikipdia stehen aber aber 5.487,029 s. Das ist ein unterschied im Faktor 6! ....[/quote]Das Problem ist eine kleine Schlamperei -- bei Wiki nicht ganz unüblich, man muß genau hinsehen (nicht Dein Fehler, sonder Wiki's). Deine 5487,029 sec als Umlaufzeit werden aus den Umläufen/Tag und den 86400 sec/Tag errechnet (PI*Daumen spielt da nicht mit rein ...). Ein Tag mit 86400 sec / 15,7..... ergibt 5487,029 sec/Umlauf. Die mittlere Bewegung in Radians bekommst Du dann per 2pi/Umlaufzeit in sec = 0.00114509.... = 1,15 *10e-3 rad/sec.

Laß Dich nicht durch inkonsistente Formelzeichen ins Boxhorn jagen. Die Dinger laufen auf einer Ellipse und es ist "normale" sphärische Trigonometrie, solange Du keine Störungsberechnung machst (Bahndrehung etc.).

73 Peter

Nachtrag: ich hatte das "gelöst" im Header überlesen, vielleicht nutzt es trotzdem. Schau auch mal bei :
.. http://de.wikipedia.org/wiki/Mittlere_Anomalie .. um deren Berechnung es dabei eigentlich geht.


  
 
 Betreff des Beitrags:
ich hab da einfach die seite von dc9zp noch einmal nach der formel durchsucht :), Das Projekt wird sicher nicht einfach werden, und ich brauch sicher noch jede menge hilfe dabei. Es geht nämlich um eine C++ Bibliotek für die Bahnberechnung die ich dann ins internett stellen will.

Der TLE-Datensatz wird bis auf einen kleine Bug schon richtig ausgelesen, die Ermittlung der Umlaufdaten funktioniert auch schon bis auf die exzentrische Anomalie.
Weißt du wie ich die Berechnen kann?, [url:3kbgs947]http://de.wikipedia.org/wiki/Kepler-Gleichung#Berechnung_der_exzentrischen_Anomalie[/url:3kbgs947]

Auch mit meinen mathematischen Kenntnissen weiß ich dass man die Gleichung nicht normla lösen kann, und numerische Lösungsansätze hab ich noch nie benutzt. Falls das Thema zu komplex sein sollte, warte ich einfach bis Freitag, und Frage meinen Mathelehrer darüber aus.

mfg. pointhi


  
 
 Betreff des Beitrags:
So ungefähr (aus einer alten VB-Anwendung rauskopiert...):
[code:za12pv5z]
eccentricAnomaly = meanAnomaly //Startwert

Do
eccentricAnomalyOld = eccentricAnomaly //letztes E merken
eccentricAnomaly = meanAnomaly + eccentricity * Sin(eccentricAnomaly) //neues E berechnen
Loop Until Abs(eccentricAnomaly - eccentricAnomalyOld) < epsilon //solange bis Differenz < epsilon
[/code:za12pv5z]

Als epsilon wählte ich 0.0000001 Radians.


  
 
 Betreff des Beitrags:
also die methode versuch und irrtum? :). Kann mich dann da gleich in der erstellung rechenschonender algorithmen probieren.

mfg. pointhi


  
 
 Betreff des Beitrags:
[quote]also die methode versuch und irrtum?[/quote]
Nein, [url=http://de.wikipedia.org/wiki/Iteration:yl1fjfb2]Iteration[/url:yl1fjfb2]. Mit "raten" hat das nichts zu tun.

Die o.g. Methode ist nur eine von vielen, um die Kepler-Gleichung zu lösen. Insbesondere ist sie für große Exzentrizitäten nicht gut geeignet. Als "universelle" Implementierung verwende ich beispielsweise:
[code:yl1fjfb2]
Public Sub MeanAnomToExAnom(ByVal meanAnomaly As Double, ByVal eccentricity As Double, ByRef eccentricAnomaly As Double, ByRef noConvergence As Boolean)
Const MAX_ITERATIONS As Long = 100
Const PERIHEL_SURROUND As Double = 30#

Dim eccentricAnomalyOld As Double
Dim diff As Double
Dim diffOld As Double
Dim alpha As Double
Dim beta As Double
Dim z As Double
Dim s0 As Double
Dim s As Double
Dim iterationsCounter As Long

If eccentricity < 0.25 Then
eccentricAnomaly = meanAnomaly

Do
eccentricAnomalyOld = eccentricAnomaly
eccentricAnomaly = meanAnomaly + eccentricity * Sin(eccentricAnomaly)
Loop Until Abs(eccentricAnomaly - eccentricAnomalyOld) < EPSILON_KEPLER
Else
If eccentricity > 0.975 Then
If meanAnomaly < PERIHEL_SURROUND * radian Or meanAnomaly > (ANG360 - PERIHEL_SURROUND) * radian Then
alpha = (1# - eccentricity) / (4# * eccentricity + 0.5)
beta = meanAnomaly / (8# * eccentricity + 1#)
z = CubeRoot(beta + Sgn(beta) * Sqr(beta * beta + alpha * alpha * alpha))
s0 = z - alpha / 2#
s = s0 - 0.078 * s0 * s0 * s0 * s0 * s0 / (1# + eccentricity)
eccentricAnomaly = meanAnomaly + eccentricity * (3# * s - 4# * s * s * s)
Else
eccentricAnomaly = meanAnomaly
End If
Else
eccentricAnomaly = meanAnomaly
End If

iterationsCounter = 0
diff = MAX_DOUBLE
noConvergence = False

Do
iterationsCounter = iterationsCounter + 1
diffOld = diff
diff = (meanAnomaly + eccentricity * Sin(eccentricAnomaly) - eccentricAnomaly) / _
(1# - eccentricity * Cos(eccentricAnomaly))
eccentricAnomaly = eccentricAnomaly + diff

If diff >= diffOld And iterationsCounter > MAX_ITERATIONS Then
noConvergence = True
End If
Loop Until Abs(diff) < EPSILON_KEPLER Or noConvergence
End If
End Sub
[/code:yl1fjfb2]

Ist natürlich ohne Kenntnis gewisser Hintergründe und Randbedingungen bzw. Programmvariablen nicht sehr aufschlussreich. Es verdeutlicht aber, dass die Lösung der Kepler-Gleichung nicht trivial ist.

Du kannst dich ja mal in diverse Fachliteratur einlesen. LMAO
Online z. B. hier: [url=http://books.google.de/books?id=VS69q_13w6YC&lpg=PA64&ots=P4nmI6b6Kc&dq=keplergleichung&hl=de&pg=PA61#v=onepage&q=keplergleichung&f=false:yl1fjfb2]Astronomie Mit Dem Personal Computer[/url:yl1fjfb2]. Oder auch mit dem "Meeus" (Astronomische Algorithmen).


  
 
 Betreff des Beitrags:
Deine erste formel:

[code:6vtwpjwi] eccentricAnomaly = meanAnomaly //Startwert

Do
eccentricAnomalyOld = eccentricAnomaly //letztes E merken
eccentricAnomaly = meanAnomaly + eccentricity * Sin(eccentricAnomaly) //neues E berechnen
Loop Until Abs(eccentricAnomaly - eccentricAnomalyOld) < epsilon //solange bis Differenz < epsilon [/code:6vtwpjwi]

hat bei meiner interpretation:

[code:6vtwpjwi]ttu_dhelp = tuhse_umlbout->umlb_mano;
std::cout.precision(15);
do
{
ttu_dhelpold = ttu_dhelp;
ttu_dhelp = tuhse_umlbout->umlb_mano + tuhse_umlbout->umlb_exz * std::sin(ttu_dhelp*M_PI/180);
std::cout << ttu_dhelp << std::endl;
}
while((ttu_dhelp - ttu_dhelpold)<= 0.0000001);[/code:6vtwpjwi]

nur Fehler gemacht.

tuhse_umlbout->umlb_mano ist die Mittlere Anomalie Μ
tuhse_umlbout->umlb_exz ist die numerische Exzentrizität der Umlaufbahn.

Ich werd meinen Mathematikleherer mal deswegen fragen und versuchen das Newton Verfahren zu verstehen.
[url:6vtwpjwi]http://tmech.mechatronik.uni-linz.ac.at/staff/gerstmayr/gerstm_web/Kapitel34.pdf[/url:6vtwpjwi]

mfg. pointhi


  
 
 Betreff des Beitrags:
Welche Fehler waren das denn?
Mir ist übrigens aufgefallen, dass du beim Prüfen der While-Bedingung nicht den Betrag der Differenz prüfst, sondern die Differenz direkt.


  
 
 Betreff des Beitrags:
Abs(eccentricAnomaly - eccentricAnomalyOld)

Das Abs könnte das Problem sein. Ich behersche leider nur Visual Basic und das auch nicht besonders gut(c find ich einfach besser).

Der Fehler ist dass sich bei 0.0000001 das ergebniss von:

251,742760971732707 nach der ersten berechnung
auf:
251,742760975785814 und dann auf
251,742760975785785 feststeckt.

Es kommt am schluss also eine endlosschleife mit:

251,742760975785785
251,742760975785785
251,742760975785785
251,742760975785785
251,742760975785785
...

Das ist das Problem.

Der Datensatz den ich berechne ist der von der ISS aus dem jahre 2006, der in Wikipedia ist.

Ich hab das ganze noch einmal in Excel geschrieben. Wenn die numerische Exzentrizität der Umlaufbahn ε positiv ist enfernt sich der wert immer mehr vom gewollten ergebniss, wenn ich die exzentritität aber negativ mache komm ich aber nach etwa 150 Berechnungen zum ungefähren ergebnis von 251,695683

mfg. pointhi


  
 
 Betreff des Beitrags:
[quote]Das Abs könnte das Problem sein.[/quote]Das Abs muss auf jeden Fall mit rein. Ansonsten hast du statistisch gesehen bei jedem zweiten Aufruf der Funktion Murks.

[quote]c find ich einfach besser[/quote]Naja, warum nicht was moderneres? Java oder C# z. B.

Und zum Problem mit dem 251,742760975785785: Schon der erste Iterationsschritt liefert einen Differenzbetrag, der kleiner ist als der von dir gewählte Wert 0.0000001, nämlich 0.000000004053106. Demnach kann die Schleife schon nach dem ersten Schritt abgebrochen werden.

Unabhängig davon kann es aber passieren, insbesondere bei hohen Exzentrizitäten, dass die Iteration nicht konvergiert. Z. B. wenn letzter und vorletzter Wert oszillieren und munter ihre Vorzeichen wechseln. Das muss das Boot dann abkönnen, sprich die Implementierung muss das erkennen und ggf. etwas anderes versuchen (anderer Algorithmus, anderer Startwert, ...).


  
 
 Betreff des Beitrags:
Jetzt erst gesehen:
[quote]Wenn die numerische Exzentrizität der Umlaufbahn ε positiv ist enfernt sich der wert immer mehr vom gewollten ergebniss, wenn ich die exzentritität aber negativ mache komm ich aber nach etwa 150 Berechnungen zum ungefähren ergebnis von 251,695683[/quote]
Auf welchen Quellentext beziehst du dich eigentlich? Ich frage deshalb, weil üblicherweise die numerische Exzentrizität nicht mit ε, sondern mit e abgekürzt wird. Und sie kann auch niemals negativ sein.


  
 
 Betreff des Beitrags:
Das mit den Alternativen formeln werde ich nachher sowieso machen müssen. Aber jetzt geht es erstmal darum das diese eine Formel funktioniert :)

Ich hab die formel so verändert:

[code:2o66ox8s]ttu_dhelp = tuhse_umlbout->umlb_mano;
std::cout.precision(15);
do
{
ttu_dhelpold = ttu_dhelp;
ttu_dhelp = tuhse_umlbout->umlb_mano + tuhse_umlbout->umlb_exz * std::sin(ttu_dhelp*M_PI/180);
std::cout << ttu_dhelp << std::endl;
}
while(std::abs(ttu_dhelp - ttu_dhelpold)< 0.0000001);

tuhse_umlbout->umlb_exano = ttu_dhelp;[/code:2o66ox8s]

[quote]//solange bis Differenz < epsilon [/quote]

aber müsste ich nicht ein > reinschreiben? die While wird ja solange ausgeführt bis sie 0 ist. Das wäre schon gegeben wenn die diferenz 0.00000011 wäre. Anders gesagt, sie würde sofort abgebrochen wenn die diferenz größer als epsilon ist.

Und C# behersche ich auch :), nur diese Bibliotek soll in ANSI C++ geschrieben sein und nur die standardbibliotek verwenden, damit man sie auch in Linux, Mac, "Handy",... verwenden kann, solange das Programm in C++ geschrieben ist.
Die Bibliotek soll sozusagen später eine Erleichterung darstellen damit man das Rad nicht immer neu erfinden muss und sich gleich aufs wesentliche konzentrieren kann. Und für mich ist die Bibliotek eine gute Übung für Mathe und Programmieren. Ist ja komplett OOP gehalten.

mfg. pointhi


  
 
 Betreff des Beitrags:
[quote][quote]//solange bis Differenz < epsilon [/quote]
aber müsste ich nicht ein > reinschreiben? die While wird ja solange ausgeführt bis sie 0 ist. Das wäre schon gegeben wenn die diferenz 0.00000011 wäre. Anders gesagt, sie würde sofort abgebrochen wenn die diferenz größer als epsilon ist.[/quote]. Ja: > und nicht <, weil du aus "meiner" Loop Until- eine While-Schleife gemacht hast. ;-) Da dreht sich natürlich die boolesche Logik um.


  
 
 Betreff des Beitrags:
ich hab mich auf meinem quelltext bezogen, bzw. auf die interprettation von ihrem, epsilon hab ich von wikipedia übernommen (numerische Exzentrizität: \epsilon = 0,0008835)
[url]
http://de.wikipedia.org/wiki/Satelliten ... d_Position[/url]

Nachtrag:

meine Formel ist jetzt:
[code:36seafsg]
ttu_dhelp = tuhse_umlbout->umlb_mano;
std::cout.precision(15);
do
{
ttu_dhelpold = ttu_dhelp;
ttu_dhelp = tuhse_umlbout->umlb_mano + tuhse_umlbout->umlb_exz * std::sin(ttu_dhelp*M_PI/180);
std::cout << ttu_dhelp << std::endl;
}
while(std::abs(ttu_dhelp - ttu_dhelpold)> 0.0000001);

tuhse_umlbout->umlb_exano = ttu_dhelp;[/code:36seafsg]

Sie macht 2 durchläufe:

251.742760971732707
251.742760975785814

immer noch zu weit vom "erwünschten "ergebniss entfernt

mfg. pointhi


  
 
 Betreff des Beitrags:
Nimmst du denn auch sämtliche Winkel im Bogenmaß? Z. B. wird ja zu tuhse_umlbout->umlb_mano in der Schleife immer aufaddiert.

--
Gerade mit meiner Funktion getestet: Nach 3 Schleifendurchläufen komme ich zum Ergebnis 251,695540539908.


  
 

Sitemap Elektronikforum Elektroshop PostgreSQL Forum