我有一个向量sigma=[s1, s2, s3, s4, s5, s6, s7]
,它在循环加载中绘制:
我见过很少有解决这个问题的方法,但遗憾的是还没有解决这个问题。
如何识别转折点?
如何识别非转折点? (S2,S6)
答案 0 :(得分:1)
我假设一些sigma值看起来与你绘制的相似。注意开头的额外零点,在图中没有标记,但从图中看起来它是一个数据点:
>> sigma = [0 3 -1 -3 1 -2 0.5 3.5]
>> sign(diff(sigma))
ans =
1 -1 -1 1 -1 1 1
这告诉我sigma
在哪里增加以及它在哪里减少,如果我们再次采用差异,其中diff值为零将是非转折点而非零将是转折点
>> diff(sign(diff(sigma)))
ans =
-2 0 2 -2 2 0
第一个元素对应于图中的第一个点(不是我数组中sigma的第一个值)。 -ve值表示凹面,+ ve表示凸面转折点。注意这个结果如何只有七个点的六个元素,这是因为第七个点是不确定的。
>>turning = find(diff(sign(diff(sigma))))
>>nonTurningIdx = find(diff(sign(diff(sigma))) == 0)
turning =
1 3 4 5
nonTurningIdx =
2 6