Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.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 如何将5D数据矩阵拆分为若干部分_Matlab_Matrix_Split - Fatal编程技术网

Matlab 如何将5D数据矩阵拆分为若干部分

Matlab 如何将5D数据矩阵拆分为若干部分,matlab,matrix,split,Matlab,Matrix,Split,我有一个5D数据矩阵,包含值(:,:,1,1,1),(:,:,1,1,2),…(:,:,:,1,1,10),每个值有57*92个元素。我想把这个矩阵分成10个矩阵,第一个矩阵中包含值(:,:,1,1,1)57*92,另一个矩阵中包含值(:,:,1,1,2)57*92,依此类推。我正在使用Matlab 该文件看起来像(复制了一小部分): 您可以这样做,它将创建N个矩阵,命名方案为M_编号,其中编号从1到N: % Create dummy 5D matrix val = zeros(57,92,1,

我有一个5D数据矩阵,包含值(:,:,1,1,1),(:,:,1,1,2),…(:,:,:,1,1,10),每个值有57*92个元素。我想把这个矩阵分成10个矩阵,第一个矩阵中包含值(:,:,1,1,1)57*92,另一个矩阵中包含值(:,:,1,1,2)57*92,依此类推。我正在使用Matlab

该文件看起来像(复制了一小部分):


您可以这样做,它将创建N个矩阵,命名方案为M_编号,其中编号从1到N:

% Create dummy 5D matrix
val = zeros(57,92,1,1,10);

% Create N matrices
N = 10;
for i = 1:N
    eval(sprintf('M_%d = val(:,:,1,1,%d);', i, i));
end

为什么不直接使用索引/切片来获取这些切片:
val(:,:,:,:,1)
val(:,:,:,:,2)
val(:,:,,:,,:,10)
?根据您的另一个问题,您是否拆分以保存?如果是这样,为什么不另存一种格式?@Guto,是的,我正在拆分以保存不同的文件。我试图以另一个问题中讨论的另一种格式保存。@Divakar如何使用循环对它们进行索引,因为我想保存每个val(:,:,:,:,:,,:,1),val(:,,:,,,,:,2)…我正在使用这个循环,但在I=1:10 M_I=lst10(:,,:,,,:,,,,,:,I)的输出中只有一个变量;end@VaishaliJain使用迭代器将索引输入到输出中:
M_i(i)=lst10(:,:,:,:,:,i)?非常感谢,这段代码完美地达到了我的目的。现在,如果我想对所有变量执行一个函数,我的工作区中有10个变量,分别是M_1,M_2。我如何定义这些变量?请不要教坏的编程实践。这个@sardarUsama,你能详细说明一下吗?有人问了我一个问题,我回答说:,
% Create dummy 5D matrix
val = zeros(57,92,1,1,10);

% Create N matrices
N = 10;
for i = 1:N
    eval(sprintf('M_%d = val(:,:,1,1,%d);', i, i));
end