-1

我有两个矩阵 A 是 2x9,B 是 6x3,

A= 零(2,9)

A =

 0     0     0     0     0     0     0     0     0
 0     0     0     0     0     0     0     0     0

B=圆形(10*rand(6,3))

B =

 7     6     9
 6     7     8
 4     1     7
 1     1     1
 8     5     1
 3     5     1

通过使用这些代码,我想使用这些代码将矩阵 B 的前三行添加到 A 的第一行,将矩阵 B 的后三行添加到矩阵 A 的第二行::::

for i=1:6

        if i<=3     

            x=x(y,:)
        else 

       end           
    end 

我试过我不知道如果条件如何

4

1 回答 1

0
j=1; k=1;   
for i=1:6        % loop over rows of B
  if (j > 9)     % reset your index to point to the first entry of the next row of A
    k=k+1;
    j=1;
  end
  A(k,j:j+2)=A(k,j:j+2)+B(i,:);
  j=j+3;  
end

如果矩阵的大小发生变化,则必须分别调整条件和步幅。这只是一个快速的解决方案。我想知道是否有更优雅的方法来解决这个问题 - 总是有,当使用 Matlab 时......

于 2013-09-26T19:53:52.503 回答