%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                                                 %
%          OBJEKTIVNÍ ANALÝZA METEO. POLÍ         %
%                   PRVNÍ PŘÍKLAD                 %
%                                                 %
%             STANDARDNÍ KOREKČNÍ METODA          %
%                                                 %
% dány naměřené hodnot na dvou stanicích, váhy a  % 
% předběžné pole ve třech uzlových bodech.        %
% dán vztah pro interpolaci z uzlů do stanic.     %
%                                                 %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%inicializace - nepovinná
B=zeros(2,1);
P=zeros(3,1);
U=zeros(3,1);
H=zeros(3,1);
w=zeros(3,2);

%naměřené hodnoty na dvou stanicích
B(1,1)=10.;
B(2,1)=15.;

%předběžné hodnoty pole ve třech uzlových bodech
P(1,1)=10.;
P(2,1)=15.;
P(3,1)= 8.;

%váhy
w(1,1)=0.8;
w(1,2)=0.6;
w(2,1)=0.5;
w(2,2)=0.2;
w(3,1)=0.4;
w(3,2)=0.5;


%výpočet standardní korekční metody - dvě iterace - pokles vah na polovinu
for i=1:2
 k=1/i; %pokles vah na polovinu

 H(1,1)=(P(1,1)+P(2,1))*0.5; %výpočet hodnot ve stanicích z hodnot v uzlech
 H(2,1)=(P(2,1)+P(3,1))*0.5; % --||--

 %A_k = P_k + w_ki * (B_i - H_i)
 %výpočet nových hodnot v uzlech
 U(1,1)=P(1,1)+w(1,1)*k*(B(1,1)-H(1,1))+w(1,2)*k*(B(2,1)-H(2,1));
 U(2,1)=P(2,1)+w(2,1)*k*(B(1,1)-H(1,1))+w(2,2)*k*(B(2,1)-H(2,1));
 U(3,1)=P(3,1)+w(3,1)*k*(B(1,1)-H(1,1))+w(3,2)*k*(B(2,1)-H(2,1));

 %nové hodnoty v uzlech použiju jako počáteční pro další krok iterace
 P(:,1)=U(:,1);

 %výpis nových hodnot v uzlových bodech
 U

end
