Speed vs. Time Plot from position vector
8 ビュー (過去 30 日間)
古いコメントを表示
I've been given a position vector and a time interval, and I would like to plot the speed(magnitude of the velocity) over the given time interval. Here is the code to setup the problem:
% Time
t = linspace(0, 2*pi, 1000)';
% Position Vector
R_x = t.*cos(t);
R_y = t.*sin(2*t);
R_z = t;
R = [R_x, R_y, R_z];
% Velocity vector
R_x_prime = diff(R_x)./diff(t);
R_y_prime = diff(R_y)./diff(t);
R_z_prime = diff(R_z)./diff(t);
R_prime = [R_x_prime, R_y_prime, R_z_prime];
So, to find the speed, I need to use norm(R_prime); however, that only returns one value (165.5). I've tried to write a for loop that saves the values of the magnitude of R_prime as an array, but the values just aren't correct. One final note: I have to use numerical differentiation. Thanks in advance for the help.
0 件のコメント
採用された回答
Star Strider
2017 年 11 月 28 日
For the numerical derivative, I would use the gradient function, since your data are regularly-sampled. If you must use the norm function, use a loop to take the norm of every row of ‘R_prime’.
0 件のコメント
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!