将一个单元格与它之前的单元格进行比较,变化百分比

1次观看(过去30天)
大家好,
我还在学习Matlab,我有两个矩阵或数组,A是2000x1 T是2000x1。T是A的时间,我试图确定细胞之间的变化率(每个细胞都有其之前或第5个之前的细胞),在这之后,我将简单地消除A的任何细胞,其变化率高于5%,并且它是T中的相关细胞。我试图使用“findchangepoints”,但无法设置这样的参数(百分比/变化率)。
所有这些努力只是为了找到并提取这个数据图的稳定状态,如果你有更好的想法,请分享。
感谢所有的评论。

接受的答案

Yazan
Yazan 2021年7月21日
如果你将变化率定义为:
问题变得简单了。假设你有向量,就用
Delta = diff(x)./x(1:end-1);
然后,你可以过滤掉 x 基于 δ .如果您需要检测信号中的一些突变,那么有更复杂的信号处理技术,但是您需要提供数据和有关问题的更多细节,以便从社区获得帮助。
2的评论
工程师正在进行
工程师正在进行 2021年8月5日
我想出来了,当然不是在一个有效的时间,但我确实做到了,这比我想象的要容易得多。
所以我尝试了一种完全不同的方法来确定所谓的稳定或线性部分的数据/图表,但不是使用“findchangepoints”,我尝试了“ischange”,在我清理了一些小噪音之后。下面是代码,供将来任何人参考。
y = diff (X);
z = ischange (y,“线性”);

登录评论。

更多答案(0)

类别

了解更多矩阵和数组帮助中心而且文件交换

社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!

开始狩猎!