2013-03-18 2 views
-1

데이터 행렬이 있습니다. 여기서 행은 시간 소인이며 열은 측정 값입니다. 이 유용행렬을 통해 가장 낮은 합계 경로 찾기

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

result = sum(Y) 

하지만 나에게 지정된 주파수에 대해 다른 경로를 알 수있는 기능이 있다면 어떤 일이 정말 유용 할 것이다 : 나는 쉽게하여 매트릭스를 통해 가장 낮은 합 경로를 찾을 수 있습니다. 예를 들어 그룹 2 행을 함께 사용하면 주파수가 반으로 줄어 들었습니다 ...... 지정된 공차에 대해 다양한 주파수로 다른 경로를 찾을 수있는 함수가 있다면이 주파수가 완벽 할 것입니다.

많은

물어하지만이 작업을 수행 통계 또는 수학적 도구 ......이 있어야

+0

이렇게 독립적 인 분을 계산하기 위해 루프 할 필요가 없습니다. 'Y = min (X, [], 2);를 사용하십시오. 2는 첫 번째 차원이 아닌 두 번째 차원에 대해 min을 계산하는 것을 의미합니다. MATLAB은 작업을위한 훌륭한 도구입니다. 그러나 문제 성명서는 애플리케이션에 매우 중요하므로 코드를 직접 작성해야합니다. 문제를보다 정확하게 지정하여 시작하십시오. "그룹"은 정확히 무엇을 의미합니까? 공차가 최소 계산에서 어떻게 작용합니까? – Peter

답변

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'을 'min (sum)'으로 바꾸면됩니다. –

관련 문제