You are here

Scilab - Rescale

Source
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 Mess-Aufbau Mess-Aufbau Mess-Aufbau