Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在matlab中如何将文本文件导入三维矩阵_Matlab - Fatal编程技术网

在matlab中如何将文本文件导入三维矩阵

在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))); 最后,使

我有一个文本文件,其中的数据格式为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)));
最后,使用将坐标转换为索引,并插入值

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);