Zum Hauptinhalt springen

Scilab - Rescale

 1clear                           // clear variables and keywords
 2clc                             // clear command window
 3
 4
 5function res = rescale(value, value_max)
 6    res = 0;
 7    
 8    // check boundaries
 9    if (value > value_max)
10        value = value_max;
11    elseif (value < 0)
12        value = 0;
13    end
14    
15    // rescale value (new range 0 to 63)
16    for i=1:6
17        res     = res * 2;
18        value_max = int(value_max / 2);
19        
20        if (value > value_max)
21            res  = res + 1;
22            value = value - value_max;
23        end
24    end
25endfunction
26
27for j=1:1000
28    a(j)=rescale(j,1000);
29    b(j)=j*63/1000;
30    c(j)=abs(a(j)-b(j));
31    c_max = max(c);
32end

Rescale Fehler
Rescale Float
Rescale Integer