2012-09-11 3 views
0

신호를 가지고 MATLAB로 로컬 최대 값을 찾고, 진폭을 찾고, 최소값에서 최대 값까지 정렬하고, 세트의 75 백분위 수를 선택합니다.신호에서 로컬 맥시마와 백분위 수를 찾습니다.

어떻게하면됩니까?

** 75 번째 백분위 수 : 데이터의 75 %가이 값보다 작거나 같은 집합의 특정 요소를 의미합니다. 예 : 0에서 100 사이의 값을 갖는 경우 75는 75 백분위 수입니다.

+0

시도해 보셨습니까? 입력으로 주어진 예제와 출력으로 기대되는 결과가 있습니까? – Etienne

+1

은 신호 1D (벡터) 또는 2D (배열)입니까? 또한 "로컬 최대 값의 진폭"을 원하면 아마도 복잡한 값의 항목을 가질 것입니다. 추신. 에 오신 것을 환영합니다. 때로는 설명서를 읽는 것만 큼 쉽게 대답 할 수 있습니다. – gevang

답변

0

실제 (real) 신호 벡터 (1D) 신호의 경우 Signal Processing Toolbox의 findpeaks을 사용하여 로컬 최대 값을 찾고 피크 거리 또는 최대 임계 값과 같은 매개 변수를 지정할 수 있습니다.

복소수 신호의 경우 abs()을 통해 findpeaks() 신호의 크기에 적용 할 수 있습니다.

값을 정렬해야하는 경우 값 벡터에서 백분위 수를 계산하려면 sortprctile을 사용할 수 있습니다.

+0

감사합니다. pks = findpeaks (yy, 'sortstr', 'ascend')를 사용하여 정렬했습니다. – jasmin

+0

@ Etienne 나는 신호가있다, 나는 그들의 색인이 아닌 로컬 max의 암페어를 찾고 싶다 – jasmin

+0

환영합니다. :) matlab의 메신저 초보자이고, MATLAB – jasmin

관련 문제