ブレゼンハムのアルゴリズムで直線を描く

https://ja.wikipedia.org/wiki/ブレゼンハムのアルゴリズム

function breseham_line
clear all;
close all;
figure();
xlim([0,5]);
ylim([0,5]);
hold on;
drawline(1,3,1,3);

    function drawline(x0, x1, y0, y1)
        deltax = x1 - x0
        deltay = y1 - y0
        error = 0;
        deltaerr = abs (deltay / deltax);
        y = y0;
        d=deltax/20;
        for x=x0:d:x1
            plot(x,y,'bo');
            error = error + deltaerr;
            if error > 0.5
                y = y + d;
                error = error - d;
            end
        end
    end
end