如何在Octave中附加向量?

时间:2014-06-13 03:39:32

标签: matlab vector append octave

当我必须附加到矢量时,我正在这样做。

A = [2 3 4]
A = [A; 3 4 5]

我想知道在Octave中是否有这种或更优雅的方法可以使用内置函数。

2 个答案:

答案 0 :(得分:24)

内置函数是cat,vertcat和horzcat,可在Octave documentation(第3.8节)的第380-381页找到。它们基本上等同于你拥有的东西。

octave:5> A = [2 3 4];
octave:6> A = [A; 3 4 5]
A =

   2   3   4
   3   4   5

octave:7> B = [4 5 6];
octave:8> B = vertcat(B,[5 6 7])
B =

   4   5   6
   5   6   7

另一种(同样等效的)方式是直接使用矩阵索引(参见第132页)

octave:9> C = [6 7 8];
octave:10> C(end+1,:) = [7 8 9]
C =

   6   7   8
   7   8   9

答案 1 :(得分:1)

我认为最有效的是使用你在问题中发布的这个内置函数(我依赖八度音阶中的其他专家我没有完全检查它;标准是矩阵操作通常比迭代的,我不知道允许这个启用的内部机制是什么)。 因为向量是一种类型的矩阵,所以这个解决方案也可以用于连接任何类型的向量:

vector = [vector ; value]