07.01.2011, 12:59
Hallo zusammen,
ich bin neu hier im Forum und habe noch nicht so den Überblick, falls das Thema schon mal angefragt wurde, bitte ich das zu entschuldigen, ich konnte es bisher nicht finden.
Das Ziel ist folgendes:
ein Array mit Messwerten [32,1], die laufend aktualisiert werden (etwa alle 3 sek) soll nach einem Array mit Zuständen, die nur selten geändert werden, sortiert werden.
Es soll für jeden Zustand (es gibt 6 verschiedene) ein eigenes Array, das die zugehörigen Werte enthält herauskommen.
Ich arbeite mit der Version 8.5, und die einzige Möglichkeit, die ich sehe ein Array zu bearbeiten, ist zuerst einen Index von einem (unerwünschten) Wert zu finden und dann an diesem Index das (unerwünschte) Element zu löschen. Mit der Methode konnte ich das Ziel zwar erreichen, aber nur indem ich das ganze in eine Schleife gepackt habe, die die Nebenwirkung hat, dass sie die Hauptschleife extrem verlangsamt (dauert dann 12 sek statt 3).
Gibt es keine einfachere Möglichkeit ohne Schleifen - wie in Matlab wäre es lediglich a = b ( c), um nur die Elemente von b an den Indices c in a zu speichern ? Möglicherweise geht es mit einem Formelknoten - allerdings beherrsche ich dafür die Syntax nicht um die Operation durchzuführen...
Ich bin für jede Hilfe dankbar, auch nicht ganz unerfahren, aber komme in dem Punkt einfach nicht weiter.
Gruß
Michael
ich bin neu hier im Forum und habe noch nicht so den Überblick, falls das Thema schon mal angefragt wurde, bitte ich das zu entschuldigen, ich konnte es bisher nicht finden.
Das Ziel ist folgendes:
ein Array mit Messwerten [32,1], die laufend aktualisiert werden (etwa alle 3 sek) soll nach einem Array mit Zuständen, die nur selten geändert werden, sortiert werden.
Es soll für jeden Zustand (es gibt 6 verschiedene) ein eigenes Array, das die zugehörigen Werte enthält herauskommen.
Ich arbeite mit der Version 8.5, und die einzige Möglichkeit, die ich sehe ein Array zu bearbeiten, ist zuerst einen Index von einem (unerwünschten) Wert zu finden und dann an diesem Index das (unerwünschte) Element zu löschen. Mit der Methode konnte ich das Ziel zwar erreichen, aber nur indem ich das ganze in eine Schleife gepackt habe, die die Nebenwirkung hat, dass sie die Hauptschleife extrem verlangsamt (dauert dann 12 sek statt 3).
Gibt es keine einfachere Möglichkeit ohne Schleifen - wie in Matlab wäre es lediglich a = b ( c), um nur die Elemente von b an den Indices c in a zu speichern ? Möglicherweise geht es mit einem Formelknoten - allerdings beherrsche ich dafür die Syntax nicht um die Operation durchzuführen...
Ich bin für jede Hilfe dankbar, auch nicht ganz unerfahren, aber komme in dem Punkt einfach nicht weiter.
Gruß
Michael