Finding Patterns in Array

조회 수: 4 (최근 30일)
Connor O'Higgins
Connor O'Higgins 2018년 1월 26일
댓글: Connor O'Higgins 2018년 1월 29일
Hi, I am currently using the 'findpattern' function (which can be found here ) to find patterns in temperature data.
e.g. find the index when temperature was at 10 degrees for 2 hours. in this case my pattern would be [10 10 10 10 ...] and findpattern.m would find the index in the start value. My temperature data was taken every 5 min which dictates the length of the pattern.
I would like to have a range of temperatures instead of 1 value i.e. find the locations when temperature was anywhere between 9 and 11 degrees for 2 hours.
  댓글 수: 2
Stephen23
Stephen23 2018년 1월 26일
@Connor O'Higgins: what is your question?
Connor O'Higgins
Connor O'Higgins 2018년 1월 26일
Sorry, that wasn't well explained
I need to find the locations in my temperature data where the temperature has been steady for several hours.
However, this temperature should be in a range i.e. 9 to 11 degrees.

댓글을 달려면 로그인하십시오.

채택된 답변

Guillaume
Guillaume 2018년 1월 26일
%T: temperature vector
%desiredduration: number of samples where temperature must be between 9 and 11
inrange = T>=9 & T<= 11;
transitions = diff([false; inrange; false]); %find where the temperature change between in range/not in range occur
inrangestarts = find(transitions == 1);
inrangeends = find(transitions == -1);
inrangeduration = inrangeends - inrangestarts; %may be off by 1. Check
locs = inrangestarts(inrangeduration > desiredduration)
  댓글 수: 1
Connor O'Higgins
Connor O'Higgins 2018년 1월 29일
Thanks Guillaume, That does the job. The 'inrangeduration' did need a +1 like you said.

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Image Analyst
Image Analyst 2018년 1월 26일
Attach your data or image. If you have a known pattern you're looking for, rather than trying to guess at patterns and finding some pattern that might be repeated somewhere, then you can use normxcorr2(). A demo is attached.

카테고리

Help CenterFile Exchange에서 Elementary Math에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by