Clear Filters
Clear Filters

How to change units of a value?

1 view (last 30 days)
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 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
You don't need the temporaries simply to plot, of course, but if want to keep the normalized data...
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)


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


Community Treasure Hunt

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

Start Hunting!