23.10.2007, 16:49
(Dieser Beitrag wurde zuletzt bearbeitet: 04.12.2007 22:01 von jg.)
Beitrag #1
|
|
|
23.10.2007, 18:10
Beitrag #2
|
Lucki
Tech.Exp.2.Klasse
Beiträge: 7.699
Registriert seit: Mar 2006
LV 2016-18 prof.
1995
DE
01108
Deutschland
|
Wo steckt der Fehler???
' schrieb:Hallo Leute, habe ein VI zur Umrechnung der XYZ Koordinaten in ellipsoidische GPS-Koordinaten erstellt, finde aber nicht wo der Fehler steckt. Wenn jemand Zeit und Lust hat, kann mal seine Mathekenntnisse bzw. LV-Kenntnisse ausprobieren.
Es wäre da schon ein Erleichterung, wenn Du für wenigstens einen Inputwert [X,Y,Z] den dazugehörenden richtigen Ausgangswert [B,L,h] zur Verfügung stellen könntest.
|
|
|
23.10.2007, 21:04
(Dieser Beitrag wurde zuletzt bearbeitet: 23.10.2007 22:15 von eg.)
Beitrag #3
|
eg
LVF-SeniorMod
Beiträge: 3.868
Registriert seit: Nov 2005
2016
2003
kA
66111
Deutschland
|
Wo steckt der Fehler???
' schrieb:Es wäre da schon ein Erleichterung, wenn Du für wenigstens einen Inputwert [X,Y,Z] den dazugehörenden richtigen Ausgangswert [B,L,h] zur Verfügung stellen könntest.
Zum Beispiel:
antenna WGS 84 (xyz) : -1587177.6436 -4267813.2764 4454771.3505 (m)
muss sein:
antenna WGS 84 (geo) : 44.565083 deg 249.600093 deg 2462.0423 m
Diese Werte habe ich auf einer Intrernetseite gefunden und denke, daß sie richtig sind, aber trotzdem keine Haftung dafür.
Andere Sache wäre die Gegenprüfung, die soll auf jeden Fall klappen. Ein paar Werte sind auch auf dem FP Screenshot zu sehen.
Danke schon mal für dein Interesse, eg
|
|
|
24.10.2007, 08:51
(Dieser Beitrag wurde zuletzt bearbeitet: 04.12.2007 22:02 von jg.)
Beitrag #4
|
derTetris
LVF-Stammgast
![*](images/labview/lvfpip.gif) ![*](images/labview/lvfpip.gif) ![*](images/labview/lvfpip.gif)
Beiträge: 267
Registriert seit: Oct 2006
8.5
2005
de
6456
Deutschland
|
Wo steckt der Fehler???
Hi,
ich hab mich auch mal dran versucht und eine andere Formel für H gefunden, allerdings funktioniert L noch nicht!
Gruß
XYZ_To_BLH.vi (Größe: 110,61 KB / Downloads: 193)
(VI LV 8.5)
|
|
|
24.10.2007, 09:26
(Dieser Beitrag wurde zuletzt bearbeitet: 04.12.2007 22:02 von jg.)
Beitrag #5
|
|
|
24.10.2007, 09:48
Beitrag #6
|
Y-P
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
Beiträge: 12.612
Registriert seit: Feb 2006
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
|
Wo steckt der Fehler???
Was mich interessiert ist, wieso am Anfang der Realteil von x und der Realteil von y in r umgewandelt werden (mit Re/Im to polar).
Gruß Markus
--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
|
|
|
24.10.2007, 09:55
(Dieser Beitrag wurde zuletzt bearbeitet: 24.10.2007 09:59 von eg.)
Beitrag #7
|
eg
LVF-SeniorMod
Beiträge: 3.868
Registriert seit: Nov 2005
2016
2003
kA
66111
Deutschland
|
Wo steckt der Fehler???
' schrieb:Hab mirs mal zur Brust genommen, jetzt scheint es zu stimmen.
Die Fehler waren:[list=1]
[*]Die Formel (4.14) muß richtig heißen: L=atan(y/x)<>
[*]N(i) falsche Berechnung, es wurde sin(B^2) statt (sin(B))^2 verwendet<>
[*]Zur Berechnung von B(i) muß N(i) verwendet werden und nicht N(i-1)<>
[*]atan ist nicht eindeutig, Für X<0 sollte Pi addiert werden.<>
[st]
Ich kann nur eins sagen: ich bin kein Mathematiker, gut, daß sich jemand (Lucki) damit auskennt und Zeit dafür genommen hat. Ich glaube, man kann für atan atan2 nehmen um die Eindeutigkeit zu schaffen.
Zum Punkt 2 - echt peinlich für mich
Zum Punkt 3 - ich hätte viel Zeit gebraucht um drauf zu kommen.
' schrieb:Habe auch die For-Schleife durch while ersetzt. Hoffe damit geholfen zu haben
Und wie!!! Übrigens, die For-Schleife wollte ich später auch durch While ersetzen, ich wusste nur die Abbruchbedingug nicht, Ist denn Epsilon nicht zu klein dafür? Ist es eine sichere Abbruchbedingung, nicht daß, das Programm hier hängen bleibt?
Ich danke vielmals, eg
P.S. noch eine kurze Frage: wie kommst du auf die Verwendung von komplexen Zahlen hier?
|
|
|
24.10.2007, 09:59
Beitrag #8
|
Lucki
Tech.Exp.2.Klasse
Beiträge: 7.699
Registriert seit: Mar 2006
LV 2016-18 prof.
1995
DE
01108
Deutschland
|
Wo steckt der Fehler???
' schrieb:Was mich interessiert ist, wieso am Anfang der Realteil von x und der Realteil von y in r umgewandelt werden (mit Re/Im to polar).
Gruß Markus
Ja, das ist etwas irritierend, da es ein "Missbräuchliche Verwendung" dieser Funktion ist. Vergiß die komplexen Zahlen, ich verwende sie einfach zur Berechnung von sqrt(x^2 + y^2). Für eine "normale" Berechnung (siehe eg) würde man dafür 3 Funktionssymbole verbrauchen müssen.
|
|
|
24.10.2007, 10:18
Beitrag #9
|
eg
LVF-SeniorMod
Beiträge: 3.868
Registriert seit: Nov 2005
2016
2003
kA
66111
Deutschland
|
Wo steckt der Fehler???
' schrieb:Ja, das ist etwas irritierend, da es ein "Missbräuchliche Verwendung" dieser Funktion ist. Vergiß die komplexen Zahlen, ich verwende sie einfach zur Berechnung von sqrt(x^2 + y^2). Für eine "normale" Berechnung (siehe eg) würde man dafür 3 Funktionssymbole verbrauchen müssen.
Geiler Trick.
|
|
|
24.10.2007, 10:45
(Dieser Beitrag wurde zuletzt bearbeitet: 24.10.2007 10:55 von Lucki.)
|
Lucki
Tech.Exp.2.Klasse
Beiträge: 7.699
Registriert seit: Mar 2006
LV 2016-18 prof.
1995
DE
01108
Deutschland
|
Wo steckt der Fehler???
' schrieb:Ich glaube, man kann für atan atan2 nehmen um die Eindeutigkeit zu schaffen
Danke für den Hinweis, natürlich geht das, ich kannte die Funktion nur nicht. Wenn Du erreichen willst, daß die Werte im Bereich 0...359 und nicht im Bereich -180..+180 angezeigt werden, solltes Du aber danach noch die Operation if(winkel<0) then Winkel=Winkel+2*Pi ausführen.
Zitat:Ist denn Epsilon nicht zu klein dafür? Ist es eine sichere Abbruchbedingung, nicht daß, das Programm hier hängen bleibt?
Das hatte ich auch befürchtet, und wollte eigentlich als Abbruchbedingung nicht die Maschinenungenauigkeit, sondern z.B das 10fache davon verwenden. Dann habe ich aber gesehen, daß nicht mehr als 6 Iterationen gebraucht werden. Ich denke auch, daß NI diese Konstante genau für diesen Zweck geschaffen hat, so daß deshalb ein solcher Abbruch immer sauber funktioniert. Die Schleife bleibt glaube ich hängen bzw. läuft ewig, wenn für x,y,z Nullen eingegeben werden (Oder vielleicht wenn nur einer davon null ist) Das sollte man mal checken.
Zitat:wie kommst du auf die Verwendung von komplexen Zahlen hier?
Das hat mit komplexen Zahlen überhaupt nichts zu tun, man kann diese komplexen Funktionen auch ganz allgemein zur Umrechnung vom zweidimensionalen kartesischen Kooardinaten (x,y) in Polarkoordinaten (r, phi) und umgekehrt verwenden. Also denke Dir einfach die Eingangsnamen (re, im) durch die Bezeichnungen (x,y) ersetzt, und damit sollten dann alle Assoziationen zu komlexen Zahlen beseitigt sein.
|
|
|
| |