插值时遇到问题。
点的情节是 here.
如果我们放大,情节看起来像这样 this.
我不知道如何使用Matlab interp1函数来插值。
解释
这是一个时空图,即x轴是空间,y轴是时间。
因此,向量x和y的结构如下:
矢量y定义为
Y =(1,1,2,2,3,3,4,4-,...,2500,2500)
并且x向量包含(成对)位置,即
x(i)
和x(i+1)
是y(i)=y(i+1)
时的不同职位。
我认为问题可能是在不同的时间,我们有相同的点,可以在上面的放大图片中看到。
x值保持不变的时间步数有所不同,有时它们在3个时间步长中保持相同,有时甚至是4个时间步长,有时仅为2个时间步长。
答案 0 :(得分:1)
您可以使用acccumarray
对Y
中与X
的每个唯一值对应的值执行某些操作。
使用一些示例数据:
x = [1, 1, 2, 2, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 7, 7, 7, 7, 8, 8, 8];
y = 1:length(x);
我们得到如下内容:
现在使用accumarray
对每个群集执行一些计算:
clusteravg = accumarray(x', y, [], @mean);
clustermax = accumarray(x', y, [], @max);
clustermin = accumarray(x', y, [], @min);
accumarray
的第一个输入是下标数组,第二个输入是与这些下标相对应的值数组。 accumarray
收集共享相同下标(第一个输入)的第二个输入的所有元素,并对它们执行指定的计算。在这里,我计算了每个值集合的平均值,最大值和最小值:
耶