Plotting the the acceleration data of the degree of freedom versus the time.
2 次查看(过去 30 天)
显示 更早的评论
I am given the data for acceleration (almost 3 pages) and the question says that the sampling rate for all of the experiments was 50 Hz (50 samples per second, or delta_t= 0.02 sec. I am supposed to plot the acceleration data vs time and also find the peaks of acceleration that accurs during the free vibration. I loaded the acceleration data file and extracted data from the column but I am not sure how to specify the time data when I am only given the time step and how to mark the peaks. I appreciate the help! I get the following error:
Code:
clc; clear all; close all;
load VibrationSDOF_Data.txt
acc = VibrationSDOF_Data(:,1);
time =[0: 0.02: 110]
plot (time,acc,'r-');
Error:
error using plot
vectors must be the same length
0 个评论
采纳的回答
Walter Roberson
2021-7-19
Change
time =[0: 0.02: 110]
to
dt = 0.02;
time = (0:numel(acc)-1) * dt;
5 个评论
Walter Roberson
2021-7-19
Finding peaks of noisy data is a bit difficult to reliably tell the difference between noise and signal.
Especially with acceleration data (which is notorious for being noisy), it is common to first apply a low-pass filter or moving-median filter. After that, there are a number of different approaches.
One of the approaches is to use max() to find the maximum; that is one peak. Then set that location and a distance on each side of it to NaN, and find the max() again. Keep repeating that until the max value you found is less than some threshold you set .
更多回答(1 个)
Chunru
2021-7-19
Make sure time and acc have the same size
time =[0: length(acc)-1]*0.02;
plot (time,acc,'r-');
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Get Started with Signal Processing Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!