2015-12-21 273 views
1

我想添加一个元素到矩阵的末尾,我不知道矩阵的长度。如何将元素添加到矩阵的末尾?

EvantCal = 999*ones(1,2); 
. 
. 
. 
. 
%// in a different function 
EventCal(end + 1) = [1, 3]; 
%// the numbers are random 
. 
. 
. 

这是我的错误,当我运行的代码:

在一个分配A(I)= B,B中的元素的和余数必须是相同的。

+1

'EvantCal(完+ 1,:) = [1 ,3];' – Miki

回答

1

的错误是becasue你试图东西一个 -by- 矩阵(即[1, 3],这也是B从错误信息)转换成的EventCal单个元件(注意错误消息中的I是您的end+1,这是一个单独的元素)。而尝试

EventCal(end+1,:) = [1, 3] 

这里:所有列而你的情况是2。因此1行(end+1是单一的数)和2列从而恰好符合的尺寸 - 由* 1 *矩阵你试图追加。

此外,如果性能不是主要的问题,您也可以使用矩阵级联(但这是less efficient比索引方法):

EventCal = [EventCal; [1,3]] 
+0

谢谢,这工作,但不是在我尝试的方式,我需要它去到下一行,所以它会看起来像一个矩阵,而不是一个阵列 –

+0

对不起,只是重读这个问题,看到你的初始化。看到编辑 – Dan

+0

谢谢:)作品完美! –