clear;
close;
%read result file saved by java program;
s=xslt('xor37.res','math.xsl');%s is temp file name;
[row,col]=size(s);
s=s(8:col);%cut 'file://' at begining of s;
ss=textread(s,'%c');
eval(ss);
%setup parameter
xposition=[2];
yposition=[4];
zerorecord=[1,4];
onerecord=[2,3];
file=0;%if save file, set to 1; not save file, set to 0;
filename='xor3.avi';

%draw
fig=figure;
set(fig,'DoubleBuffer','on');
set(gca,'xlim',[-1 1],'ylim',[-1 1],'nextplot','replace',...
    'Visible','off');
if(file)
    mov=avifile(filename);
    %mov.compression='None';%in unix, it must be none;
    mov.Quality=50;% if no compression, quality no use;
    mov.fps=15;
end
[s1,s2,s3]=size(patresult);
[row,pointnumber]=size(xposition);
for i=1:s3
        [linenumber,col]=size(weight2);
        w1=weight2(:,1,i);
        w2=weight2(:,2,i);
        theta=bias2(:,i);
        alpha=-theta.*w1.^(-1);
        beta=-theta.*w2.^(-1);
        x=[1,-1];
        y=[-beta./alpha+beta,beta./alpha+beta];
        
        for j=1:pointnumber
            h1=plot(patresult(zerorecord,xposition(j),i),patresult(zerorecord,yposition(j),i),'bo',...
                patresult(onerecord,xposition(j),i),patresult(onerecord,yposition(j),i),'ro'...
               ,'MarkerSize',4,'LineWidth',4,'EraseMode','xor' );
            hold on;
        end
        if linenumber==2
            y=y';
        end
        h2=plot(x,y,'-','MarkerSize',4,'LineWidth',4,'EraseMode','xor');% plot each row;
        hold off;
        axis([-1,1,-1,1]);
        s=sprintf('training %d',i*dfreq);
        title(s);
        grid on;
        drawnow;
        if(file)
            M=getframe(fig);
            mov=addframe(mov,M);
        else
            pause(0.5);
        end
end
if(file)
    mov=close(mov);
end