フィルターのクリア

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

4 ビュー (過去 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 ExchangeLogical についてさらに検索

製品


リリース

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by