Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 复制矩阵的第一行和第一列_Matlab_Matrix - Fatal编程技术网

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

Matlab 复制矩阵的第一行和第一列,matlab,matrix,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中做到这一点吗?在下面的代码中,A是您的起点,我相信E是您想要实现的目标 当然,您可以在一个步骤中组合所有中间表达式以获得最终结果 A= [1 2 3; 4 5 6; 7 8 9] B= A(1:3,1:1

我有一个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中做到这一点吗?在下面的代码中,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]

在下面的代码中,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]

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

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


请参阅上的文档。

您可以通过连接原始矩阵的不同部分来实现这一点:

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


请参阅上的文档。

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

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

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

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

比赛有点晚了,但值得回答。您可以使用:

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

如果你想在游戏中添加更多的第一行和第二列,那么这是一个简单的、更通用的方法。

游戏进行得有点晚了,但值得回答。您可以使用:

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

如果您想添加的不仅仅是一个单独的第一行和第二列,那么这是一个简单的、更通用的方法。

这是一个非常优雅的答案,我会记住这种方法。虽然我想仍然有一种级联方法用于获得下标向量,这是一个非常优雅的答案,但我会记住这种方法。虽然我猜仍然有一个用于获取下标向量的连接^^和
1:3
可以是
,然后
1:4
也可以是
1:3
可以是
,然后
1:4
也可以是