2017-01-19 7 views
0

私はOCTAVEを初めて使用しています。助けていただければ幸いです。CSVファイルから粗い2Dサーフェスをインポートして、細かいCSVファイルを補間してエクスポートする方法OCTAVE

私はz値ポイントの2次元配列を持つCSVファイルを持っています。ポイントはX軸とY軸に沿って等間隔に配置され、z値が格納されている行/列に対応します(つまり、最初の列、最初の行、z = 4は--- >>(0,0,4 ))

QUESTION:

がどのようにZ値のこのcsvファイルをインポートして、2-Dグリッド上の私のポイントとしてそれを使用することができますか?次に、これらの値をより細かい2-Dグリッドで補間し、次に洗練された2-D配列をエクスポートする方法はありますか?

私のグリッドはX &の0から9のステップで1の正方形です。私はステップを0.1(100データ点から10000データ点)にしたいと思います。

私はこれがgriddata、meshgrid、linspace、またはinterp2 ...を使用する単純な問題だと知っていますが、それを達成する方法はありません。

誰もあなたが私

+0

Octaveに似たアスキーファイル処理があるとすれば、私はあなたに従うべきステップを書くことができます: - "fid = fopen( 'yourfilepath'、 'r');を使ってファイルを開きます。 - "line = fgetl(fid);"を使用して、ファイルを1行ずつ読み込みます(最も遅いが安全です)。 - 各行を配列に解析する - "fclose(fid)"を使用してファイルを閉じる - 補間を行います(Octaveには "interp2"があります) - 補間されたデータ(https:// www。 gnu.org/software/octave/doc/v4.2.0/Simple-File-I_002fO.html) – Lati

答えて

0

助けることができる私は、ファイルderek.csvを作成しましたPLEASE:

8 4 9 
4 5 6 
8 9 3 
5 3 4 

今、あなたは0.5と新しいグリッド(例を作成し、関数dlmreadとGNUオクターブからそれをロードすることができます間隔)とコールは、interp2:

Z = dlmread ("derek.csv", " "); 
[XX, YY] = meshgrid (1:0.5:columns(Z), 1:0.5:rows(Z)); 
newZ = interp2 (Z, XX, YY) 

8.0000 6.0000 4.0000 6.5000 9.0000 
6.0000 5.2500 4.5000 6.0000 7.5000 
4.0000 4.5000 5.0000 5.5000 6.0000 
6.0000 6.5000 7.0000 5.7500 4.5000 
8.0000 8.5000 9.0000 6.0000 3.0000 
6.5000 6.2500 6.0000 4.7500 3.5000 
5.0000 4.0000 3.0000 3.5000 4.0000 
を与えます
関連する問題