MATLAB Answers

How can I plot the integration result?

1 view (last 30 days)
I used loop to do an integration to get velocity and position, but when I want to plot them, it showed error:
Error using plot
Vectors must be the same length.
Error in Droptest (line 30)
plot(time, V, 'm--')
Here is script I used:
%% Deformation Velocity
for i = 1:length(time)-1;
j = 1:length(xaccel)-1;
V0 = 0;
V = V0 + (xaccel(j+1)+xaccel(j)/2)*(time(i+1)-time(i));
I can't figure it out how to make them the same length and using the iterative at the same time.
I appreciate your help

Accepted Answer

Star Strider
Star Strider on 21 Jun 2021
If you want to plot the cumulative acceleration to get velocity and position, use the cumtrapz function:
t = linspace(0, 10); % Create Data
xaccel = exp(-0.25*t) .* sin(2*pi*t/10); % Create Data
xveloc = cumtrapz(t, xaccel); % Integrate
xposit = cumtrapz(t, xveloc); % Integrate
plot(t, xaccel)
hold on
plot(t, xveloc)
plot(t, xposit)
hold off
legend({'Acceleration','Velocity','Position'}, 'Location','best')

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!