2

X ポイントと Y ポイントの 2 つの配列があります。X 配列にはいくつかのスペースがあり ([0 1 2 6 7 8] など)、Y 配列にはその X の値のみが含まれます。その配列をウェーブレット変換からの極大値として取得しました。私はそれをプロットすることができますplot(X,Y)

ここで、linspace で Y を取得したいと考えています。Y には、0 から 8 までの任意の X の値が含まれている必要があります。plot(Y)前の と同じプロットが必要ですplot(X, Y)

これどうやってするの?

4

1 に答える 1

2

補間を実行したいようです

xPts = [0 1 2 6 7 8];
yPts = ...

xPlot = 0:1:8;
yPlot = interp1(xPts,yPts,xPlot,'cubic')

plot(xPlot,yPlot)

さまざまな補間スキームについては、interp1のドキュメントを確認してください。

x値が繰り返される場合は、対応するy値を平均化できます

   xPtsRep = [0 0 1 2 6 7 7 8]
   yPtsRep = ...

   [xPts,~,xIdx] = unique(xPtsRep);
   yPts = accumarray(xIdx,yPtsRep,[],@mean);
于 2013-01-11T17:03:44.830 に答える