clc; clear; X1 = input('X1= '); Y1 = input('Y1= '); X2 = input('X2= '); Y2 = input('Y2= '); dx = X2 - X1; dy = Y2 - Y1; if abs(dx) > abs(dy) great_axis = dx; less_axis = dy; great = X1; less = Y1; else great_axis = dy; less_axis = dx; great = Y1; less = X1; end m = less_axis / great_axis; er = m - 0.5 * sign(m); hold on; axis ([-100 100 -100 100]); plot(-100:100,0,'b.'); plot(0,-100:100,'r.'); for i = 0 : abs(great_axis) if abs(dx) > abs(dy) plot (great, less,'g.'); x(i+1)=great; y(i+1)=less; else plot (less, great,'g.'); x(i+1)=less; y(i+1)=great; end e(i+1)=er ; if sign(er) == sign(m) less = less + sign(less_axis); er = er - 1 * sign(m); end great = great + sign(great_axis); er = er + m; End disp(' error x y ') z=[e' x' y']; disp (z) hold off