データの形式が x/y/z/value のテキスト ファイルがあります。
例のために言います。0/0/0/12.0
対応する (x,y,z) 値として値を持つ 3 次元行列として取得するように、matlab にインポートする方法
データの形式が x/y/z/value のテキスト ファイルがあります。
例のために言います。0/0/0/12.0
対応する (x,y,z) 値として値を持つ 3 次元行列として取得するように、matlab にインポートする方法
最初に、おそらくdlmreadを使用して、座標/値の 2D マトリックスを Matlab にインポートします。
M = dlmread(filename, '/');
Shai が指摘したように、座標を 0 オフセットではなく 1 オフセットに変換する必要があります。
M(:,1:3) = M(:,1:3) + 1;
次に、適切なサイズのマトリックスを作成して、値を挿入します。
foo = zeros(max(M(:,1)), max(M(:,2)), max(M(:,3)));
最後に、 sub2ind を使用して座標をインデックスに変換し、値を挿入します。
idx = sub2ind(size(foo), M(:,1), M(:,2), M(:,3));
foo(idx) = M(:,4);