Hallo Forum-Community
Mein Name ist Christian und ich bin neu hier.
Seit ein paar Tagen lerne ich mit Hilfe der Evaluierungsversion ein wenig LabView, bevor ich dann auf die Messrechner losgelassen werde
Ich habe dafür ein ganz nützliches Einführungsskript von Marko Aschoff gefunden und gehe dies Schritt für Schritt mit den Übungen durch.
Dort wurde die Aufgabe gestellt ein VI zu programmieren, dass Zufallskoordinaten in einem quadratischen Feld zwischen jeweils +/-1 erstellt, prüft ob diese innerhalb eines Kreises mit dem Radius 1 liegt, die Trefferzahl und die Trefferquote ausgibt und die einzelnen "Schüsse" in einem Graphen visualisiert.
Mein VI erfüllt (soweit ich das erkennen kann) alle diese Aufgaben. Kommt mir aber noch ein wenig zu umfangreich vor. Vor allem irritiert mich die hohe Rechendauer. Schon bei kleinen Werten (100-1000) kommt es mir zu langsam vor. Beim Wert 10000 konnte ich mir fast noch einen Kaffee holen.
Beim Pausieren stellte ich fest, dass es am längsten im zweiten Teil der Sequenz braucht.
Daher kurz eine Erläuterung, was eigentlich da alles passiert.
Zuerst werden die Zufallszahlen generiert und auf die passende Größe umgerechnet. Wegen meiner späteren "Sortierung" müssen dabei 0-Einträge ausgeschlossen werden. Danach wird je nachdem, ob der Punkt im Kreis liegt oder nicht der jeweilige Punkt in Spalte 1+2 bzw. 3+4 eines Arrays gespeichert. (Beim Speichern in Spalte 1+2 bleiben Spalten 3+4 Null)
Daraufhin kann bereits die Zahl der Treffer und die Trefferquote ausgegeben werden.
Danach drösel ich das Array in die einzelnen Zeilen auf und prüfe auf 0-Einträge. Diese werden dann aus dem 1-D-Array gelöscht. (Damit ich bei der Visualisierung nicht x-mal den Punkt 0/0 angezeigt bekomme)
Die einzelnen korrigierten Zeilen werden nun zu Clustern zusammengefasst und zusammen mit einem vorher gezeichnetem Kreis visualisiert.
Der letzte Teil in dem die Zeilen auf 0-Einträge geprüft werden dauert scheinbar am längsten.
Wie könnte ich diesen Teil optimieren?
Bzw. wie könnte ich bei der Überprüfung "Liegt der Punkt im Kreis oder nicht?" geschickter vorgehen?
Vielen Dank schonmal!
Gruß,
Christian