How to find second,third,etc maximum peak of list
up vote
2
down vote
favorite
I need to find all values of peaks.
I have Table
with 10000 elements in it and I plot a graphic using ListPlot
.
Then I tried to find peaks:
tbl1 = Table[tbl[[i, 2]], {i, 1, Length[tbl]}];
gA = Max[tbl1]
gAm = Part[tbl, Position[tbl1 , gA ][[1, 1]], 1]
Here tbl
my Table with Data
And get:
0.15
8.751
So I find the last peak starting. How I can find other?
I upload a .txt file with data to my google drive
here .
I also tried to use FindPeaks but it's wrong:
peakpositions = FindPeaks[tbl[[All, 2]]]
{{116, 0.}, {1441, 0.}}
peakwavelengths = tbl[[#1, 1]] & @@@ peakpositions
{0.115, 1.44}
ListPlot[tbl, PlotRange -> All, GridLines -> {peakwavelengths, None},
GridLinesStyle -> Directive[Red, Thick]]
plotting list-manipulation mathematical-optimization peak-detection
add a comment |
up vote
2
down vote
favorite
I need to find all values of peaks.
I have Table
with 10000 elements in it and I plot a graphic using ListPlot
.
Then I tried to find peaks:
tbl1 = Table[tbl[[i, 2]], {i, 1, Length[tbl]}];
gA = Max[tbl1]
gAm = Part[tbl, Position[tbl1 , gA ][[1, 1]], 1]
Here tbl
my Table with Data
And get:
0.15
8.751
So I find the last peak starting. How I can find other?
I upload a .txt file with data to my google drive
here .
I also tried to use FindPeaks but it's wrong:
peakpositions = FindPeaks[tbl[[All, 2]]]
{{116, 0.}, {1441, 0.}}
peakwavelengths = tbl[[#1, 1]] & @@@ peakpositions
{0.115, 1.44}
ListPlot[tbl, PlotRange -> All, GridLines -> {peakwavelengths, None},
GridLinesStyle -> Directive[Red, Thick]]
plotting list-manipulation mathematical-optimization peak-detection
1
Did you tryFindPeaks
?
– J42161217
5 hours ago
Yes, I did. I added the result above.
– John
5 hours ago
add a comment |
up vote
2
down vote
favorite
up vote
2
down vote
favorite
I need to find all values of peaks.
I have Table
with 10000 elements in it and I plot a graphic using ListPlot
.
Then I tried to find peaks:
tbl1 = Table[tbl[[i, 2]], {i, 1, Length[tbl]}];
gA = Max[tbl1]
gAm = Part[tbl, Position[tbl1 , gA ][[1, 1]], 1]
Here tbl
my Table with Data
And get:
0.15
8.751
So I find the last peak starting. How I can find other?
I upload a .txt file with data to my google drive
here .
I also tried to use FindPeaks but it's wrong:
peakpositions = FindPeaks[tbl[[All, 2]]]
{{116, 0.}, {1441, 0.}}
peakwavelengths = tbl[[#1, 1]] & @@@ peakpositions
{0.115, 1.44}
ListPlot[tbl, PlotRange -> All, GridLines -> {peakwavelengths, None},
GridLinesStyle -> Directive[Red, Thick]]
plotting list-manipulation mathematical-optimization peak-detection
I need to find all values of peaks.
I have Table
with 10000 elements in it and I plot a graphic using ListPlot
.
Then I tried to find peaks:
tbl1 = Table[tbl[[i, 2]], {i, 1, Length[tbl]}];
gA = Max[tbl1]
gAm = Part[tbl, Position[tbl1 , gA ][[1, 1]], 1]
Here tbl
my Table with Data
And get:
0.15
8.751
So I find the last peak starting. How I can find other?
I upload a .txt file with data to my google drive
here .
I also tried to use FindPeaks but it's wrong:
peakpositions = FindPeaks[tbl[[All, 2]]]
{{116, 0.}, {1441, 0.}}
peakwavelengths = tbl[[#1, 1]] & @@@ peakpositions
{0.115, 1.44}
ListPlot[tbl, PlotRange -> All, GridLines -> {peakwavelengths, None},
GridLinesStyle -> Directive[Red, Thick]]
plotting list-manipulation mathematical-optimization peak-detection
plotting list-manipulation mathematical-optimization peak-detection
edited 5 hours ago
asked 5 hours ago
John
1996
1996
1
Did you tryFindPeaks
?
– J42161217
5 hours ago
Yes, I did. I added the result above.
– John
5 hours ago
add a comment |
1
Did you tryFindPeaks
?
– J42161217
5 hours ago
Yes, I did. I added the result above.
– John
5 hours ago
1
1
Did you try
FindPeaks
?– J42161217
5 hours ago
Did you try
FindPeaks
?– J42161217
5 hours ago
Yes, I did. I added the result above.
– John
5 hours ago
Yes, I did. I added the result above.
– John
5 hours ago
add a comment |
2 Answers
2
active
oldest
votes
up vote
3
down vote
accepted
jumps = tbl[[1 + Flatten@Position[Sign@Differences[tbl[[All, 2]]], 1]]]
{{0.232, 0.05}, {2.411, 0.05}, {5.449, 0.1}, {8.751, 0.15}}
ListStepPlot[tbl, Epilog -> {Red, PointSize[Large], Point[jumps]},
GridLines -> Transpose[jumps]]
add a comment |
up vote
2
down vote
Pick[tbl,Join[{0},Sign@Differences[Last/@tbl]],1]
{{0.232, 0.05}, {2.411, 0.05}, {5.449, 0.1}, {8.751, 0.15}}
add a comment |
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
3
down vote
accepted
jumps = tbl[[1 + Flatten@Position[Sign@Differences[tbl[[All, 2]]], 1]]]
{{0.232, 0.05}, {2.411, 0.05}, {5.449, 0.1}, {8.751, 0.15}}
ListStepPlot[tbl, Epilog -> {Red, PointSize[Large], Point[jumps]},
GridLines -> Transpose[jumps]]
add a comment |
up vote
3
down vote
accepted
jumps = tbl[[1 + Flatten@Position[Sign@Differences[tbl[[All, 2]]], 1]]]
{{0.232, 0.05}, {2.411, 0.05}, {5.449, 0.1}, {8.751, 0.15}}
ListStepPlot[tbl, Epilog -> {Red, PointSize[Large], Point[jumps]},
GridLines -> Transpose[jumps]]
add a comment |
up vote
3
down vote
accepted
up vote
3
down vote
accepted
jumps = tbl[[1 + Flatten@Position[Sign@Differences[tbl[[All, 2]]], 1]]]
{{0.232, 0.05}, {2.411, 0.05}, {5.449, 0.1}, {8.751, 0.15}}
ListStepPlot[tbl, Epilog -> {Red, PointSize[Large], Point[jumps]},
GridLines -> Transpose[jumps]]
jumps = tbl[[1 + Flatten@Position[Sign@Differences[tbl[[All, 2]]], 1]]]
{{0.232, 0.05}, {2.411, 0.05}, {5.449, 0.1}, {8.751, 0.15}}
ListStepPlot[tbl, Epilog -> {Red, PointSize[Large], Point[jumps]},
GridLines -> Transpose[jumps]]
answered 5 hours ago
kglr
173k8194400
173k8194400
add a comment |
add a comment |
up vote
2
down vote
Pick[tbl,Join[{0},Sign@Differences[Last/@tbl]],1]
{{0.232, 0.05}, {2.411, 0.05}, {5.449, 0.1}, {8.751, 0.15}}
add a comment |
up vote
2
down vote
Pick[tbl,Join[{0},Sign@Differences[Last/@tbl]],1]
{{0.232, 0.05}, {2.411, 0.05}, {5.449, 0.1}, {8.751, 0.15}}
add a comment |
up vote
2
down vote
up vote
2
down vote
Pick[tbl,Join[{0},Sign@Differences[Last/@tbl]],1]
{{0.232, 0.05}, {2.411, 0.05}, {5.449, 0.1}, {8.751, 0.15}}
Pick[tbl,Join[{0},Sign@Differences[Last/@tbl]],1]
{{0.232, 0.05}, {2.411, 0.05}, {5.449, 0.1}, {8.751, 0.15}}
answered 4 hours ago
J42161217
3,177219
3,177219
add a comment |
add a comment |
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f186752%2fhow-to-find-second-third-etc-maximum-peak-of-list%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
Did you try
FindPeaks
?– J42161217
5 hours ago
Yes, I did. I added the result above.
– John
5 hours ago