function mycallback(s,event)


h=getappdata(0,'h');                % Holt sich h und speichert in h
o=getappdata(0,'o');                % Holt sich o und speichert in o
l=getappdata(0,'l');                % Holt sich l und speichert in l
r=getappdata(0,'r');                % Holt sich r und speichert in r
A=getappdata(0,'A');                % Holt sich A und speichert in A
J=getappdata(0,'J');                % Holt sich J und speichert in J
erg= getappdata(0,'erg');           % Holt sich erg und speichert in erg
laut1=getappdata(0,'laut1');        % Holt sich laut1 und speichert in laut1
laut2=getappdata(0,'laut2');        % Holt sich laut2 und speichert in laut2
laut3=getappdata(0,'laut3');        % Holt sich laut3 und speichert in laut3
zeile=getappdata(0,'zeile');        % Holt sich zeile und speichert in zeile
ywert=getappdata(0,'ywert');        % Holt sich ywert und speichert in ywert
xwert=getappdata(0,'xwert');        % Holt sich xwert und speichert in xwert
zwert=getappdata(0,'zwert');        % Holt sich zwert und speichert in zwert
t=getappdata(0,'t');                % Holt sich t und speichert in t
tneu=getappdata(0,'tneu');          % Holt sich tneu und speichert in tneu
k=getappdata(0,'k');                % Holt sich k und speichert in k
g=getappdata(0,'g');                % Holt sich g und speichert in g
x2=getappdata(0,'x2');              % Holt sich x2 und speichert in x2
neu1=getappdata(0,'neu1');          % Holt sich neu1 und speichert in neu1
null=getappdata(0,'null');          % Holt sich null und speichert in null
zeilenanzahl=getappdata(0,'zeilenanzahl');% Holt sich zeilenanzahl und speichert in zeilenanzahl




if laut3==1                         % if-Anweisung wenn laut3=1 dann
    fclose(s)                       % serielle Schnittstelle wird geschlossen
    fclose(s1)                      % serielle Schnittstelle wird geschlossen
end
   
    
if laut2==1                         % if-Anweisung wenn laut2=1 dann 
    zeile=zeile+1;
    g=0;
    tneu=0;
    o=1;
    t=0;
    h=0;
    r=0;
    laut2=0;
    laut1=0;
end

    x= fscanf(s);
    x1=findstr(x,',');
    
    if ywert==1
    x2=str2double(x(x1(1):x1(2)));
    end
    
    if xwert==1
    x2=str2double(x(1:x1(1)));
    end
    
    if zwert==1
    x2=str2double(x(x1(2):end));
    end
    
       
    
    
    if (mod(zeile,2)) ~= 0
    g=g+1;
    k(zeile,o)=g;
    neu1=neu1+1;
    o=o+1;    
    t=t+1;
    erg(zeile,t)=x2; 
    end

    
    
    if (mod(zeile,2))==0
    g=g+1;
    k(zeile,o)=g;
    o=o+1;
    neu1=neu1-1;
    erg(zeile,neu1)=x2;
    end
    
    if zeile>=2
    if t==max(k(1,:))
       t= max(k(1,:))-1;
    end 
    end
    
    if neu1==1
       neu1=2;
    end
        
    
    if (mod(zeile,2))~=0
    if  max(k(zeile,:))>=1 
    if laut1==1
    null=zeros(zeilenanzahl,max(k(1,:)));    
    end
    
    h=1:1:max(k(1,:));
    
    null(zeile,h)=erg(zeile,h);
    
        
    end
    end
    
    if (mod(zeile,2))==0
    if  max(k(zeile,:))>=1 
       
    h=max(k(1,:)):-1:1;
    null(zeile,h)=erg(zeile,h);
    
    end   
    end
    
        
    if max(k(zeile,:))>=4
          
    if zeile<=2
    
    [A,J]=meshgrid(0:1:(max(k(1,:))-1),0:1:(zeilenanzahl-1));
    
    surf(s.axes1,A,J,null);
    hold on
    axis tight
    pause(0.00000001)
    
    
    end
    
    if zeile>2
    
    surf(s.axes1,A,J,null);
    hold on
    axis tight
    pause(0.00000001) 
    
    
    end
    end
    
    assignin('base','o',o);
    assignin('base','J',J);
    assignin('base','A',A);
    assignin('base','erg',erg);
    assignin('base','zeile',zeile);
    assignin('base','t',t);
    assignin('base','g',g);
    assignin('base','neu1',neu1);
    assignin('base','h',h);
    assignin('base','null',null);
    assignin('base','k',k);
    assignin('base','null',null); 


setappdata(0,'o',o);   
setappdata(0,'J',J);     
setappdata(0,'A',A);    
setappdata(0,'x2',x2);  
setappdata(0,'erg',erg);    
setappdata(0,'h',h);  
setappdata(0,'r',r);
setappdata(0,'l',l);
setappdata(0,'zeile',zeile);   
setappdata(0,'neu1',neu1);  
setappdata(0,'laut1',laut1);
setappdata(0,'laut2',laut2);
setappdata(0,'laut3',laut3);
setappdata(0,'zeile',zeile);
setappdata(0,'t',t);
setappdata(0,'tneu',tneu);
setappdata(0,'k',k);
setappdata(0,'g',g);
setappdata(0,'null',null);  


   