フィルターのクリア

Interpolate a 1024x116 Matrix to a 1024x1024 Matrix

1 回表示 (過去 30 日間)
Christopher Gordon
Christopher Gordon 2021 年 1 月 22 日
コメント済み: Walter Roberson 2021 年 1 月 26 日
Hello!
I have an array of 116 curves (columns) with 1024 data points (rows) each. What I would like to do is expand the matrix to include the curves at the intermediate values between the 116 curves. Which interpolation function should I use, interp1() or interp2()?

採用された回答

Walter Roberson
Walter Roberson 2021 年 1 月 23 日
Assuming the curves are independent of each other, use interp1()
x = 1:116;
c1 = randn(1,116);
c2 = rand(1,116)*5;
y = linspace(-5,5,1024) .';
curves = c2 .* exp(c1.*y - (y-2).^2);
imagesc(x, y, curves)
xq = linspace(1, 116, 1024);
curves2 = interp1(x, curves.', xq) .';
imagesc(xq, y, curves2)
  1 件のコメント
Walter Roberson
Walter Roberson 2021 年 1 月 26 日
You need to rename or delete your C:\Users\CGordon\Desktop\FindPeaksTrials\interp1.m as it is interfering with calling the MATLAB interp1 function.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeInterpolation についてさらに検索

タグ

製品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by