我的数据如下:
我正在尝试查找有关我的数据的以下信息:
"瞬态"部分
稳定状态和稳态平均值的时间
我认为stepinfo是我最好的选择,但它似乎希望将最终值作为稳态值,而不是给我最好的结果。直到我知道它何时才能找到稳定时间的平均值....有没有办法在稳态搜索上设置一些界限?在我链接的图片上,它可能是+/- 0.25内的数据,50个数据点是稳定状态?
答案 0 :(得分:0)
你能做的是:
要做到这一点,请记住:
开头的差异平均为零,因此您必须跳过这些值。
一种方法是:x(x < 0.1 * max(x)) = [];
这样就可以删除曲线的整个开始。无论如何,你不需要它。请务必备份x
。
平滑信号的一种简单方法是:smooth_x = arrayfun(@(t) mean(x(t:t+k)), 1:numel(x-k))
。您需要为k
找到合适的值。
即使平滑的曲线也会出现'#34;颠簸&#34;,因此您可能希望比较不相邻的点,例如检查diff(x(k),x(k+10))
。如果这两个点之间的平均倾斜度低于您在1中选择的值,那么您很高兴。 find
和diff
的组合应该可以解决问题。
平滑后,您可以使用diff
查找瞬态和稳定部分的平均倾角。
我无法分辨曲线从瞬态到稳定的位置。这是你需要做出的决定。例如,它可以每10秒小于0.2升/分钟。