How to define a for loop for given FINDPEAKS problem ?
4 views (last 30 days)
Show older comments
Parvesh Deepan
on 24 Feb 2024
Commented: Dyuman Joshi
on 29 Feb 2024
[A1,L] = findpeaks(A(:,1));
A1(:,2) = A(L,2);
[A2,L1] = findpeaks(A1(:,1));
A2(:,2) = A1(L1,2);
[A3,L2] = findpeaks(A2(:,1));
A3(:,2) = A2(L2,2);
2 Comments
Dyuman Joshi
on 24 Feb 2024
Edited: Dyuman Joshi
on 24 Feb 2024
What exactly are you trying to do here?
Accepted Answer
Dyuman Joshi
on 24 Feb 2024
Try this -
n=3;
B = [num2cell(A,1); cell(n,2)]
for k=2:n
[B{k,1}, L] = findpeaks(B{k-1,1});
B{k,2} = B{k-1,2}(L);
end
Here 1st row of B corresponds to A, 2nd to A1, 3rd to A2 and 4th to A3.
Use indexing to access the data.
7 Comments
Dyuman Joshi
on 29 Feb 2024
Ah, that's a typo. My bad.
To correct it, replace
num = numel(d);
with
num = numel(data);
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!