我想添加一个元素到矩阵的末尾,我不知道矩阵的长度。如何将元素添加到矩阵的末尾?
EvantCal = 999*ones(1,2);
.
.
.
.
%// in a different function
EventCal(end + 1) = [1, 3];
%// the numbers are random
.
.
.
这是我的错误,当我运行的代码:
在一个分配A(I)= B,B中的元素的和余数必须是相同的。
我想添加一个元素到矩阵的末尾,我不知道矩阵的长度。如何将元素添加到矩阵的末尾?
EvantCal = 999*ones(1,2);
.
.
.
.
%// in a different function
EventCal(end + 1) = [1, 3];
%// the numbers are random
.
.
.
这是我的错误,当我运行的代码:
在一个分配A(I)= B,B中的元素的和余数必须是相同的。
的错误是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]]
谢谢,这工作,但不是在我尝试的方式,我需要它去到下一行,所以它会看起来像一个矩阵,而不是一个阵列 –
对不起,只是重读这个问题,看到你的初始化。看到编辑 – Dan
谢谢:)作品完美! –
'EvantCal(完+ 1,:) = [1 ,3];' – Miki