获取Y'的列表;从X';s和Y';Matlab中的s阵列
我有两个数组-X点和Y点。X数组有一些空格(例如[01126778]),Y数组只包含该X的值。我从小波变换中得到了这个数组作为局部极大值。我可以用获取Y'的列表;从X';s和Y';Matlab中的s阵列,matlab,Matlab,我有两个数组-X点和Y点。X数组有一些空格(例如[01126778]),Y数组只包含该X的值。我从小波变换中得到了这个数组作为局部极大值。我可以用plot(X,Y) 现在我想在linspace上得到Y,Y必须包含从0到8的任意X的值。我想要与前面的绘图(X,Y)相同的绘图绘图(Y) 如何执行此操作?看起来您要执行插值 xPts = [0 1 2 6 7 8]; yPts = ... xPlot = 0:1:8; yPlot = interp1(xPts,yPts,xPlot,'cubic')
plot(X,Y)
现在我想在linspace上得到Y,Y必须包含从0到8的任意X的值。我想要与前面的绘图(X,Y)
相同的绘图绘图(Y)
如何执行此操作?看起来您要执行插值
xPts = [0 1 2 6 7 8];
yPts = ...
xPlot = 0:1:8;
yPlot = interp1(xPts,yPts,xPlot,'cubic')
plot(xPlot,yPlot)
检查不同的插值方案
如果存在重复的x值,则可以平均相应的y值
xPtsRep = [0 0 1 2 6 7 7 8]
yPtsRep = ...
[xPts,~,xIdx] = unique(xPtsRep);
yPts = accumarray(xIdx,yPtsRep,[],@mean);
这正是我想要的,但我遇到了一个问题-我的Xs向量有一些重复的值,我得到了关于
严格单调递增的向量的错误。在我的例子中,向量是增加的,但不是严格意义上的。我该怎么办?@skayred:例如,您可以平均对应于重复x项的y值。