auto_xyz_Sub

auto_xyz_Sub subtrahiert zwei 3D-Datensätze (Kennfelder).

hDataNew = auto_xyz_Sub(hData, hData2)
hDataNew = auto_xyz_Sub(hData_Layer, hData2)
hDataNew = auto_xyz_Sub(hData_Layer, hData2, nSourceType)

Returnwert

hDataNew ist die Zugriffsnummer des neu erzeugten 3D-Datensatzes.

Parameter

hData

hData ist die Zugriffsnummer (Handle) des Datensatzes auf den die Funktion angewendet werden soll. Der erzeugte Datensatz wird dem Diagramm zugefügt, in dem sich hData befindet.

hData_Layer

hData_Layer ist ein Vektor von Zugriffsnummern. Das erste Element ist die Zugriffsnummer (Handle) des Datensatzes auf den die Funktion angewendet werden soll. Das zweite Element ist die Zugriffsnummer (Handle) des Diagramms, dem der neue Datensatz zugefügt werden soll.

hData2

hData2 ist die Zugriffsnummer (Handle) eines weiteren 3D-Datensatzes.

nSourceType

nSourceType ist einer der folgenden Werte:

Wert Bedeutung
1 Berechnung über Stützstellen von Datensatz 1.
2 Berechnung über Stützstellen von Datensatz 2.
3 Berechnung über Interpolationsmatrix (Default)

Für den Wert 1 oder 2 werden für beide Datensätze die Z-Koordinaten an den entsprechenden x,y-Stützstellen berechnet und dann entsprechend verknüpft (addiert). Beim Typ 3 werden für beide Datensätze jeweils eine Matrix an den identischen Stützstellen berechnet und danach die beiden Matrizen verknüpft (addiert).

Wenn beide Kennfelder identische oder quasi identische Stützstellen haben, liefert die Funktion mit den Werten 1 oder 2 das genauere Ergebnis.

Kommentar

Die 3D-Datensätze können sowohl von einer Matrix als auch von beliebig verteilten X/Y/Z-Tripeln erzeugt worden sein. Der neue Datensatz wird wie folgt erzeugt:

  • Es wird der Überlappungsbereich der beiden Kennfelder in der x,y-Ebene bestimmt.
  • Innerhalb dieses Bereichs werden für beide Kennfelder neue Interpolationsmatrizen berechnet.
  • Die gewünschte Rechenoperation kann dann elementweise durchgeführt werden.
  • Von der Ergebnismatrix wird ein neuer Datensatz erzeugt. Die Kennfeldhülle wird vom 1. Datensatz verwendet.

Beispiel

hPage = auto_LoadTemplate("test.ipw")
ssFile1  =  auto_ImportData(GetRootDirectory() + "samples/test1.xls")
hData1 = auto_LoadDataset("Diagram1", "EngSpd", "PME", "TOEL1");
ssFile2  =  auto_ImportData(GetRootDirectory() + "samples/test2.xls")
hData2 = auto_LoadDataset("Diagram2", "EngSpd", "PME", "TOEL1");
hLayer = PageGetLayerHandle(hPage, "Diagram3");
hDataNew  =  auto_xyz_Sub([hData1, hLayer], hData2);
PageReplot(hPage);

id-385380