How to do interpolation in matlab??
3 次查看(过去 30 天)
显示 更早的评论
I have attached an excel file, which contains x, y, z data. I want to interpolate the data. Can you help?? (In the data for a particular x at different y value, the z value is different. )
0 个评论
采纳的回答
Star Strider
2021-2-4
I am not absolutely certain what you want to do.
The row lengths between unique values in the first column are not the same, so using reshape is not an option to create matrices from the data.
One option, if you want to create a uniformly-sampled matrix, is to use griddata to do the interpolation:
D = readmatrix('data.xlsx');
[Du,ia] = unique(D(:,1));
rowlen = diff(ia); % Changes In ‘x’
xv = linspace(min(D(:,1)), max(D(:,1)), 50);
yv = linspace(min(D(:,2)), max(D(:,2)), 50);
[X,Y] = ndgrid(xv,yv);
Z = griddata(D(:,1), D(:,2),D(:,3),X,Y);
figure
surf(X, Y, Z)
This also plots the result.
Change the code appropriately to get the result you want.
8 个评论
Star Strider
2021-2-5
As always, my pleasure!
I am not certain what to suggest with respect to getting all the information you want from your data, since I am not certain what that is.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Read, Write, and Modify Image 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!