clc; clearall; closeall;
val = load ( 'odfiltrovany2.mat');
prubeh = val.odfiltrovany2;     % načtení naměřených dat
 
N = length( prubeh);    % určení počtu prvků v naměřených datech
n = 1:N;
t = n/(1/50e-3);        % vytvoření časové osy pro průběhy
 
x1 = t;
y1 = prubeh;        % vytvoření kopie dat pro aproximaci se šumem
 
% aproximace exponenciálního průběhu se šumem
c1 = polyfit( log(x1), log(y1),1);
xInt1 = linspace( x1(1), x1(length(x1)), 250);
yInt1 = exp( c1(2))*xInt1.^(c1(1)); 
xInt1( 1) = [];
yInt1( 1) = [];             % odstranění první hodnoty aproximace
 
% příprava dat pro aproximaci bez šumu
counter = 1;
% vzorky mimo očekávaného časového intervalu jsou považovány za šum a
% jejich hodnota je tak nastavena na hodnotu 0
while ( counter< N)
prubeh( counter+124:counter+263) = 0;
% 1. až 125. vzorek zůstává zachován, ostatní jsou vynulovány
counter = counter+264;
% posunutí o 264 vzorků dál
end
    
count = N;
% vzorky, které byly v předchozím cyklu nastaveny na 0 jsou teď úplně
% odstraněny, aby se v grafu vůbec nezobrazovaly
while( count> 1)
if( prubeh( count) == 0)
prubeh( count) = [];
t( count) = [];
end
count = count-1;
end
 
x2 = t;
y2 = prubeh;        % vytvoření kopie dat pro aproximaci bez šumu
xlabel('t [ms] \rightarrow'); 
 
% aproximace exponenciálního průběhu bez šumu
c2 = polyfit( log(x2), log(y2),1);
xInt2 = linspace( x2(1), x2(length(x2)), 250);
yInt2 = exp( c2(2))*xInt2.^(c2(1)); 
xInt2( 1) = [];
yInt2( 1) = [];             % odstranění první hodnoty aproximace
 
% vykreslení obou aproximací do jednoho grafu
figure(3);
plot(xInt1,yInt1,'.b');
hold on;
plot(xInt2,yInt2,'.g');
