复制矩阵的第一行和第一列

时间:2013-10-16 12:48:14

标签: matlab matrix

我有一个3 * 3矩阵A

A = [1 2 3               
     4 5 6 
     7 8 9];

我想只复制此矩阵的第一行和第一列。它应该看起来像

  1 1 2 3

  1 1 2 3

  4 4 5 6

  7 7 8 9

有人可以告诉我如何在matlab中做到这一点

4 个答案:

答案 0 :(得分:10)

我认为这是一种使用索引的好方法

A([1, 1:end], [1, 1:end])

答案 1 :(得分:2)

你可以通过连接原始矩阵的不同部分来做到这一点:

B=[A(1) A(1,:);A(:,1) A];

在这个表达式中,A(1)是A的左上角元素,A(1,:)是第一行,A(:,1)是第一列。

请参阅colon operator上的文档。

答案 2 :(得分:1)

在下面的代码中,A是您的起点,我相信E是您想要实现的目标。

您当然可以将所有中间表达式组合在一起以实现最终结果。

A= [1 2 3; 4 5 6; 7 8 9]
B= A(1:3,1:1)
C= [B A]
D= C(1:1,1:4)
E= [D;C]

答案 3 :(得分:1)

游戏有点晚,但值得回答。您可以使用padarray

B = padarray(A,[1 1],'replicate','pre')

如果您想添加的不仅仅是一个第一列和第一列,那么这是一个单行且更通用的...