|
| |

Fortgeschrittene Programmierung| Mittelwerte von Gradzahlen (Winkel 0-360) als Tipp, ggf andere Ideen? | |  | | Autor: Hakiri | | Datum: 24.02.15 20:59 |
| Wenn man Gradzahlen (Kompasswerte 0 – 360) als Messreihe aufnimmt und den Mittelwert bilden möchte, dann geht es nicht so einfach, indem man die Summe bildet und dann durch die Anzahl der Datensätze teilt. Wenn sich die Messwerte um die Wert 0/360 herum bewegen wird es zu Fehlern kommen.
Es bleibt einem also nichts anderes übrig, über die Winkelfunktion COS und Sin die jeweiligen x/y Anteile zu übermitteln, diese dann auf zu addieren, daraus den Schnitt bilden und am Ende mittels Arcus Tangens den Winkel zu ermitteln, und dann noch von die Randbedingungen zu überprüfen, da es immer zwei Lösungen gibt, denn ATN liefert nur Werte von -90 bis + 90.
Das folgende Beispiel beinhaltet eine Funktion, um dies zu lösen, das Datenarray dient hier als Beispiel und könnte dann übergeben werden.
Dim V As Variant
Dim i As Long, c As Long
Dim X As Double, Y As Double
Dim W As Double
V = Array(359, 358, 360, 2, 1) ' V = Array(200, 201, 202, 199, 198)
X = 0: Y = 0
For i = LBound(V) To UBound(V)
X = X + Sin(V(i) * Pi / 180)
Y = Y + Cos(V(i) * Pi / 180)
c = c + 1
Next i
X = X / c: Y = Y / c
If Y = 0 Then
W = IIf(X > 0, 90, 270)
Else
W = Atn(X / Y) * 180 / Pi
If Y > 0 Then
If W < 0 Then W = W + 360
Else
W = W + 180
End If
End If
Debug.Print Format(W, "###0.0") Martin Domian
CioTec Ltd
F37 Waterfront Studios 1 Dock Road
London E16 1AH United Kingdom
Tel.: +44 7810 255482
Mail: MDomian@ciotec.de
URL: http://www.ciotec.de
UTR 64446 15259 (Unique Taxpayer Reference) Company No 10914665
Beitrag wurde zuletzt am 24.02.15 um 21:06:00 editiert. |  |
 | Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
  |
|
sevISDN 1.0 
Überwachung aller eingehender Anrufe!
Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Weitere InfosTipp des Monats Neu! sevCommand 4.0 
Professionelle Schaltflächen im modernen Design!
Mit nur wenigen Mausklicks statten auch Sie Ihre Anwendungen ab sofort mit grafischen Schaltflächen im modernen Look & Feel aus (WinXP, Office, Vista oder auch Windows 8), inkl. große Symbolbibliothek. Weitere Infos
|
| |
|
Copyright ©2000-2025 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|