Finding the Velocity at Different intervals
4 views (last 30 days)
Show older comments
Kudzanai Sekerere
on 24 Aug 2019
Commented: Star Strider
on 26 Aug 2019
tryng to write a code to display the velocity and displacement given a time interval and acceleration at those intervals using integration. getting an error in my for loop what might be the reason
clear all
close all
% Acceleration Vector
a = [0 2 4 7 11 17 24 32 41 48 51];
% define time interval
k =1;
%define time vector
t = 0:k:10;
%initialize velocity
for ii = 1:11
v(ii) = trapz(a(1:ii),k);
end
% calculate the displacement d at each time interval
for jj = 1:11
d(jj) = trapz(v(1:jj),k);
end
% display a table of the velocity values
v = table(t,v,'VariableNames',{'Time(Sec)' 'Velocity(m/s)'})
% display a table of the displacement values
d = table(t',d','VariableNames',{'Time(Sec)' 'Displacement(m)'})
0 Comments
Accepted Answer
Star Strider
on 24 Aug 2019
You can solve the problem of varying numbers of elements in each iteration by using cell arrays for ‘v’ and ‘d’:
for ii = 1:11
v{ii} = trapz(a(1:ii),k);
end
% calculate the displacement d at each time interval
for jj = 1:11
d{jj} = trapz(v{jj},k);
end
The best solution would likely be to use the cumtrapz function instead, and avoid the loops entirely.
10 Comments
Star Strider
on 25 Aug 2019
As always, my pleasure.
I posted the correct code, and didn’t take a close look at yours. I just ran it to see if there were problems, and it ran without error.
More Answers (1)
Kudzanai Sekerere
on 25 Aug 2019
3 Comments
Star Strider
on 26 Aug 2019
The cumtrapz function is more efficient. I would use it and eliminate the loops.
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!