我想知道是否有一種簡單的方法在MATLAB中執行以下操作:我想複製矩陣的行或列並將其插入下一行/列。複製矩陣的行或列,並將其插入到下一行/列
例如:給定一個3x3矩陣
1 2 3
4 5 6
7 8 9
我想將它複製的第一行,並插入作爲第二行:
1 2 3
1 2 3
4 5 6
7 8 9
能有人建議我怎麼能做到這一點在MATLAB中?謝謝!
我想知道是否有一種簡單的方法在MATLAB中執行以下操作:我想複製矩陣的行或列並將其插入下一行/列。複製矩陣的行或列,並將其插入到下一行/列
例如:給定一個3x3矩陣
1 2 3
4 5 6
7 8 9
我想將它複製的第一行,並插入作爲第二行:
1 2 3
1 2 3
4 5 6
7 8 9
能有人建議我怎麼能做到這一點在MATLAB中?謝謝!
你可以簡單地重複行的索引你想重複
A = A([1 1 2 3],:)
A = [A(1,:); A];
不夠通用。 OP給出的例子是使用第一行,但他的問題不是。對於任何選擇和插入行來說,trutheality具有唯一的通用方法。 – 2014-03-07 16:53:58
要插入的行數source
的行數target
:
A = [A(1:target-1,:); A(source,:); A(target:end,:)];
我知道這是一個非常古老的話題,但是當我在尋找時,這篇文章就出現在我爲同樣的問題所做的搜索中特殊的Matlab函數我不記得 - padarray的名字。
所以,你可以這樣做:
A = [1 2 3; 4 5 6; 7 8 9]; A = padarray(A,[1 0],'replicate','pre');
例如,如果A是沒有明確保存的函數的輸出,那麼這通常很有用,因此您不知道第一行是什麼。無論如何,希望這可以幫助別人!
幸運的是,它是我們正在討論的matlab,而matlab可以做所有事情:-) – 2016-01-18 10:50:41