Interpolate a 1024x116 Matrix to a 1024x1024 Matrix
1 次查看(过去 30 天)
显示 更早的评论
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 个)
另请参阅
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!