2013-03-18 79 views
-1

找到最低的總和路徑我有數據X,其中行是時間戳和列測量的矩陣。我可以很容易地找到通過矩陣的最低金額路徑:通過矩陣

[r c]=size(X) 
for w=1:r 
Y(w)=min(X(w,:)) 
end 

result = sum(Y) 

這是有用的,但如果有一個功能,能告訴我指定的頻率不同的路徑,這將是非常有用的。例如,如果我組2排在一起這半部的頻率......如果有可能找到我用不同頻率的不同路徑,在指定的誤差函數,然後對他們進行排名,這將是完美的!

很多要求,但必須有一個統計或數學工具,做這個......

+0

你並不需要循環計算自主分鐘這樣。只需使用'Y = min(X,[],2);'2表示計算第二維而非第一維的最小值。 MATLAB是這個工作的好工具。但是,您的問題陳述對您的應用程序非常具體,因此您必須自己編寫代碼。首先更確切地指定您的問題。 「組」意味着什麼?容差如何發揮最小計算量? – Peter 2013-03-18 17:20:54

回答

0

不知道如果我完全理解這個問題,但如果我看到你想要什麼本應該做的招一個固定頻率:

frequency = 2; 
r = size(X,1); 
Y = zeros(r,1); 
for w=1:frequency:r 
Y(w)=min(min(X(w:w+frequency-1,:))) 
end 

result = sum(Y) 

您可以遍歷頻率查找每個頻率的最佳路徑長度。

請注意,找到具有不同頻率的最佳路徑(例如,首先是2,然後是3,然後是2)將是一個完全不同的問題。我認爲這更復雜,你可能想看看線性規劃。

+0

這假定您想要每個「頻率」行的最低值。如果你必須'通過'每一行,但只是想決定在每個'頻率'的位置,你可以通過用'min(min' – 2013-03-18 17:25:46