2013-09-26 5 views
-1

Я две матрицы А и В 2x9 является 6x3,Как добавить ограниченную строку в определенную строку в Matlab?

A = нули (2,9)

A = 

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

В = (круглые 10 * rand (6,3))

B = 

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

, используя эти коды я хочу добавить первые три строки матрицы В к первой строке А и второй трех строк матрицы B на втором ряду матрицы А, используя эти коды :::

for i=1:6 

     if i<=3  

      x=x(y,:) 
     else 

     end   
    end 

я пытался, я не знаю, как внутри, если условие

ответ

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 ...

+0

именно то, что я хочу Thnx так много для вашей помощи. Уважаемый el_tenedor –

+0

Вы правы, меня тоже. –

+0

это короче Я нашел его A = изменить форму (B ', 9, [])' –

Смежные вопросы