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

9 ビュー (過去 30 日間)
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. :)

採用された回答

Matt J
Matt J 2021 年 12 月 1 日
編集済み: Matt J 2021 年 12 月 1 日
INTERP1 would be sufficient here.
depthFehmarn=unique(depthFehmarn);
xq=linspace( depthFehmarn(1) , depthFehmarn(end) , newpoints);
FehmarnWT_interpl = interp1(depthFehmarn, FehmarnWT_no10, xq);

その他の回答 (1 件)

Matt J
Matt J 2021 年 12 月 1 日
編集済み: Matt J 2021 年 12 月 1 日
depthFehmarn=unique(depthFehmarn);
xq=linspace( depthFehmarn(1) , depthFehmarn(end) , newpoints);
F=griddedInterpolant({depthFehmarn,1:6},FehmarnWT_no10);
FehmarnWT_interpl = F({xq,1:6});

カテゴリ

Help Center および File ExchangeInterpolation についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by