Script zur Selektierung gesucht
Hallo Malte,
um die Daten richtig vergleichen (darstellen) zu können, benötigst du sicherlich auch die zugehörigen Zeiten. Hier das entsprechend modifizierte Script:
Option Explicit 'Erzwingt die explizite Deklaration aller Variablen in einem Skript.
Dim saChnTName, iChnTNo, saChnName, iChnNo, iSourceTNo, iSourceNo, iChnLen, iCurrCount, iChnIdx, iStepWidth
iStepWidth = 50
saChnTName = ChnAlloc("NewChn", 1024)
iChnTNo = cno(saChnTName(0))
saChnName = ChnAlloc("NewChn", 1024)
iChnNo = cno(saChnName(0))
iSourceTNo = cno("[1]/Zeit")
iSourceNo = cno("[1]/Drehmoment")
iChnLen = ChnPropValGet(iSourceNo, "length")
iCurrCount = 1
iChnIdx = 0
do while iCurrCount <= iChnLen
iChnIdx = iChnIdx + 1
chdx(iChnIdx, iChnTNo) = chdx(iCurrCount,iSourceTNo)
chdx(iChnIdx, iChnNo) = chdx(iCurrCount,iSourceNo)
iCurrCount = iCurrCount + iStepWidth
loop
Call ChnPropValSet(saChnTName(0), "length", iChnIdx)
call ChnCharacter(saChnTName(0))
Call ChnPropValSet(saChnName(0), "length", iChnIdx)
call ChnCharacter(saChnName(0))
Richtig sichtbar wird der Fehler aber erst wenn die beiden Kanäle subtrahiert werden. Dazu musst du den kurzen Kanal zunächst auf die gleiche Länge wie den Originalkanal bringen (Lineare Interpolation, über der Originalzeit). Danach kannst du die Kanäle subtrahieren. Wenn du das anzeigst siehst zu den Fehler. Die tatsächliche Abweichung vom Original ist die Summe vom Absolutwert dieses Kanals.
Carpe DIAdem
|