matlab 如何把cell转为三维矩阵

我有一个cell是1*4cell的,每一个cell有1400*720的二维矩阵,如何把她转为一个1400*720*4的三维矩阵?

第1个回答  推荐于2018-03-30
没有别的办法,你这个cell in cell,必须用for,而且用for也没有你说的那么夸张,我这里做了一个测试,用了一个30万行的你这样的矩阵进行了一下实验,也就用了1分钟。
下边是测试程序和测试结果(点击图放大看):
a={{'k','1','2'};{'k','4','2'};{'k','5','3'}} ;
b=repmat(a,[1e5,1]);
c=cell(1e5,3);
tic
for index=1:length(b);
c(index,:)=b{index};
end
toc本回答被网友采纳
第2个回答  推荐于2016-03-28
dt = cell(1,4);
for p = 1:4
    dt{p} = {rand(4,7)};
end
R = zeros(4,7,4);
for p = 1:4
    R(:,:,p) = cell2mat(dt{p});
end

追问

恩恩,非常感谢!!

本回答被提问者采纳