MATLAB Answers

filtering data with a for loop and plot only filtered data

2 views (last 30 days)
Megan
Megan on 4 Nov 2019
Answered: Bob Nbob on 4 Nov 2019
I want to filter my acceleration values and plot them afterwards.
ay.data contains all my accelerations and I just want to plot those that are greater than 1.5 and less than -1.5.
The background is to filter that it is a curve and not just a swinging.
Thanks a lot!
I tried that:
quer = meas.ay.data;
n = size(quer);
i = zeros(n);
for x = 1:length(i)
if quer(x)> 4
disp(quer(x));
hold on;
plot(quer(x));
ii= quer(x);
end
end

  0 Comments

Sign in to comment.

Accepted Answer

Bob Nbob
Bob Nbob on 4 Nov 2019
This can be done much more simply with logic indexing.
quer = meas.ay.data;
quer = quer(quer > 1.5 | quer < -1.5);
plot(quer)
Looking at your loop, I'm not entirely sure if this is what you're looking for, but that's mostly because I don't understand how the value of acceleration relates to the matrix position of > 4.

  0 Comments

Sign in to comment.

More Answers (0)

Sign in to answer this question.