function [cdu] = comps(i) a = [0,10,50,100,200,300,500,1000; 0,1,1.8,2.4,3.2,3.8,4.8,6.8]; a(1,:)=a(1,:)/500; a(2,:)=a(2,:)*1.1; k = zeros(7,1); for l = 1:7, k(l) = (a(2,l+1) - a(2,l))/(a(1,l+1) - a(1,l)); end si = sign(i); i = abs(i); if(i < a(1,2)) du = k(1)*i; elseif(i < a(1,3)) du = k(2)*(i-a(1,2)) + a(2,2); elseif(i < a(1,4)) du = k(3)*(i-a(1,3)) + a(2,3); elseif(i < a(1,5)) du = k(4)*(i-a(1,4)) + a(2,4); elseif(i < a(1,6)) du = k(5)*(i-a(1,5)) + a(2,5); elseif(i < a(1,7)) du = k(6)*(i-a(1,6)) + a(2,6); else du = k(7)*(i - a(1,7)) + a(2,7); end if (du < 0) du = 0; end cdu = si*du; end