%%%%%%%%%%%%%%%%%%%%% Aufgabe 3 ->skript aufgabe3.m <-%%%%%%%%%%%%%%%%%%%%%%%%%%

maxit = 12;                        % Anzahl der Iterationen

R1 = zeros(maxit,1);
D1 = zeros(maxit,1);
R2 = zeros(maxit,1);
D2 = zeros(maxit,1);

x = [3; 3; -1]                       % Initialisierung

z = [3.85; 2.95; 2.63; 2.33; 2.24; 2.05; 1.82; 1.80; 1.75];

% Hier Newton-Raphson programmieren

x1 = x;

for k=1:maxit                      % Newton-Raphson-Verfahren

%  d = ( Dg(x1)'*Dg(x1) )\( Dg(x1)'*(-g(x1)) )
%  x1 = x1 + d;
%  d = ( Dg(x1)'*Dg(x1) )\( Dg(x1)' * z );
%  x1 = x1 + d 
%  d = Dg(x1)'*g(x1)
%  x1 = x1 - d 

  d = -Df(x1)\f(x);
  x1 = x1 + d;

  D1(k) = norm(f(x1));              % Residuum der Normalenglgn
  R1(k) = norm(g(x1));              % Residuum in den Messwerten
end;

x1                                 % Ausgabe Ergebnis


% Hier Newton mit sym. Matrix-Update programmieren

H = inv(Df(x2))

for k=1:maxit                      % mit sym. Matrix-Update
d = -HF(x2)
x_alt = x + d
y = f(x_alt) - f(x2)
H = H + (d - H*y) * (d-H*y)'/((d - H*y)'*y)
x2 = x_alt

%F =
%J =
%d = F\-f(x)


  D2(k) = norm(f(x));              % Residuum der Normalenglgn
  R2(k) = norm(g(x));              % Residuum in den Messwerten
end;

x2                                 % Ausgabe Ergebnis


% ausgabe der ergebnisseDg(x1)\(-f(x1))

% Newton-Raphson
x1

% Newton mit sym. Matrix-Update
x2

figure(1);                         % Plot norm(g(x))
plot(1:maxit,R1,1:maxit,R2);

figure(2);                         % Plot norm(f(x))
semilogy(1:maxit,D1,1:maxit,D2);
