MATLAB Answers


Findpeaks loop value not saving separately

Asked by Kaleesh Bala on 6 Jun 2019
Latest activity Commented on by LO
on 10 Jun 2019
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

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.

1 Answer

Answer by LO
on 10 Jun 2019
 Accepted Answer

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)


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?
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.