2016-07-23 83 views
0

假设我有两行与数据在MATLAB移位索引值

R1 = 12 13 15 17 200 23

R2 = 32 22 43 67 21 74

我想如下知道如何R1(例如,13 15)的第二索引和第三索引的值,使其成为

R2 = 32 13 15 67 21 74

回答

1

这很简单移位到R2的第二行: R2(2:3) = R1(2:3);

代码示例:

R1 = [12 13 15 17 200 23]; 
R2 = [32 22 43 67 21 74]; 
R2(2:3) = R1(2:3); 

您也可以使用以下方法:R2([2,3]) = R1([2,3]);,如果索引不连续的。

如果R1和R2是在矩阵中的两行,则可以使用下面的示例:

% Create the input matrix A: 
R1 = [12 13 15 17 200 23]; 
R2 = [32 22 43 67 21 74]; 
A = [R1; R2]; 

%Copy values from index 2 and 3 of first row to index 2 and 3 of second row: 
A(2, [2,3]) = A(1, [2,3]); 

在情况下,存在更多的行,并且需要“移动”所有下来,就可以使用下面的例子:

%Create sample matrix A (6x6 elements). 
A = magic(6); 

%"Shift" values of index 2,3 of all rows, one row down: 
A(2:end, [2,3]) = A(1:end-1, [2,3]); 

参考这里:http://www.mathworks.com/company/newsletters/articles/matrix-indexing-in-matlab.html

+0

谢谢Rotem公司 – asif