LabVIEWForum.de
Mathscript und große Arrays - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Module (/Forum-LabVIEW-Module)
+---- Forum: LabVIEW MathScript RT (/Forum-LabVIEW-MathScript-RT)
+---- Thema: Mathscript und große Arrays (/Thread-Mathscript-und-grosse-Arrays)

Seiten: 1 2


Mathscript und große Arrays - horatius - 11.05.2009 02:47

Um mich nicht ständig mit aufwendigen Verdrahtungen herumzuärgern, nehme ich Mathscript um große Arrays (mehrere hunderttausend Einträge, Speicherproblem) zu erzeugen. Das Problem ist, dass Mathscript als Array nur double float durchgehen lässt. Eigentlich würde mir schon int16 oder wenigstens single float genügen, womit ich Speicherplatz sparen würde. Wenn ich aber mein array mit den Befehlen int16 oder single umwandeln will, kommt eine Fehlermeldung, dass Mathscript kein int16 beherrscht. Gibt es da keine Lösung?

Außerdem scheint Mathscript mit Arrayoperationen ziemlich langsam zu sein, im Vergleich zur graphischen LV-Programmierung. Kann man dem auf die Sprünge helfen.


Mathscript und große Arrays - ImExPorty - 11.05.2009 08:18

' schrieb:... mich nicht ständig mit aufwendigen Verdrahtungen herumzuärgern, ...mach doch mal ein Beispiel wo der Mathscript-Knoten bei Int-Operationen effizienter ist wie LV-Standard
... dass Mathscript als Array nur double ...Mathlab-Knoten sollte dann zum Einsatz kommen wenn es LV-Boardmittel nicht effizient können ...deshalb gespannt auf das Beispiel
... float durchgehen lässt. in der alten WeltLv85_img[attachment=18349]
... würde mir schon int16 oder wenigstens single float genügen, womit ich Speicherplatz sparen würde. ...nachträglich konvertieren
... wenn ich aber mein array mit den Befehlen int16 oder single umwandeln will, kommt eine Fehlermeldung, dass Mathscript kein int16 beherrscht. neue Welt: >=Lv85_img
[attachment=18350]

Außerdem scheint Mathscript mit Arrayoperationen ziemlich langsam zu sein, im Vergleich zur graphischen LV-Programmierung. Kann man dem auf die Sprünge helfen. ...kommt auf die Aufgabe an ...Beispiele und Infos



Mathscript und große Arrays - horatius - 11.05.2009 13:09

Bei LabVIEW 8.0 bekomme ich bei Mathscript die Datentyp-Auswahl wie sie im Bild im vorherigen Post zu sehen. Wenn ich dies aber bei LV 8.6 mache, dann kann ich nur zwischen dbl,cdb, boolean und int auswählen, aber kein int. Die Versionen sind also unterschiedlich. Ich benutze aber LV 8.6. Nachträgliches Konvertieren (außerhalb des MathScript-Knotens) bringt kein Vorteil, da in MathScript selbst das Array schon zu groß wird.


Mathscript und große Arrays - jg - 11.05.2009 13:19

ein wenigOfftopic2, aber zum Anlegen eines Array gibt es doch in LV eine Funktion:
[attachment=18371]

Gruß, Jens


Mathscript und große Arrays - horatius - 11.05.2009 13:51

' schrieb:ein wenigOfftopic2, aber zum Anlegen eines Array gibt es doch in LV eine Funktion:

Gruß, Jens

Wenn ich aber die dadurch angelegte Matrix in Mathscript einfüge, dann wird es wieder als dbl betrachtet. Ich muss aufwendige Array-Operationen durchführen, die total unübersichtlich und schwierig zu warten mit der Verdrahtungsmethode werden würden.
In Mathscript zu programmieren ist einfach viel übersichtlicher und schneller. Am liebsten würde ich auf die Verdrahtungsmethode verzichten. Aber es gibt kein anderes Programm um einfach Messgeräte anzusteuern.


Mathscript und große Arrays - IchSelbst - 11.05.2009 14:13

' schrieb:Am liebsten würde ich auf die Verdrahtungsmethode verzichten.
Schon mal an eine DLL gedacht?


Mathscript und große Arrays - horatius - 11.05.2009 14:47

Wie mache ich denn aus einem MathScript eine DLL?


Mathscript und große Arrays - abrissbirne - 11.05.2009 15:13

' schrieb:Wie mache ich denn aus einem MathScript eine DLL?
Ich glaube IchSelbst meinte DLL anstatt Mathscript.


Mathscript und große Arrays - IchSelbst - 11.05.2009 15:19

' schrieb:Ich glaube IchSelbst meinte DLL anstatt Mathscript.
Jawohl.


Mathscript und große Arrays - horatius - 11.05.2009 17:19

Hier ein Beispiel eines Mathscripts. Davon habe ich mehrere. Und wenn ich die ganzen Arrayoperationen und Abfragen in Verdrahtungsweise machen müsste, dann würde man verzweifeln. Wäre gut, wenn man ganz LV in solcher Weise programmieren könnte.
[attachment=18378]