filtering data with a for loop and plot only filtered data

5 ビュー (過去 30 日間)
Megan
Megan 2019 年 11 月 4 日
回答済み: Bob Thompson 2019 年 11 月 4 日
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 Center および File ExchangeCreating and Concatenating Matrices についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by