【发布时间】:2014-05-08 06:57:16
【问题描述】:
我在 matlab 中有一个函数,它返回一个大小为 m x n 的矩阵。我想将此矩阵的每个单独元素存储到尺寸为m x n x p x 2 的单元格的单独元素中。这里m,n,p 都是大数,因此我需要一个没有循环的解决方案。
换句话说,我需要一行代码来实现以下循环:
for k = 1:p
out = func(parameters(k)) %out is mxn matrix
for i = 1:m
for j = 1:n
cell{i,j,k,1} = out(i,j)
end
end
end
【问题讨论】:
-
第四维度是什么?
-
您是否尝试过使用
mat2cell? -
@Divakar 我的函数输出两个大小相同的矩阵,我必须将它们都存储在同一个单元格中。因此是第四维
-
@nishantsny,你不能使用
cat(4, output1, output2)连接两个输出吗?或者,mat2cell方法可以正常工作,您只需要预先分配然后分配如下内容:C{m,n,p,2} = []; C(:,:,:,1) = mat2cell(a, ones(...),...); C(:,:,:,2) = mat2cell(b,....) -
num2cell怎么样?第四维中的 2 是从哪里来的?
标签: matlab