2

3列を含むタブ区切りのXYZファイルがあります。

   586231.8       2525785.4           15.11
   586215.1       2525785.8            14.6
   586164.7         2525941           14.58
   586199.4       2525857.8           15.22
   586219.8         2525731            14.6
   586242.2       2525829.2           14.41

列 1 と 2 は X 座標と Y 座標 (UTM メートル単位) で、列 3 は点 X、Y での関連する Z 値です。たとえば、ある点の標高 (z) は次のように与えられます。z(x,y)

dlmread()ワークスペースで 3 つの変数を取得するためにこのファイルを読み込むことができますが、これらの変数を使用してX = 41322x1 doubleサイズのサーフェスを作成したいと思います。(m x n)これについてどうすればいいですか?

以下のコメントに続いて、TriScatteredInterpを使用してみました(以下のコマンドを参照)。以下に示す結果を取得し続けます (ただし、サーフェスの一部を取得しているように見えます)。 ここに画像の説明を入力

この結果を引き起こすために何が起こっているのか、何か考えはありますか? 問題はコマンドにあると思いますが、meshgridどこに (またはなぜ) わからないのです。現在、上記の図を計算するために次の一連のコマンドを入力しています (X 列と Y 列はメートル単位で、グリッド サイズは 8m であるため、ti/tj は 8 秒で増加します)。

F = TriScatteredInterp(x,y,z,'nearest');
ti = ((min(x)):8:(max(x)));
tj = ((min(y)):8:(max(y)));
[qx,qy] = meshgrid(ti,tj);
qz = F(qx,qy);
imagesc(qz) %produces the above figure^
4

3 に答える 3

3

機能が欲しいと思いますgriddata。MATLAB ヘルプの「分散データの内挿」を参照してください。

于 2011-11-24T15:06:20.130 に答える
0

関数「ndgrid(x,y)」または「meshgrid(x,y)」を探しているのかもしれません。

于 2011-11-24T15:21:22.767 に答える