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 

MathScript Schleife sehr langsam



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!

27.03.2012, 12:42
Beitrag #1

horscht(i) Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: Feb 2012

2011
2010
EN



MathScript Schleife sehr langsam
Hallo allerseits,

ich habe hier einen MathScript-Knoten, in dem per while-Schleife ein 2D-Array reihenweise mit Werten befüllt werden soll. Ich definiere hier Werte für ein numerisches Gitter mit den Schrittweiten dx (Spalten) und dy (Reihen).
Die Werte, die den einzelnen Elementen zugeordnet werden, werden dabei aus ein paar simplen Angaben einer Textdatei zusammengesetzt.

Das klappt auch soweit so gut alles. Allerdings ist die Schleife äußerst langsam. Das Array besitzt ungefähr die Größe 100x500, also absolut nichts Großes, aber die Ausführung dauert ewig.

Hier die Schleife
Code:
while (i-1)<=Nx,
  array_nref(j,i)=complex(array_struct(m,3),array_struct(m,4)/(20000*k0)),
  i=i+1,
end
j=j+1,
i=1,
Ich lese also aus array_struct zwei Werte aus, baue daraus eine komplexe Zahl und stecke die als Element in array_nref. Das ganze gehe ich spaltenweise durch, springe in die nächste Reihe und fülle wieder auf. Rund um die Schleife kommt noch ein if-else, dass dafür sorgt, dass den Zähler m überwacht, so dass aus array_struct auch die richtigen Werte ausgelesen werden.
Hier mal der gesamte Code:
Code:
while (j-1)*dy<=Ly,
  if (j-1)*dy<=thickness_act,
    % Fill the current row of array_nref (representing the x-direction) completely
    while (i-1)<=Nx,
      array_nref(j,i)=complex(array_struct(m,3),array_struct(m,4)/(20000*k0)),
      i=i+1,
    end
    % Row completley filled. Increase j to jump to the next column.
    j=j+1,
    i=1,
  else
    % The column is in the next layer, so thickness_act has to be updated.
    % m is increased so the ref. index values of the next layer are used.
    m=m+1,
    thickness_act=thickness_act+array_struct(m,2),
  end
end
Entweder ist MathScript einfach verdammt lahm oder aber ich habe einen programmiertechnischen Bock geschossen. Ich tippe ja auf letzteres. In Mathematica erzeuge ich mit einem ähnlichen Code das Array in Sekundenbruchteilen.

Hat jemand eine Idee?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.03.2012, 12:53
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: MathScript Schleife sehr langsam
Hallo horscht,

Zitat:In Mathematica erzeuge ich mit einem ähnlichen Code das Array in Sekundenbruchteilen.
Wenn du das direkt in LabVIEW (und nicht im Mathscript-Node) machst, ist es wahrscheinlich ähnlich schnell...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.03.2012, 13:41
Beitrag #3

horscht(i) Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: Feb 2012

2011
2010
EN



RE: MathScript Schleife sehr langsam
Oha...also ist das tatsächlich so lahm?
Ich werde mal das Programm umbauen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  MathScript richtig nutzen Heber 16 12.232 18.11.2017 12:04
Letzter Beitrag: Heber
  Frage zum MathScript Module Heber 1 2.741 03.10.2017 11:11
Letzter Beitrag: GerdW
  Variablennamen im MathScript-Knoten DrHoas 2 3.972 29.03.2012 09:58
Letzter Beitrag: DrHoas
  MathScript Node wird nicht angezeigt wewa 4 6.185 07.04.2011 19:29
Letzter Beitrag: wewa
  Mathscript tiko 1 5.676 08.02.2010 12:52
Letzter Beitrag: chrissyPu
  MathScript functions debug gottfried 5 8.044 29.05.2009 15:49
Letzter Beitrag: gottfried

Gehe zu: