disp('Demonstrace vyuziti metody SVD');
disp('pro linearni aproximaci metodou nejmensich ctvercu');

x = [1.0; 2.0; 3.0; 4.0; 5.0];
y = [1.8; 3.2; 4.1; 4.9; 6.2];

disp(' ');
disp('Zadana data jsou (x,y)=');

disp([x y])

disp('Hledame reseni  y = c(1) x + c(2)  ve smyslu nejmensich ctvercu.');
disp('Resime   Ac = y   s matici');

h = ones(1,5)';
A = [x h]

disp('a pravou stranou');

y

disp('Nejprve provedeme SVD dekompozici   A = U*W*VT');

[U,W,V] = svd(A,0)
Winv = inv(W)
disp('Hledane koeficienty lin. funkce jsou  c = V*Winv*UT y')
c = V*Winv*U'*y
plot(x,y,'rx');
hold on
plot([0 6],[c(2) 6*c(1) + c(2)],'b-');
xlabel('x');
ylabel('y');
hold off
 
  