如何在Matlab中向特定行添加有限行?

时间:2013-09-26 19:27:35

标签: matlab matrix indexing

我有两个矩阵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 *兰特(6,3))

  
B =

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

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

for i=1:6

        if i<=3     

            x=x(y,:)
        else 

       end           
    end 

我试过我不知道内情如果条件

1 个答案:

答案 0 :(得分: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时...