NC_Classify

NC_Classify klassiert eine Datei in Gruppen. Für jede Gruppe wird ein Indexkanal erzeugen. Der Indexkanal beginnt mit dem Wert 1. Der Wert ist konstant für eine Gruppe. Die zweite Gruppe hat den Wert 2 usw. Falls die Funktion mit mehr als 2 Parametern aufgerufen wird, wird die Datei in Abhängigkeit vom angegebenen Indexkanal in einzelne Dateien aufgetrennt.

bool = NC_Classify(ncid, smClassDefine)
bool = NC_Classify(ssNCFile, smClassDefine)
svNames = NC_Classify(ncid, smClassDefine, ssSplitBaseName, ssSplitIndexChannel)
svNames = NC_Classify(ssNCFile, smClassDefine, ssSplitBaseName, ssSplitIndexChannel)
svNames = NC_Classify(ncid, smClassDefine, ssSplitBaseName, ssSplitIndexChannel, svChannelList)
svNames = NC_Classify(ssNCFile, smClassDefine, ssSplitBaseName, ssSplitIndexChannel, svChannelList)

Returnwert

bool

svNames sind die Namen der aufgetrennten NC-Dateien.

Parameter

ssNCFile

ssNCFile ist der Name einer NC-Datei mit Daten mit mehreren Zyklen.

ncid

ncid ist die Zugriffsnummer einer NC-Datei, die von einem erfolgreichen Aufruf der Funktionen nc_create oder nc_open geliefert wurde. Die Datei muss mit Schreibzugriff geöffnet sein.

smClassDefine

smClassDefine ist eine Stringmatrix mit 2 Spalten und 1 bis 4 Zeilen. Dir erste Spalte enthält Kanalnamen und die zweite Spalte eine Toleranz. Die Toleranz wird als Zeichenkette definiert, z. B. „0.5“. Dezimaltrennzeichen ist ein Punkt, Beispiel:

smClassDefine = ["speed", "10";
                 "torque", "0.5"];

Bei Textkanälen wird der Toleranzwert nicht ausgewertet. Als Toleranzwert kann ein leerer String „“ angegeben werden.

ssSplitBaseName

ssSplitBaseName ist der vollständige Name, unter dem die einzelnen Dateien gespeichert werden. Der Name der aufgetrennten Dateien wird aus dem angegebenen Namen plus dem Kanalnamen nach dem aufgetrennt wird und der Indexnummer getrennt durch einen Unterstring gebildet. Beispiel: „d:\map-data_map.xls_N=4590_10.nc“

ssSplitIndexChannel

ssSplitIndexChannel ist der Name des Indexkanals. Der Name wird aus dem Text _index_ gefolgt vom Kanalnamen gebildet.

svChannelList

svChannelList ist eine optionale Liste mit Kanalnamen, die in die aufgetrennten Dateien eingefügt werden sollen.

Kommentar

Es können bis zu vier Kanäle definiert werden, nach denen klassiert werden soll.

Die Daten des ersten ausgewählten Kanals werden aufsteigend sortiert. Auf den ersten Wert des Kanals (Minimum) wird die zweifache Toleranz addiert und damit die Klassenunter- und -obergrenze der ersten Klasse festgelegt. Die nächste Klasse beginnt bei dem Wert, der größer als die Klassenobergrenze der vorhergehenden Klasse ist.

Für jeden Kanal nach dem klassiert wird, erzeugt die Funktion einen neuen Kanal, der sich aus dem Text _index_ und dem entsprechenden Kanalnamen zusammensetzt, z. B. _index_n_Motor. Der Kanal enthält ganze Zahlen, beginnend mit 1. Alle Zeilen (Records) einer Klasse haben den gleichen Indexwert. Falls der Kanal missing values enthält, erhält der Index-Kanal den Wert 0.

Der neu erzeugte Index-Kanal kann dann beim Import verwendet werden, z. B. für den Typ 2D: x/y/Zyklus-Index.

Wird die Funktion mit mehr als 2 Parametern aufgerufen, wird die Datei anhand eines Indexkanals in Einzeldateien aufgetrennt. Jede Datei enthält alle globalen Attribute der Ausgangsmessung.

Sie auch Dateneditor=>Klassieren.

Beispiel

def TestSplit()
{
      ssFile = GetRootDirector() + "samples\\map-data.xls";
      ssNCFile = auto_ImportData(ssFile);
      if (ssNCFile == "") {
              return FALSE;
      }
      ssNewNCBaseName = sum(SplitPath(ssNCFile)[1,2,3]);
      return NC_Classify(ssNCFile, ["N", "20"], ssNewNCBaseName, "_index_N");
}

History

Version Beschreibung
R2013.14 Neu.

id-1676138