How to change units of a value?

6 views (last 30 days)
np
np on 22 Jun 2016
Commented: Haziq Hakim on 11 Mar 2021
I have data in data.speed which graphs in frames vs. pixels
I am trying to make it to show in seconds vs. cm
please help!!
it is 362 pixels in 5.7cm and 30 frames per second it is 360 seconds and 10800 frames the data is in a 10800 x 1 array

Accepted Answer

dpb
dpb on 22 Jun 2016
Edited: dpb on 22 Jun 2016
Gotta' know the frame rate and image resolution...if known, pretty simple to scale the axes; if not, "no way, no how"
"362 pixels in 5.7cm and 30 frames per second"
cmPer=5.7/362; % cm/pixel conversion
secPer=1/30; % sec/frame
t=secPer*[1:360*30]; % time vector in sec for t axis
v=cmPer*data.speed; % speed in cm/sec
plot(t,v)
You don't need the temporaries simply to plot, of course, but if want to keep the normalized data...
  7 Comments
dpb
dpb on 2 Mar 2021
Well, you're almost there...
interval=150/1000; % 150 msec interval
N=numel(speed); % number samples --> length of speed array
t=0:interval:(N-1)*interval; % time vector to match
Haziq Hakim
Haziq Hakim on 11 Mar 2021
Apologies for the late reply. Thank you so much! This helped a lot :)

Sign in to comment.

More Answers (0)

Categories

Find more on 2-D and 3-D Plots in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!