wusemm 发表于 2010-4-16 17:51

请教个关于矩阵的问题,在线等

我如果有一个矩阵
A=[1 2 3
      2 3 4 ]

如果我想把这个矩阵变为A1=[111
                                             222
                                             333 ]

                                    A2=[222
                                           3   33
                                          44   4]
就是把每一行都展开成一个矩阵
该如何进行?

rocwoods 发表于 2010-4-16 18:03


A=[1 2 3
2 3 4 ];
A = A';
>> = size(A);
>> B = arrayfun(@(k) repmat(A(:,k),1,nRow),1:nCol,'UniformOutput',false)

B =

       

>> B{1}

ans =

   1   1   1
   2   2   2
   3   3   3

>> B{2}

ans =

   2   2   2
   3   3   3
   4   4   4

wusemm 发表于 2010-4-16 19:01

非常感谢

非常感谢,我去尝试一下

ChaChing 发表于 2011-6-26 12:26

没有arrayfun的老式方法, 差距立见! :@Lclc; clear
A=; A=A'; = size(A);
for k=1:nCol, eval(['A',num2str(k),'=repmat(A(:,k),1,',num2str(nRow),')']); end
页: [1]
查看完整版本: 请教个关于矩阵的问题,在线等