如何找到坡度变化?

时间:2015-11-19 08:09:03

标签: matlab

我计算了平均水平值,它们的局部最小点并绘制它们。现在我必须找到像第一个山谷一样的山谷是负面到正面而第二个山谷是正面到负面。为此,我已经读过某些地方,通过找到坡度变化可以找到这些山谷?任何人都可以帮我找出如何在指定点找到坡度变化。

Plotted graph

2 个答案:

答案 0 :(得分:1)

我们可以这样做:

dx = diff(x);
dx = [0 dx];          %shifting because diff has one less element
dx1 = [dx(2:end) 0];  %shifting dx for 1 element

r1 = find( dx>0 & dx1<0);  %compare dx and dx1 to find peaks
r2 = find( dx<0 & dx1>0);  %compare dx and dx1 to find valleys

因此,如果您只需要第一个高峰,则需要r1(1),只有第二个山谷 - r2(2)

希望它有所帮助!

答案 1 :(得分:-2)

坡度变化 MYOP和WAMP功能 (例如Hudgins等,1993; Philipson,1987)。这是另一个 表示EMG信号的频率信息的方法。它 是EMG信号的斜率改变符号的次数。 正斜率与负斜率之间的变化次数 在三个连续的段中用阈值执行 用于避免EMG信号中的背景噪声的功能。这个可以 在数学上表达为 SSC¼ XN1 i¼2 ½f½ðxixi1Þðxixiþ1Þ; ð20Þ fðxÞ¼ 1;如果是x P阈值 0;否则: