' schrieb:hallo,
in LV sollte man vorzugsweise die array funktionen einsetzen, die sehr effizient sind.
mein vorschlag: 2D in 1D wandeln und Mean.vi verwenden
gruss
Ja klar, aber was ist denn am Aufsummieren und Teilen VIs nicht effizient?
Was denkst du was Mean.vi intern macht?
eg
' schrieb:Kann man das ganze durch 2 geschachtelte for Schleifen realisieren?
Möglich wärs schon, aber wenn man es einfach will dann genügt eine Schleife:
[
attachment=8696]
zur Ausführungszeit hätte ich auch noch was dazu.
Das wurde entweder hier oder im LAVA-forum diskutiert:
die ausführung mit Add-Divide ist schneller als das Mean.vi
vgl. Bild
Gruss,
Christian
<!--quoteo(post=36642:date=18.09.2007 , 10:29:42:name=<<oenk>>)--><div class='quotetop'>ZITAT(<<oenk>> @ 18.09.2007 , 10:29:42) [url=index.php?act=findpost&pid=36642][/url]</div><div class='quotemain'><!--quotec-->zur Ausführungszeit hätte ich auch noch was dazu.
Das wurde entweder hier oder im LAVA-forum diskutiert:
die ausführung mit Add-Divide ist schneller als das Mean.vi
vgl. Bild
Gruss,
Christian[/quote]
Wenn man noch die Umformung 2D->1D dazurechnet wird es noch langsamer. Noch schlimmer: das Array wird im SubVI (weil es ein Control ist) kopiert, somit wird doppelt soviel Speicher gebraucht.
eg
<!--quoteo(post=36642:date=18.09.2007 , 10:29:42:name=<<oenk>>)--><div class='quotetop'>ZITAT(<<oenk>> @ 18.09.2007 , 10:29:42) [url=index.php?act=findpost&pid=36642][/url]</div><div class='quotemain'><!--quotec-->die ausführung mit Add-Divide ist schneller als das Mean.vi[/quote]
Da hast ja recht, aber diese absoluten Unterschiede sind bei den meisten Anwendungen eher unwichtig. Demgegenüber ist eine andere Zeit viel signifikanter:
Im oberen Beispiel braucht ein externer Betrachter 0.0 sec, um zu wissen was da gemacht wird. Im unteren sind es vielleicht 10 sec - und das nur wegen eines winzigen Details in einem insgesamt viel umfangreicheren Programms.
Man sollte (- oder zumindest ich mache es so -), wenn die Ausführungszeit nicht wichtig ist, immer die Variante wählen, die sich am besten von selbst dokumentiert. Deshalb verwende ich auch manchmal, z.B wenn ich hier einen Vorschlag mache, lieber lokale Variable oder versteckte Elemente anstatt die schnelleren Schieberegister.
In Übrigen ist es eine allgemein anerkannte gute Programmiertechnik, Subroutinen auch dann einzurichten, wenn sie im Hauptprogramm nur ein einziges Mal ausgeführt werden. Dauert zwar etwas länger, aber die gewonnene Übersichtlichkeit ist das wert.
Ja Lucki, du hast recht....
ich verwende es eigentlich auch immer als fertiges VI, da die Performance in den seltesten Fällen so optimiert werden müsste. Ich wollte nur Beitrag #11 komentieren und die damals gelesene Information weitergeben.