Speed vs. Time Plot from position vector

14 Ansichten (letzte 30 Tage)
Joe
Joe am 28 Nov. 2017
Beantwortet: Star Strider am 28 Nov. 2017
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.

Akzeptierte Antwort

Star Strider
Star Strider am 28 Nov. 2017
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’.

Weitere Antworten (0)

Kategorien

Mehr zu Programming finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by