Interpolate pairs of values from matrix

7 ビュー (過去 30 日間)
Chris Pruefert
Chris Pruefert 2024 年 10 月 3 日
コメント済み: Mathieu NOE 2024 年 10 月 11 日
I have a coarse 2D-matrix with [X,Y,Z]-values.
I want to input a Z-value and would like to interpolate possible values for the [X,Y]-pairs. These [X,Y]-pairs are then used for a fit. This means that for a given value of Z, if I choose any X value, Y can be calcualted and the other way arround.
I have tried the interp2 already, but it seems that I can only input X and Y values to get the interpolated Z value and not the other way around, where I input a Z-value and get a list of [X,Y]-pairs for that.
All the best
Chris
  3 件のコメント
Chris Pruefert
Chris Pruefert 2024 年 10 月 11 日
Esaclty, the value for Z most likely is not listed in the original coarse matrix. This means, that the corresponding X and Y value most likely will have to be interpolated from the coarse grid of Z. Would that be possible?
Chris Pruefert
Chris Pruefert 2024 年 10 月 11 日
To grab this example matrix, in the first colum if X=125, 0.3 is inbetween Z = 0.247 and 0.389, with Y = 4.459 4.526 respectively. Eliminating the NaN, interp1(Z(:,1),Y,0.3) would then give 4.4838. Is that the way to do it?

サインインしてコメントする。

採用された回答

Mathieu NOE
Mathieu NOE 2024 年 10 月 3 日
hello
you can surely get the required x , y data for a given z value ; use contour for that purpose as shown in code example below :
Z = peaks(50)/10;
level = 0.3;
surf(Z)
hold on
% extract all isoclines for a given level
[C,h] = contour(Z,level*[1 1]);
[m,n] = size(C);
ind = find(C(1,:)==level); % index of beginning of each isocline data in C
ind = [ind n+1]; % add end (+1)
for k = 1:numel(ind)-1
xc = C(1,ind(k)+1:ind(k+1)-1);
yc = C(2,ind(k)+1:ind(k+1)-1);
zc = level*ones(size(xc));
plot3(xc,yc,zc,'linewidth',5);
end
hold off
  5 件のコメント
Chris Pruefert
Chris Pruefert 2024 年 10 月 11 日
Yes, that is exactly what I tried to achieve. Thanks
Mathieu NOE
Mathieu NOE 2024 年 10 月 11 日
my pleasure !!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

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

タグ

製品


リリース

R2024b

Community Treasure Hunt

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

Start Hunting!

Translated by