clear all

global dat;
global data;
global kb;
global el;
global a;
global b;
global dy;
global potplind;
global para;
global potflind;
global coeff;
global coeff2;
global fitbx;
global fitby;
global xy
global k

dat=uigetfile({'*.ken;*.dat'}, 'Messdaten laden','MultiSelect','off');
data=load(num2str(dat));
clf
%Konstanten
kb=1.380658*10^(-23);
el=1.60217733*10^(-19);

fig=figure('NumberTitle','off','Name', 'Plasmaparameter','Resize','off','Units','normalized', 'menubar', 'none');

subplot(2,2,1)
plot(data(:,1),data(:,2))
xlabel('U [V]'), ylabel('I [A]'), grid on, axis auto, hold on

i=1;
    while mean(data(1:i,2))>mean(data(1:20,2))-mean(data(1:20,2))*0.1
        i=i+1;
    end
   
   fit(data(1:i,1),data(1:i,2), 'poly1');
   coeff=polyfit(data(1:i,1),data(1:i,2),1);
   a=coeff(1,1);
   b=coeff(1,2);
   plot(data(:,1),a*data(:,1)+b)   
    
   dy=der(smooth(data(:,2),floor(length(data(:,2))/50)),data(:,1),1);
   
   subplot(2,2,2)
   plot(data(:,1),dy,'r')
   xlabel('U [V]'), ylabel('dI/dU [A/V]'), grid on, axis auto, hold on
  datacursormode on 
   
  xy=ginput(1);
  

   if size(xy)==0
       
   potplind=find(dy==min(dy));
   para.potpl=data(potplind,1);
   
   
   else
       para.potpl=xy(1);
       k=1;
       while (data(k+1,1)>=para.potpl) && (data(k,1)<=para.potpl)
           k=k+1;
       end
       k
       pause
   end
   
   potflind=find(abs(data(:,2))==min(abs(data(:,2))));
   para.potfl=data(potflind,1);
   para.isati=a*para.potpl+b;
   para.isatg=data(potplind,2);
   para.isate=para.isatg-para.isati;
   
   fitbx=data(potflind:potplind,1)-para.potpl;
   fitby=data(potflind:potplind,2)-para.isati;
   
   coeff2=polyfit(fitbx, real(log(fitby)),1);
   
   para.Te=1/coeff2(1);
   para.r=-para.isate/para.isati;
   para.mu=log(para.r);
   para
   