Findpeaks loop value not saving separately

1 view (last 30 days)
I'm using findpeaks and trying to save the AMP values separately.But my loop is saving only the last value even though it runs in a loop.So,instead of 2*101 value I,get the last value 1*101 ??
s=load ('36019.mat');
s=load ('35772.mat');
load t.mat
S = [1 2]
for k=1:1:length(S)
[PkAmp, PkTime] = findpeaks(signal(k,:),t);
  1 Comment
Ramesh Bala
Ramesh Bala on 10 Jun 2019
Alright ! I found out that there is a difference in the matrix size and thus it possibly wont be grouped.
I would like to analyse the delay matrix between these and many to do it?

Sign in to comment.

Accepted Answer

LO on 10 Jun 2019
not sure what you want to do but I try to guess.
you can use the function "diff" between elements of different matrices (for comparing elements having the same index, you can use another for loop)
Ramesh Bala
Ramesh Bala on 10 Jun 2019
Thanks for the reply.
I'm trying to find the delay matrix between the signal points.In this case and 36019.mat.
I don't know which one to use either crosscorr?
LO on 10 Jun 2019
crosscorr will give you a general view on "all delays" possible, between your two signals (in the form of crosscorrelation indexes). Diff will give you the pairwise distances (differences between the actual signal values) between given points of the two signals. by default I think the function would calculate the difference between consecutive points in a single signal at a time (
but you can use also a loop to compute pairwise comparisons of elements with the same index. another thing you could do is calculate the inter-element interval of each signal using diff and then compare the result of the two signals using the histogram function.
if you want to compare the two signals and all relative delays between all of their elements you have to use the crosscorrelation function, yes.

Sign in to comment.

More Answers (0)


Community Treasure Hunt

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

Start Hunting!