这感觉应该很简单。MATLAB中2个向量的2列矩阵
我正在构建一个最小距离分类器,我想把feature1和feature2放到同一个矩阵中,以便我可以调用它们并获得像这样的答案。
featureVector(1,:) =
所有feature1
值
featureVector(2,:) =
所有feature2
值
我通过循环并希望把这些值到featureVector
作为循环运行。
我对MATLAB很神奇,所以我不知道如何把它写成文字。希望这样做有足够的道理。
谢谢大家。
这感觉应该很简单。MATLAB中2个向量的2列矩阵
我正在构建一个最小距离分类器,我想把feature1和feature2放到同一个矩阵中,以便我可以调用它们并获得像这样的答案。
featureVector(1,:) =
所有feature1
值
featureVector(2,:) =
所有feature2
值
我通过循环并希望把这些值到featureVector
作为循环运行。
我对MATLAB很神奇,所以我不知道如何把它写成文字。希望这样做有足够的道理。
谢谢大家。
如果您feature1
是一个水平矢量,然后执行:
featureVector = [ feature1 ; feature2 ]
品(如垂直),这样做:
featureVector = [ feature1 , feature2 ]
如果你不知道它的方向做,你总是可以做一个reshape
:
feature1 = reshape(feature1, 1, numel(feature1))
...什么会让feature1
水平,邻R:
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
编辑:如果您feature1
和feature2
是标量,并希望将其添加到featureVector
一个接一个在每次迭代,然后执行:
featureVector = []
for i = 1:...
feature1 = ...;
feature2 = ...;
featureVector = [featureVector; [feature1, feature2]];
end
你有没有想过用这个?
results = [values1,values2];
这是我第一次尝试。当我在那里做第一个选项时,它只保留feature1和feature2的最后2个值。我需要它来保持他们的一切。它在循环后输出2x1矩阵,它应该是5x1。 – zburns12 2013-04-23 18:58:07
让我看看你的代码。我刚刚添加了一个证明它的工作原理。 – 2013-04-23 18:58:46
ratio = h1_max/h2_max; formant3 = formfreq(1); formant4 = formfreq(2); formDistance = formant4 - formant3; featureVector1 = [ratio,formDistance]; – zburns12 2013-04-23 19:01:59