假设我有两行,数据为
R1 = 12 13 15 17 200 23
R2 = 32 22 43 67 21 74
我想知道如何将R1的第二个索引和第三个索引(例如,13 15)的值转换为R2的第二行,使其成为
R2 = 32 13 15 67 21 74
答案 0 :(得分:1)
这很简单: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