# 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
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

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...
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 on 11 Mar 2021
Apologies for the late reply. Thank you so much! This helped a lot :)