在matlab中如何将文本文件导入三维矩阵
我有一个文本文件,其中的数据格式为x/y/z/value 例如0/0/0/12.0在matlab中如何将文本文件导入三维矩阵,matlab,Matlab,我有一个文本文件,其中的数据格式为x/y/z/value 例如0/0/0/12.0 如何将其导入matlab,使其成为一个三维矩阵,其值为相应的(x,y,z)值,首先,将坐标/值的2D矩阵导入matlab,可能使用 正如Shai所指出的,您需要将坐标转换为1-偏移,而不是0-偏移: M(:,1:3) = M(:,1:3) + 1; 接下来,创建一个大小合适的矩阵,将您的值插入其中 foo = zeros(max(M(:,1)), max(M(:,2)), max(M(:,3))); 最后,使
如何将其导入matlab,使其成为一个三维矩阵,其值为相应的(x,y,z)值,首先,将坐标/值的2D矩阵导入matlab,可能使用 正如Shai所指出的,您需要将坐标转换为1-偏移,而不是0-偏移:
M(:,1:3) = M(:,1:3) + 1;
接下来,创建一个大小合适的矩阵,将您的值插入其中
foo = zeros(max(M(:,1)), max(M(:,2)), max(M(:,3)));
最后,使用将坐标转换为索引,并插入值
idx = sub2ind(size(foo), M(:,1), M(:,2), M(:,3));
foo(idx) = M(:,4);
到目前为止您尝试了什么?我看到示例中的索引值是从零开始的,而不是从一开始的-您可能需要将+添加到
M(:,1:3)
谢谢,我对matlab非常陌生,只是想将其用于等值面..:D
idx = sub2ind(size(foo), M(:,1), M(:,2), M(:,3));
foo(idx) = M(:,4);