Interpolate a 1024x116 Matrix to a 1024x1024 Matrix
2 ビュー (過去 30 日間)
古いコメントを表示
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()?
0 件のコメント
採用された回答
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
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 Exchange で Smoothing についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

