Matlab中的多列矩阵单元

Matlab中的多列矩阵单元,matlab,cell,Matlab,Cell,我在Matlab中有一个单元格,组成如下,其中每个条目可以有多个整数。 例如: A=cell(2,10); A{1,1}=[5]; A{1,2}=[5 7]; A{1,3}=[5]; A{1,4}=[5]; A{1,5}=[5]; A{1,6}=[5]; A{1,7}=[5]; A{1,8}=[5]; A{1,9}=[5]; A{1,10}=[5]; A{2,1}=[5]; A{2,2}=[3]; A{2,3}=[1]; A{2,4}=[5]; A{2,5}=[

我在Matlab中有一个单元格,组成如下,其中每个条目可以有多个整数。 例如:

 A=cell(2,10);
 A{1,1}=[5];
 A{1,2}=[5 7];
 A{1,3}=[5];
 A{1,4}=[5];
 A{1,5}=[5];
 A{1,6}=[5];
 A{1,7}=[5];
 A{1,8}=[5];
 A{1,9}=[5];
 A{1,10}=[5];

 A{2,1}=[5];
 A{2,2}=[3];
 A{2,3}=[1];
 A{2,4}=[5];
 A{2,5}=[2];
 A{2,6}=[6];
 A{2,7}=[2];
 A{2,8}=[2];
 A{2,9}=[1];
 A{2,10}=[5 4];
我会得到一个矩阵,它包含了细胞的元素。当单元格中的行包含多个条目(例如{1,2})时,该条目应包含(所有条目)一次。例如,矩阵输出应为:

  B=[5 5 5 5 5 5 5 5 5 5; %A{1,:}first column in the cell
  5 7 5 5 5 5 5 5 5 5; %A{1,:}first column and the second element in row       
                       A{1,2}
  5 3 1 5 2 6 2 2 1 5;
  5 3 1 5 2 6 2 2 1 4];
你能帮我吗? 提前感谢

这样就可以了:

[r,c]= size(A);   %Finding the size of A for the next step
B=zeros(r*2,c);   %Pre-allocating the memory
for iter=1:r
    k=find(cellfun('length',A(iter,:))==2); %finding which elements have length =2
    temp=cell2mat(A(iter,:));   %converting cell to matrix
    k1= k+ [0:size(k,2)-1];     %finding which elements should come in the next row instead of in next column

    temp1= temp(k1+1);          %storing those elements in 'temp1' matrix
    temp(k1+1)=[];              %removing those elements from original 'temp' matrix

    B(2*(iter-1)+1:2*(iter-1)+2, :)=[temp; temp];  
    B(2+(iter-1)*2,k)=temp1;    %replacing the elements from temp1
end
B

非常感谢,我有个问题。单元格每行中的元素数可能包含2个以上的元素。事实上,在我的代码中包含了您的优秀代码,我收到了以下错误消息:“订阅的赋值维度不匹配”。你能帮我吗?@Noris你不能根据你的实际问题修改一下吗?此外,您没有提到对于超过2个元素的情况,您的预期输出是什么!我只能根据你提供的信息回答!