我正在尝试创建一个函数,该函数将采用两组波,比较它们,并根据给定的参数创建第三个波。
wave1是海量数据,每个数据点都有值。Wave2也是海量数据,但有些数据点是零。我需要比较Wave1和Wave2,对于Wave2具有非零值的数据点,第三波需要是Wave1减去wave2的差值。因此,第三波将具有与wave2中的非零数据点数量匹配的数据点数量。
发布于 2020-07-29 03:21:31
如果我没理解错的话,这个函数会做你想做的事情。例如,它是基本的,不检查波的长度是否相同。
Function CompareWaves(w1, w2, result)
Wave w1,w2
String result
Make/O/N=(numpnts(w1)) $result
Wave resultW = $result
resultW[] = w1[p] - w2[p]
resultW[] = (w2[p] == 0) ? resultW[p] : NaN
WaveTransform zapnans resultW
End所以,如果你的wave叫做foo和bar,而你希望结果叫做diff。使用CompareWaves(foo,bar,"diff")调用函数。
https://stackoverflow.com/questions/63137307
复制相似问题