【发布时间】:2018-08-05 21:51:30
【问题描述】:
我已经创建了一个数组X 为X = [1 2 3 4 5],我想在它的末尾插入0。
X = [X, 0]和X = append(X, 0)使用有什么区别吗?
我没有找到任何关于我的东西,我不确定我是否能注意到差异。
提前致谢!
【问题讨论】:
标签: matlab
我已经创建了一个数组X 为X = [1 2 3 4 5],我想在它的末尾插入0。
X = [X, 0]和X = append(X, 0)使用有什么区别吗?
我没有找到任何关于我的东西,我不确定我是否能注意到差异。
提前致谢!
【问题讨论】:
标签: matlab
append 函数是 Symbolic Math Toolbox 的一部分。最好使用[X, 0],因为它是核心语言的一部分,更容易被理解。
【讨论】:
正如另一个答案中所解释的,append 是工具箱的一部分,并非所有人都可以使用。
然而,追加到矩阵的正确方法是
X(end+1) = 0;
这比X=[X,0] 高效得多。不同之处在于后一种形式创建了一个新数组,并将原始数组复制到其中。另一种形式只是附加到矩阵,通常不需要重新分配。 See here for an experiment that shows the difference(阅读问题和我对实验两个部分的回答)。
【讨论】: