Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- % Lab 4.
- % Marta Trzaska 171632 SiSR
- function [x] = newton(x0, f, Jf)
- x = x0;
- global x_k normdiff;
- x_k = zeros(3, 15);
- for i=1:15
- %poszukiwana wartość y z równania -> Jf(x_k)*y = f(x_k)
- %Jf(x_k) = L*U -> L*U*y = f(x_k) -> U*y = L\f(x_k) = z -> y = U\z
- [L, U] = lu(Jf(x));
- z = L\f(x);
- y = U\z;
- x = x - y;
- x_k(:,i) = x;
- end
- %wykres zbieżności Newtona:
- xref = x_k(:,15);
- normdiff = zeros(15,1);
- for i=1:15
- normdiff(i) = norm(x_k(:,i) - xref);
- end
- figure;
- semilogy([1:15], normdiff);
- title('Wykres zbieżności Newtona');
- xlabel('Liczba iteracji');
- ylabel('Błąd');
- % szybkość zbieżności
- for j=1:7
- A(j, 1) = log(normdiff(j));
- A(j, 2) = 1;
- B(j, 1) = log(normdiff(j+1));
- end
- alfa = A\B
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement