Plotting the integral of a graph using cumtrapz.

16 views (last 30 days)
Mher
Mher on 3 Jun 2023
Moved: Matt J on 3 Jun 2023
Hi I'm very new to MATLAB. I am trying to calculate the integral of a plot from my accelerometer data over time to find the graph of velocity over time, and after using cumtrapz it seems data is getting lost or maybe I didn't set it up right. In this case I sampled 2000 points of data from accelerometer but when plotting the integral over X, it only plots the first handful of datapoints instead of all 2000 points. What am I doing wrong here? Also if someone can help me to figure out how to plot the data over actual time in second elapsed (after starting the loop or fisrt data sample), I will greatly appriciate it.
  2 Comments
Torsten
Torsten on 3 Jun 2023
If you set xlim([0.4 60.4]) as you do, you shouldn't wonder that MATLAB only plots up to a1(a) = 60.4 and not till 2000.
Mher
Mher on 3 Jun 2023
I did try doing this xlim([0.0 2000.0]) ylim([-100.0 100.0]), but I'm still getting the same thing. Not only it's plotting few datapoints, values in my matrix are also being updated only up to that amount of datapoints (~60 in this case).

Sign in to comment.

Answers (1)

Torsten
Torsten on 3 Jun 2023
Moved: Matt J on 3 Jun 2023
Then my guess is that some of the x-values (maybe starting around 60) are NaN values. Remove them before applying "cumtrapz".
  1 Comment
Mher
Mher on 3 Jun 2023
Moved: Matt J on 3 Jun 2023
Ahhhh, man. Thank you so much. That was the issue! I had bad samples here and there, handfull of NaN values causing the plot to break. Greatly appriciate it!

Sign in to comment.

Categories

Find more on Programming in Help Center and File Exchange

Products


Release

R2023a

Community Treasure Hunt

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

Start Hunting!