這感覺應該很簡單。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