0

我正在尝试创建一个函数,该函数将采用两组波,比较它们,并根据给定的参数创建第三波。

wave1 是海量数据,每个数据点都有值。Wave2 也是海量数据,但有些数据点为零。我需要比较 Wave1 和 Wave2,对于 wave2 具有非零值的数据点,第三个波需要是 Wave1 减去 Wave2 的差。所以第三波将具有与wave2中非零数据点的数量相匹配的数据点数量。

4

1 回答 1

0

如果我理解正确,这个功能会做你想要的。例如,它是基本的,并且不会检查波浪的长度是否相同。

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")

于 2020-07-28T19:21:30.760 回答