clear // clear variables and keywords clc // clear command window function res = rescale(value, value_max) res = 0; // check boundaries if (value > value_max) value = value_max; elseif (value < 0) value = 0; end // rescale value (new range 0 to 63) for i=1:6 res = res * 2; value_max = int(value_max / 2); if (value > value_max) res = res + 1; value = value - value_max; end end endfunction for j=1:1000 a(j)=rescale(j,1000); b(j)=j*63/1000; c(j)=abs(a(j)-b(j)); c_max = max(c); end
Output