# Findout the peaks in each row of matrix with specific conditions

2 Ansichten (letzte 30 Tage)
navan am 28 Mai 2015
Kommentiert: Star Strider am 30 Mai 2015
i would lime to find out the no of peaks in each row with a specific condtion (that is ) peakvalues with (peakvalue-minvalueof each row>1000)
Now i take a single row for easiness.In reality i have a big matrix.
A= [1000 8000 1000 1800 1200 4000 4800 4000 1000 1000]
the min-value of A=1000 The peak values of A= [8000 1800 5000], But the problem here is if i use ordinary threshold limit& findpeak
findpeaks(A,'Threshold',1000)
it will only compare with the values near to it.
I want to find out the total number of peaks which obey my condition (i.e>1000) in detailed way
8000-1000 >1000 (true) 1800-1000<1000(false) 5000-1000>1000(True)
so the aswer i expect peakswithcondition=2
##### 0 Kommentare-2 ältere Kommentare anzeigen-2 ältere Kommentare ausblenden

Melden Sie sich an, um zu kommentieren.

### Akzeptierte Antwort

Star Strider am 28 Mai 2015
Does this do what you want?
A= [1000 8000 1000 1800 1200 4000 4800 4000 1000 1000];
[pks,loc] = findpeaks(A-1000);
pksvct = (pks>1000);
pks = pks(pksvct) + 1000
loc = loc(pksvct)
It first subtracts 1000 from ‘A’, finds the peaks, finds the peaks the meet your criterion, then reports the actual value of the ‘acceptable’ peaks and their locations.
##### 6 Kommentare4 ältere Kommentare anzeigen4 ältere Kommentare ausblenden
navan am 30 Mai 2015
Dear strider great. It resolved my issue thanks a lot again.
Star Strider am 30 Mai 2015
My pleasure!
Happy we got it sorted.

Melden Sie sich an, um zu kommentieren.

### Kategorien

Mehr zu Descriptive Statistics finden Sie in Help Center und File Exchange

### Community Treasure Hunt

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

Start Hunting!

Translated by