我有一个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单元格 - 这可能是问题吗?
答案 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}
,具体取决于是否需要分别使用字符数组或数字。