Vorheriges Thema

nc_inquire_update

Nächstes Thema

nc_last_error

Diese Seite

NC_Interpolation

NC_Interpolation erzeugt eine NC-Datei mit interpolierten Daten. Mit der Funktion können Dateien, die einen Zeitkanal enthalten, auf einen andere Abtastrate interpoliert werden, oder MDF-Dateien, die Daten mit mehreren unterschiedliche Abtastraten enthalten, können auf eine gemeinsame Abtastrate interpoliert werden.

bool = NC_Interpolation(ssNCFile, ssNewNCName, ssTimeName)
bool = NC_Interpolation(ssNCFile, ssNewNCName, ssTimeName, svChannelList)
bool = NC_Interpolation(ssNCFile, ssNewNCName, ssTimeName, svChannelList, rvTimeDef)
bool = NC_Interpolation(ncid, ssNewNCName, ssTimeName)
bool = NC_Interpolation(ncid, ssNewNCName, ssTimeName, svChannelList)
bool = NC_Interpolation(ncid, ssNewNCName, ssTimeName, svChannelList, rvTimeDef)

Returnwert

Ist TRUE (1), wenn die Datei erzugt werden konnte oder FALSE (0).

Parameter

ssNCFile

ssNCFile ist der Name einer NC-Datei die interpoliert werden soll.

ncid

ncid ist die Zugriffsnummer einer NC-Datei, die von einem erfolgreichen Aufruf der Funktionen nc_create oder nc_open geliefert wurde.

ssTimeName

ssTimeName: Ist der Name eines Zeitkanals auf den Interpoliert werden soll. Wird der Parameter rvTimeDef angegeben, kann der Zeitkanal frei definiert werden.

svChannelList

svChannelList ist ein Vektor mit Kanalnamen. Falls ein leerer String übergeben wird, werden alle Kanäle interpoliert. Wird der Parameter nicht angegeben, werden alle Kanäle interpoliert.

rvTimeDef

Ist ein Vektor mit einem oder drei Elementen.

Wird nur ein Wert übergeben, ist das der Abtastrate, z. B. 0.1 Sekunde. Der Zeitbereich wird vom Kanal ssTimeName übernommen.

Wird ein Vektor mit drei Elemente übergeben, kann der Startwert, der Endwert und die Abtastrate angeben werden [rsStart, rsEnde, rsDelta].

Beipiel: [0,10,0.1] erzeugt einen Zeitkanl von o bis 10s mit einer Abtastrate von 0.1 s (10 Hz).

Wird der Parameter nicht angegeben, werde die Daten auf den Zeitkanal ssTimeName interpoliert.

Kommentar

Es werden nur Kanäle mit mindestens 2 Punkten interpoliert.

Bei MDF-Dateien müssen die Gerätenamen berücksichtigt werden. Der Gruppenname wird ignoriert.

Es wird keine Extrapolation durchgeführt. Fehlende Daten werden auf missing gesetzt.

Die Daten werden linear interpoliert.

Beispiel

def TestInterpolation()
{
     ssDatFile = "u:/nc_daten2/080226_P5736R3_Startversuch.dat"
     ssNCFile = auto_ImportData(ssDatFile);

     ssNewTimeName = "time"
     svChannel = ["AirCtl_dvolIndAir_r32_ETKC_1", "PthSet_trqInrSet_ETKC_1", "AirCtl_mDesVal_ETKC_1"]

     // Erzeuge neuen Namen:
     svPath = SplitPath(ssNCFile);
     ssOutputName = svPath[1] + svPath[2] + svPath[3] + "_interpol" + svPath[4];

     NC_Interpolation(ssNCFile, ssOutputName, ssNewTimeName, svChannel); // Time wie erste Kanal
     //NC_Interpolation (ssNCFile, ssOutputName, ssNewTimeName, svChannel, [0.01]) // Delta 0.1s von Range 1. Kanal
     //NC_Interpolation (ssNCFile, ssOutputName, ssNewTimeName, svChannel, [0,12,0.01]) // Time von 0s bis 12s in 0.01s
}

History

Version Beschreibung
5.15.1 Neu.

id-540769