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
假设我有两行与数据在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
这很简单移位到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
谢谢Rotem公司 – asif