a=[0 .2 -.15 .85]; b=[0 -.26 .28 .04]; c=[0 .23 .26 -.04]; d=[.16 .22 .24 .85]; e=[0 0 0 0]; f=[0 1.6 .44 1.6]; pk=[.01 .07 .07 .85]; pt=sum(pk); p=cumsum(pk); xscale=25; yscale=22; xoffset=100; yoffset=20; x=0; y=0; for ii=1:2 pk=rand(1); if pk<= p(1) k=1; elseif pk<=p(2) k=2; elseif pk<=p(3) k=3; else k=4; end newx=a(k)*x+b(k)*y +e(k); newy=c(k)*x+d(k)*y +f(k); x=newx; y=newy; end %figure('Position',[0 0 300 400]) figure('Position',[0 0 660 880]) axis([0 200 0 250]) hold on q=plot((x*xscale+xoffset),(y*yscale+yoffset),'EraseMode','none','Color','green') while 1 pk=rand(1); if pk<= p(1) k=1; elseif pk<=p(2) k=2; elseif pk<=p(3) k=3; else k=4; end newx=a(k)*x+b(k)*y +e(k); newy=c(k)*x+d(k)*y +f(k); x=newx; y=newy; set(q,'XData',(x*xscale+xoffset),'YData',(y*yscale+yoffset)) drawnow end