簡體   English   中英

如何從CSV文件導入粗糙的2D表面,內插和導出精致的CSV文件OCTAVE

[英]How to import coarse 2D surface from CSV file, interpolate and export refined CSV file OCTAVE

我對OCTAVE非常陌生。 將不勝感激。

我有一個帶有z值點的二維數組的CSV文件。 這些點沿X和Y軸均勻分布,並且對應於存儲z值的行/列。(即,第一列,第一行,z = 4對應--- >>(0,0,4 ))

題:

如何導入此z值的csv文件並將其用作二維網格上的點? 然后,如何在更精細的2D網格上插值這些值,然后導出精確的2D數組?

我的網格是X&Y從0到9且步長為1的正方形,我想使步長為0.1(100個數據點到10000個數據點)。

我知道這是使用griddata,meshgrid,linspace或interp2的簡單問題,但是我不知道如何做到這一點。

請任何人可以幫助我

我創建了一個文件derek.csv:

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

現在,您可以使用dlmread從GNU Octave加載它,創建新的網格(例如間距為0.5的網格)並調用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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM