Effacer les filtres
Effacer les filtres

How to do interpolation in matlab??

2 vues (au cours des 30 derniers jours)
TAPAS
TAPAS le 4 Fév 2021
Commenté : Star Strider le 5 Fév 2021
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. )

Réponse acceptée

Star Strider
Star Strider le 4 Fév 2021
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 commentaires
TAPAS
TAPAS le 5 Fév 2021
Thank you. The problem I am facing is that I am not getting interpolated data in all the range.
Star Strider
Star Strider le 5 Fév 2021
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.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Interpolation dans Help Center et File Exchange

Produits


Version

R2017a

Community Treasure Hunt

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

Start Hunting!

Translated by