如何在matlab中添加新列?

时间:2016-12-14 16:01:31

标签: matlab matrix

假设我想将第4列添加到填充了1的3x3矩阵中。

% random 3x3 matrix
matrix = randi([1 10],3,3);

我知道如何添加一个新的行:

matrix = [matrix;ones(1,3)]

但是当我尝试添加这样的新列时:

matrix =[ones(3,1) matrix]

或者那样:

matrix = [ones(3,1);matrix]

我得到关于矩阵不一致的错误。

1 个答案:

答案 0 :(得分:1)

您的代码将输出存储在您用作输入的同一变量中。

如果你不小心,这很危险。

示例:

matrix = randi([1 10],3,3);   % Here matrix is 3x3

matrix = [matrix; ones(1,3)];  % we add a row, now matrix is 4x3

matrix =[ones(3,1) matrix];    % here we cannot add a 3x1 column since matrix is 4x3

您始终可以添加调试代码以了解正在发生的事情。

matrix = randi([1 10],3,3);    % Here matrix is 3x3
matrix = [matrix; ones(1,3)];  % we add a row, now matrix is 4x3
disp size(matrix);             % will show you that matrix is no longer 3x3
matrix =[ones(3,1) matrix];