假设我想将第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]
我得到关于矩阵不一致的错误。
答案 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];