load hd188041.dat A = hd188041(:,8); n = size(A,1); plot(sortrows(A),1:n,'*','MarkerSize',2) %vytvori cummulative distribution function load hr7575.dat B = hr7575(:,8); figure plot(sortrows(B),1:n,'*','MarkerSize',2) %vytvori cummulative distribution function ya = histc(A,-0.08:0.015:0.1); %rozdeli merania do intervalov ya(end) = []; yb = histc(B,-0.05:0.008:0.046); %rozdeli merania do intervalov yb(end) = []; xa = [(-0.08:0.015:0.085)+0.0075]'; %vektor stredov intervalov xb = [(-0.05:0.008:0.038)+0.004]'; %vektor stredov intervalov figure x = xa; y = ya; k = size(xa,1); b0 = [max(y);0;0.05]; %vstupne parametre - je nutne odhadnut ich co najpresnejsie for i = 1:10 %pocet iteracii, 5 zvycajne staci A = b0(1); %amlituda x0 = b0(2); %stred sigma = b0(3); %polosirka G = A*exp(-(x-x0).^2/2/sigma^2); X = [G/A,G.*(x-x0)/sigma^2,G.*(x-x0).^2/sigma^3]; Y=y-G; W=eye(k); V=X'*W*X; U=X'*W*Y; b=inv(V)*U; b0 = b+b0; %korekcia parametrov plot(x,y,'b',x,G,'r') s=sqrt(Y'*W*Y/(k-3)); %standardna odchylka end figure x = xb; y = yb; k = size(xb,1); b0 = [max(y);0;0.01]; for i = 1:10 A = b0(1); x0 = b0(2); sigma = b0(3); G = A*exp(-(x-x0).^2/2/sigma^2); X = [G/A,G.*(x-x0)/sigma^2,G.*(x-x0).^2/sigma^3]; Y=y-G; W=eye(k); V=X'*W*X; U=X'*W*Y; b=inv(V)*U; b0 = b+b0; plot(x,y,'b',x,G,'r') s=sqrt(Y'*W*Y/(k-3)); end