0

この変数のセットから対応する値を計算するために見つけたり補間したりできるかどうかを調べようとしています

+-------------+-------------+------+------+
|      x      |      y      |  z   |  g   |
+-------------+-------------+------+------+
| 150.8385804 | 183.7613678 | 0.58 | 2    |
| 171.0745381 | 231.7033081 | 2    | 0.58 |
| 179.1394672 | 244.5019837 | 0.8  | 0.8  |
| 149.1849453 | 180.7103271 | 0.8  | 2    |
| 162.5648017 | 212.8121033 | 2    | 0.8  |
| 141.1687115 | 163.4759979 | 0.8  | 3    |
| 140.7505385 | 162.7905884 | 0.9  | 3    |
| 148.1461022 | 180.5486908 | 1.8  | 1.6  |
| 147.1552106 | 178.7599182 | 2    | 1.6  |
+-------------+-------------+------+------+

x=143 と y=179 に対応する z と g は? 誰かがコードを提案できる場合、私はmatlabにアクセスできます。

上記のデータをワークスペースに読み込むための MATLAB 構文は次のとおりです。

X = [150.8385804 171.0745381 179.1394672 149.1849453 162.5648017 141.1687115 140.7505385 148.1461022 147.1552106].';
Y = [183.7613678 231.7033081 244.5019837 180.7103271 212.8121033 163.4759979 162.7905884 180.5486908 178.7599182].';
Z = [0.58 2 0.8 0.8 2 0.8 0.9 1.8 2].';
G = [2 0.58 0.8 2 0.8 3 3 1.6 1.6].';
4

1 に答える 1

0

これを行うために使用できscatteredInterpolantます。 は、基本的にあなたが持っている散乱データセットscatteredInterpolantで補間を実行するために使用されます。実際には、2回行うことができます。とを対応する出力ポイント とともにキー/コントロール ポイントとして指定します。はオブジェクトを作成し、それぞれにカスタムと値を指定でき、補間された答えが得られます。デフォルトの内挿法はlinearです。そのため、 and を指定して、出力とが何であるかを把握します。 zgxyzgscatteredInterpolantxyzg scatteredInterpolantsx=143y=179zg

言い換えると:

X = [150.8385804 171.0745381 179.1394672 149.1849453 162.5648017 141.1687115 140.7505385 148.1461022 147.1552106].';
Y = [183.7613678 231.7033081 244.5019837 180.7103271 212.8121033 163.4759979 162.7905884 180.5486908 178.7599182].';
Z = [0.58 2 0.8 0.8 2 0.8 0.9 1.8 2].';
G = [2 0.58 0.8 2 0.8 3 3 1.6 1.6].';

%// Create scatteredInterpolant
Zq = scatteredInterpolant(X, Y, Z);
Gq = scatteredInterpolant(X, Y, G);

%// Figure out interpolated values
zInterp = Zq(143, 179);
gInterp = Gq(143, 179);
于 2014-07-02T20:23:58.123 に答える