MATLAB中2个向量的2列矩阵

时间:2013-04-23 18:41:23

标签: matlab vector matrix

这感觉应该很简单。

我正在构建一个最小距离分类器,我想将feature1和feature2放入同一个矩阵中,这样我就可以调用它们并获得这样的答案。

featureVector(1,:) =所有feature1

featureVector(2,:) =所有feature2

我正在循环并希望在循环运行时将这些值放入featureVector

我是MATLAB的新手,所以我不确定如何将它写成文字。希望这有足够的意义。

谢谢大家。

2 个答案:

答案 0 :(得分:1)

如果您的feature1是水平向量,请执行以下操作:

featureVector = [ feature1 ; feature2 ]

否则(如果是垂直的),请执行:

featureVector = [ feature1 , feature2 ]

如果您不知道它的方向,您可以随时执行reshape

feature1 = reshape(feature1, 1, numel(feature1))

...什么会使feature1水平,或:

feature1 = reshape(feature1, numel(feature1), 1)

...什么会使feature1垂直。

像这样使用的

reshape将从任何向量/矩阵生成水平/垂直向量,从原始源逐个获取特定值。

修改:证明其有效:

>> a = [1 ; 2 ; 3 ; 4 ; 5];
>> b = [6 ; 7 ; 8 ; 9 ; 10];
>> ab = [a, b]

ab =

     1     6
     2     7
     3     8
     4     9
     5    10

>> ab(2,:)

ans =

     2     7

修改:如果您的feature1feature2是标量,并且您希望在每次迭代中逐个将它们添加到featureVector,然后做:

featureVector = []

for i = 1:...
    feature1 = ...;
    feature2 = ...;
    featureVector = [featureVector; [feature1, feature2]];
end

答案 1 :(得分:0)

您是否考虑过使用它?

results = [values1,values2];