03-24-2016 04:29 AM
llo Criss,
in meinem letzten Beispiel werden nur die Werte > 0 in das Array übertrsgen und nur die werden für die Berechnung berücksichtigt. Der NoValue Wert wird nur angezeigt, wenn ein Wert < 0 gemessen wurde, hat auf die Berechnung aber keinen Einfluß. Bei Bedarf könnte aber auch das letzte gültige Quantil angezeigt werden.
Gruß
Walter
03-24-2016 05:42 AM
Achso. das klingt super. Wo muss ich das im Script ändern, dass dann das letzte gültige Quantil angezeigt wird?
Viele Grüße Criss
03-24-2016 05:48 AM
Hier sind die Änderungen
Gruß
Walter
03-29-2016 12:51 AM
Hallo Walter,
also bis jetzt läuft es echt gut. Nocheinmal vielen Dank!
Was mir aber noch Kopfzerbrechen bereitet ist die feste Länge des Arrays. Gibt es vielleicht doch eine Möglichkeit diese varibel bzgl. der Eingangswerte zu gestalten?
So, dass das Array nur so lang ist wie auch tatsächlich Werte existieren.
Denn ich habe einzelne Geschwindigkeitsbereiche in denen sehr viele Werte auftreten und andere in denen die Anzahl der Werte eher überschaubar ist. Die dynamische Fahrweise soll aber über die gesamte Messfahrt betrachtet werden.
Viele Grüße
Criss
03-29-2016 01:46 AM
Hallo Criss,
ich hatte anfangs schon einmal darauf hingewiesen, dass allein die Performance zum Sortieren der Daten einen entscheidenden Einfluß hat. Hierzu weiter unten ein paar Messergebnisse auf einem duchschnittlich schnellen Rechner. Ich habe nur die Zeit zum Sortieren von 3 unterschiedlich großen Arrays gemessen:
Array mit 100 Werten dauert 0.0015s
Array mit 500 Werten dauert 0.034s
Array mit 1000 Werten dauert 0.25s
Das bedeutet, dass bei einem Array mit 1000 Werten eine Taktrate von 2 Hz nur noch sinnvoll ist. Jetzt kann man sicherlich einen sehr schnellen Rechner und vielleicht einen schnelleren Sortieralgorithmus einsetzten, aber das verschiebt das Problem nur ein wenig.
Gruß
Walter
03-29-2016 01:58 AM
Ja ich weiß, dass die Länge des Arrays eine entschiedende Rolle spielt.
Mein Messtakt liegt nur bei 1 Hz. Mehr ist für die Untersuchung nicht vorgegeben.
Deshalb wäre eine Variable Array-Länge echt toll. Oder ist das gar nicht möglich?
Viele Grüße
Criss
03-29-2016 07:03 AM
Theoretisch kann man auch ein array dynamisch anlegen. Da das dann aber mit jedem Takt gemacht werden muss, wird es richtig langsam. Das Script is so aufgebaut, das ohnehin nur die relevanten Daten Einfluß nehmen (im unten stehenden Script habe ich noch eine Korrektur gemacht).
Auf meinem Rechner is bei einer Länge von 1500 - 2000 Werten für das Array und einem Hz Taktrate eine Grenze erreicht. Das entspricht gut 25 Minuten Messfahrt ohne das ein Wert überschrieben wird.
Gruß
Walter
03-29-2016 07:19 AM
Könntest du das Script bitte noch anhängen?
Viele Grüße
Criss
03-29-2016 07:22 AM
Da war ich etwas zu schnell. Hier ist es...
Gruß
Walter
03-30-2016 01:14 AM
Guten Morgen,
ich bin es schonwieder. Ich habe das mal nachgerechnet.
Das Script ermittelt das 95. Quantil von dem gesamten Array. Wenn ich also in der Arraygröße nicht die tatsächliche Anzahl der Werte eingebe die auftreten sondern mehr, dann kommt ein anderer Wert als erwartet raus.
Kann man nur die in das Array übertragenen Werte berücksichtigen?
Ansonsten würde ich trotz der hohen Anforderungen an die Rechnerleistung ein dynamsichen Array probieren wollen. Vielleicht funktioniert es ja.
Könntest du mir da bitte nocheinmal helfen Walter?
Viele Grüße
Criss