2016-07-23 36 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