我想知道在MATLAB中是否有一种简单的方法可以执行以下操作:我想复制矩阵的行或列并将其插入下一行/列。
例如:给定3x3矩阵
1 2 3
4 5 6
7 8 9
我想复制第一行并将其作为第二行插入:
1 2 3
1 2 3
4 5 6
7 8 9
有人可以建议我如何在MATLAB中实现这一目标吗?谢谢!
答案 0 :(得分:16)
您可以简单地重复您想要重复的行的索引
A = A([1 1 2 3],:)
答案 1 :(得分:3)
要将行号source
插入行号target
:
A = [A(1:target-1,:); A(source,:); A(target:end,:)];
答案 2 :(得分:0)
A = [A(1,:); A];
答案 3 :(得分:0)
我知道这是一个非常古老的主题,但是当我在寻找一个特定的Matlab函数时,这个帖子出现在我为同样的问题做的搜索中,我不记得了 - padarray的名字。
所以,你可以这样做:
A = [1 2 3; 4 5 6; 7 8 9];
A = padarray(A,[1 0],'replicate','pre');
这通常很有用,例如,如果A是您未明确保存的函数的输出,那么您不知道第一行是什么。无论如何,希望这有助于某人!