Matlab将额外的列添加到矩阵中

时间:2014-04-09 14:41:45

标签: matlab

我有一个216 x 3大小的矩阵。我希望在此矩阵中添加额外的三列。我认为很简单的事情让我抓狂!我期待它像下面这一行,

myData = [myData; zeros(length(myData(:,1)),3)]

错误信息如下。但是两个矩阵的行数都相同,所以不明白问题是什么。

Error using vertcat
Dimensions of matrices being concatenated are not consistent.

更新

我现在有以下几行,我仍然可以收到错误信息,与上面相同,但是对于horzcat。

myData = [myData zeros(size(myData, 1),3)];

我还注意到myData实际上被定义为213 x3单元格 - 这可能是问题吗?

2 个答案:

答案 0 :(得分:4)

myData = [ myData zeros(size(myData,1),3) ];

或者更简单:

myData(end,end+3) = 0;

答案 1 :(得分:2)

将零填充到数组中的另一种方法是使用padarray -

N = 3; %%// Number of columns to be added
myData = padarray(myData,[0 N],'post')

对OP更新的回应:

col_ind = size(myData,2)+1:size(myData,2)+3;

其中一项必须有效 - myData(:,col_ind) = {'0'}myData(:,col_ind) = {0},具体取决于是否需要分别使用字符数组或数字。