Hi, everyone!

2 views (last 30 days)
Ayisha Nayyar
Ayisha Nayyar on 31 Aug 2018
Commented: Ayisha Nayyar on 31 Aug 2018
I need assistance, actually I have a matrix b=2500x21, which is imaginary part of a FRF signal. I want to find peaks for every column, each column represents accelerometer response at different location of a beam. The following code i have written.
for i=1:21
pks(:,i)=findpeaks(b(:,i))
end
pks(:,i)=pks;
Problem is that, the matrix pks just stores last iteration value. I want that all the peak values after every iteration will be stored in a single matrix.
Can any body having suggestions?
  8 Comments
jonas
jonas on 31 Aug 2018
Edited: jonas on 31 Aug 2018
Can you attach the data? No point in guessing. I find it hard to believe no error is returned.
Stephen23
Stephen23 on 31 Aug 2018
Ayisha Nayyar's "Answer" moved here and formatted correctly:
Hi jonas, I have attached the file, now follow the code and see the results please.
for i=1:21
pks(:,i)=findpeaks(b(:,i))
end
pks(:,i)=pks;

Sign in to comment.

Accepted Answer

jonas
jonas on 31 Aug 2018
Edited: jonas on 31 Aug 2018
As expected, your code returned the error
Unable to perform assignment because the size of the left side is 3-by-1 and the size of the right side is 6-by-1.
...because of reasons already listed multiple times in the comments.
You can solve this by storing the data in a cell array.
T=readtable('b.xlsx');
b=table2array(T);
pks=cell(21,1);
for i=1:21
pks{i}=findpeaks(b(:,i))
end
pks =
21×1 cell array
{6×1 double}
{6×1 double}
{6×1 double}
{6×1 double}
{7×1 double}
{6×1 double}
{5×1 double}
{7×1 double}
...
  3 Comments
jonas
jonas on 31 Aug 2018
Edited: jonas on 31 Aug 2018
No. You can access the peak values in the first column by:
pks{1}
ans =
1.0e-04 *
0.2180
0.0216
0.0040
0.0008
0.0001
-0.0000
As you can see, there are 6 values. Some peak values have extremely small prominence. You can adjust the 'MinPeakProminence' argument of findpeaks if you wish to exclude those.
Further reading on accessing data in cell arrays ( link ).
Ayisha Nayyar
Ayisha Nayyar on 31 Aug 2018
thanks again

Sign in to comment.

More Answers (0)

Products


Release

R2015a

Community Treasure Hunt

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

Start Hunting!