フィルターのクリア

How can I get X value by transforming the griddedInterpolant function?

2 ビュー (過去 30 日間)
형준 김
형준 김 2023 年 11 月 30 日
コメント済み: 형준 김 2023 年 12 月 1 日
Hi.
I have 2D data (60*60) of X, Y, Z, and I've made 'griddedInterpolant' function with these data.
Here is my sample code:
[Xq, Yq] = meshgrid(min(X):(max(X) - min(X))/999:max(X), min(Y):(max(Y) - min(Y))/999:max(Y));
Vq = griddata(X, Y, Z, Xq, Yq, 'linear');
F = griddedInterpolant(Xq', Yq', Vq');
With this F function, I can get Z value of X, Y values.
Z_value = F(X_value, Y_value);
But the thing that I want is X value of Y, Z values with G.
X_value = G(Y_value, Z_value);
I've already tried this link's answer, but couldn't figure out the solution.
Thanks in advance for any help.
  2 件のコメント
Dyuman Joshi
Dyuman Joshi 2023 年 11 月 30 日
Why not follow the steps you did with F to get Z as F(X, Y)?
형준 김
형준 김 2023 年 12 月 1 日
Sorry for late comment.
Actually, I've tried it. The data shape is as follows:
The code example that I've tried is:
[Yq, Zq] = meshgrid(min(Y):(max(Y) - min(Y))/999:max(Y), min(Z):(max(Z) - min(Z))/999:max(Z));
Xq = griddata(Y, Z, X, Yq, Zq, 'linear');
F = griddedInterpolant(Yq', Zq', Xq');
However, Yq and Zq were empty because of Z.
I didn't write it in the question, X and Y data are gridded data, generated horizontally/vertically. And Z was generated diagonally. So an error occurs in the process of generating Yq and Zq using Z.
That's why I want to transform the function. Sorry for the confusion.

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

採用された回答

Matt J
Matt J 2023 年 12 月 1 日
編集済み: Matt J 2023 年 12 月 1 日
Why not just,
F=scatteredInterpolant(Y(:),Z(:),X(:));
  1 件のコメント
형준 김
형준 김 2023 年 12 月 1 日
OMG.. It works well.
I didn't know it would be solved so easily... Thanks for your help :)

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

その他の回答 (0 件)

カテゴリ

Help Center および File Exchange2-D and 3-D Plots についてさらに検索

製品


リリース

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by