filtering data with a for loop and plot only filtered data

5 次查看(过去 30 天)
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

采纳的回答

Bob Thompson
Bob Thompson 2019-11-4
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 个)

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by