MATLAB Answers

For loop using strings

1 view (last 30 days)
Sam
Sam on 24 Mar 2020
Commented: Sam on 24 Mar 2020
Hello,
I have accelerometry data in the x, y and z-plane. Now I'm writing code and always doing the same thing 3 times... I want to put this in a forloop. How do I achieve this?
In this code, I'm trying to detect the number of peaks in the data that is higher than a given threshold 1.25. As you can see, I'm doing this 3 times, for the x, y and z-plane. I can't seem to figure out how to put this in a forloop. Can anyone help?
Thank you.
[pks_x_sit1,locs_x_sit1] = findpeaks(x_sit1,'MinPeakHeight',1.25);
nr_pks_x_sit1 = length(pks_x_sit1);
[pks_y_sit1,locs_y_sit1] = findpeaks(y_sit1,'MinPeakHeight',1.25);
nr_pks_y_sit1 = length(pks_y_sit1);
[pks_z_sit1,locs_z_sit1] = findpeaks(z_sit1,'MinPeakHeight',1.25);
nr_pks_z_sit1 = length(pks_z_sit1);

  0 Comments

Sign in to comment.

Accepted Answer

KSSV
KSSV on 24 Mar 2020
Let A be your data of size m*3.
for i = 1:3
[pks_x_sit1,locs_x_sit1] = findpeaks(A(:,i),'MinPeakHeight',1.25);
nr_pks_x_sit1 = length(pks_x_sit1);
end

  3 Comments

Sam
Sam on 24 Mar 2020
Thank you! And how do I use sprintf command to store nr_pks_x_sit1, nr_pks_y_sit1 and nr_pks_z_sit1 seperately using a forloop?
KSSV
KSSV on 24 Mar 2020
store what and why?
Sam
Sam on 24 Mar 2020
i've got it. thank you

Sign in to comment.

More Answers (0)

Sign in to answer this question.

Tags