How do I calculate acceleration when I have instantaneous values of velocity?
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Haider Khan
le 21 Août 2021
Réponse apportée : Wan Ji
le 21 Août 2021
I have the x, y, and z components of velocity of Uranus 30 days (can also use 1 day apart data) apart since 1800. I want to calculate its acceleration using this velocity data.
I have used the folowing two equations but neither is giving me a result I expect.
5 point differetiation:
h=0.0833; %step size
for i=3:2697 %I have a total of 2699 data points
V1(i,:)=1/(2*h)*(v_u(i-2,:)-8*v_u(i-1,:)+8*v_u(i+1,:)-v_u(i+2,:)); %v_u is the velocity vector of Uranus
end
Derrivative from first principles:
for i=1:2698
X(i)= (V_u(i+1)-V_u(i))./(0.0833); %V_u is the velocity vector of Uranus
end
Réponse acceptée
Wan Ji
le 21 Août 2021
Use pddiff function attached here, this is easy to use.
t = linspace(0,3*pi,19)';
f = sin(t); % assume this is the velocity
[ft_pd, ftt_pd] = pddiff(f, t); % using pddiff method
ft_true = cos(t); % true value
ft_cen = cendiff(f, mean(diff(t)));% using centro diff method
figure(1); clf
plot(t, ft_pd, 'b--');hold on
plot(t, ft_true, 'r-');
plot(t, ft_cen,'k-.');
legend('dfdt-pddiff','dfdt-exact', 'centro-difference')

It is from the picture that pddiff method works fine!
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Dynamic System Models dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!