How can I produce new coordinates for one dimension if a matrix and interpolate to these new coordinates?

9 views (last 30 days)
Hello,
I have a 1824x6 matrix and I want to produce new coordinates for the row dimension, which stands for the depth, in order to get a smoother contour plot. I don't want to change the column dimension, because it stands for the times when the measurements where taken.
I used meshgrid to produce new coordinates:
newpoints = 100;
[xq,yq] = meshgrid(...
linspace(min(min(depthFehmarn,[],1)),max(max(depthFehmarn,[],1)),newpoints )...
);
Now I wanted to interpolated with following code:
FehmarnWT_interpl = interp2(depthFehmarn,dateFehmarn,FehmarnWT_no10,xq,dateFehmarn,'linear');
I get this error message: Query coordinates input arrays must have the same size.
But I don't want new coordinates for the column dimension and now I don't know how to solve this dilemma.
I use R2020b.
Thanks in advance for your help. :)

Accepted Answer

Matt J
Matt J on 1 Dec 2021
Edited: Matt J on 1 Dec 2021
INTERP1 would be sufficient here.
depthFehmarn=unique(depthFehmarn);
xq=linspace( depthFehmarn(1) , depthFehmarn(end) , newpoints);
FehmarnWT_interpl = interp1(depthFehmarn, FehmarnWT_no10, xq);

More Answers (1)

Matt J
Matt J on 1 Dec 2021
Edited: Matt J on 1 Dec 2021
depthFehmarn=unique(depthFehmarn);
xq=linspace( depthFehmarn(1) , depthFehmarn(end) , newpoints);
F=griddedInterpolant({depthFehmarn,1:6},FehmarnWT_no10);
FehmarnWT_interpl = F({xq,1:6});

Categories

Find more on Interpolation in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!