MATLAB - 在矩阵的第一列添加值

0 matlab matrix

我想在矩阵的开头添加一个值,例如,我的矩阵是

0,0,0,0,0,0
0,1,1,1,0,0
1,0,0,1,0,0
1,1,1,0,0,0
Run Code Online (Sandbox Code Playgroud)

然后我想在第一列添加'1'或'0',因此它会变成这样

1,0,0,0,0,0,0
1,0,1,1,1,0,0
1,1,0,0,1,0,0
1,1,1,1,0,0,0

0,0,0,0,0,0,0
0,0,1,1,1,0,0
0,1,0,0,1,0,0
0,1,1,1,0,0,0
Run Code Online (Sandbox Code Playgroud)

我怎么能在MATLAB中做到这一点?

Cas*_*lho 5

您可以连接矩阵而无需从头开始创建另一个矩阵,如下所示:

% your matrix
A = [ 0,0,0,0,0,0;
      0,1,1,1,0,0;
      1,0,0,1,0,0;
      1,1,1,0,0,0 ];

A_with_zeros = [zeros(size(A,1),1) A]
A_with_ones = [ones(size(A,1),1) A]

% Output:
%  A_with_zeros = [ 0 0 0 0 0 0 0
%                   0 0 1 1 1 0 0
%                   0 1 0 0 1 0 0 
%                   0 1 1 1 0 0 0 ]
% 
%  A_with_ones = [ 1 0 0 0 0 0 0 0
%                  1 0 0 1 1 1 0 0
%                  1 0 1 0 0 1 0 0
%                  1 0 1 1 1 0 0 0 ]
Run Code Online (Sandbox Code Playgroud)

关于连接矩阵的文档:

  • horzcat
  • vertcat

    这两个文档页面详细描述了现有方法,这些方法可以让您水平连接数组(我在上面的例子中做了什么)和垂直连接数组(如果你想在矩阵中添加行).