INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Dieses Thema hat akzeptierte Lösungen:

Effizienter Programmieren



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

28.05.2013, 16:20
Beitrag #1

ChrisSchul Offline
LVF-Neueinsteiger


Beiträge: 2
Registriert seit: May 2013

12
2013
DE



Effizienter Programmieren
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 Wink


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


Angehängte Datei(en)
12.0 .vi  schuesse.vi (Größe: 28,68 KB / Downloads: 224)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
30
Antwort schreiben 


Nachrichten in diesem Thema
Effizienter Programmieren - ChrisSchul - 28.05.2013 16:20
RE: Effizienter Programmieren - GerdW - 28.05.2013, 16:37
RE: Effizienter Programmieren - Y-P - 29.05.2013, 07:51
RE: Effizienter Programmieren - jg - 28.05.2013, 20:31
RE: Effizienter Programmieren - GerdW - 29.05.2013, 07:56
RE: Effizienter Programmieren - Y-P - 29.05.2013, 09:19
RE: Effizienter Programmieren - GerdW - 29.05.2013, 09:40
RE: Effizienter Programmieren - Lucki - 29.05.2013, 12:27

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Programmieren im Formelknoten DrHoas 9 12.680 26.06.2021 23:22
Letzter Beitrag: Martin.Henz
  Tic Tac Toe Programmieren OenerSer 3 2.955 11.05.2021 09:26
Letzter Beitrag: OenerSer
  Labview Memory Programmieren OenerSer 5 3.740 27.04.2021 13:05
Letzter Beitrag: GerdW
  Statemachine programmieren… Granit 8 10.798 30.04.2017 16:42
Letzter Beitrag: Granit
  Übersichtliches Programmieren LabVIEW cobain2004 2 4.339 29.10.2015 17:57
Letzter Beitrag: IchSelbst
  Automatischen Ablauf programmieren Freaky29 3 4.967 03.02.2015 11:27
Letzter Beitrag: Freaky29

Gehe zu: