matlab中不同维度的cell合并,不用for循环应该怎么做
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab中不同维度的cell合并,不用for循环应该怎么做相关的知识,希望对你有一定的参考价值。
例如:
A=[1];[2];[3];
B=[4];[5];[6];[7];
C=[1] [4];[2] [5];[3] [6];[] [7]
各位大大,C这样的cell需要怎么做?
b=length(B);
m=b-a;
a0=[];
A=[A;repmat(a0,m,1)];
for i=1:b
C(i,1)=A(i) B(i);
end
matlab 如何把cell转为三维矩阵
我有一个cell是1*4cell的,每一个cell有1400*720的二维矩阵,如何把她转为一个1400*720*4的三维矩阵?
参考技术A 没有别的办法,你这个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,:)=bindex;
end
toc 参考技术B dt = cell(1,4);
for p = 1:4
dtp = rand(4,7);
end
R = zeros(4,7,4);
for p = 1:4
R(:,:,p) = cell2mat(dtp);
end追问
恩恩,非常感谢!!
本回答被提问者采纳以上是关于matlab中不同维度的cell合并,不用for循环应该怎么做的主要内容,如果未能解决你的问题,请参考以下文章