Relatório de Métodos Numéricos - Sistemas de Equações Não-Lineares
Por: Rodrigo.Claudino • 13/11/2018 • 1.215 Palavras (5 Páginas) • 361 Visualizações
...
end
end
disp('Número de iterações:');
disp(n);
end
Janela de Comando:
Método de Newton-Raphson:
Número de Iterações:
6
x =
0.8147
0.5155
-0.2655
Elapsed time is 0.000716 seconds.
Método de Newton-Raphson Modificado:
Número de iterações:
45
y =
0.8147
0.5155
-0.2655
Elapsed time is 0.002069 seconds.
Dessa forma, observa-se que o tempo em Newton-Raphson Modificado é maior, mas é proporcionalmente menor que o método de Newton-Raphson, levando em conta o número de iterações.
b) Script SNL:
clear; clc;
%Método de Newton-Raphson para Sistemas Não Lineares;
disp('Método de Newton-Raphson:')
xa = [2; 2];
n = 0;
maxit = 500;
tol = 0.0000001;
tic
x = Newtraph_nonlin(xa, tol, n, maxit)
toc
%Método de Newton-Raphson Modificado para Sistemas Não Lineares;
disp('Método de Newton-Raphson Modificado:')
xa = [2; 2];
n = 0;
maxit = 500;
tol = 0.0000001;
Jac = Jacobiano(xa);
tic
y = Newtraphmod(xa, tol, n, maxit);
disp('y =');
disp(y);
toc
Script function Jacobiano:
function J = Jacobiano(x)
n = length(x);
J(1,1) = 2*x(1) - 2 ;
J(1,2) = 2*x(2);
J(2,1) = 2*x(1);
J(2,2) = 2*x(2) - 1;
Script funtion Func:
function F = Func(x);
F(1,1) = x(1)^2 - 2*x(1) + x(2)^2 - 3;
F(2,1) = x(1)^2 + x(2)^2 - 2*x(2) - 3;
Script function Newtraph_nonlin:
function x = Newtraph(xa, tol, n, maxit)
for i=1:maxit
Jac = Jacobiano(xa);
F = Func(xa);
s = inv(Jac)*(-F);
x = xa + s;
if norm(s,inf)
n = i;
break
else
xa = x;
n=i;
if i==maxit
disp('O método diverge para os argumentos de entrada.');
end
end
end
disp('Número de Iterações:');
disp(n);
end
Script function Newtraphmod:
function y = Newtraphmod(xa,Jac, tol, n,maxit)
xa = [2;2];
n = 0;
maxit = 500;
tol = 0.0000001;
Jac = Jacobiano(xa);
for i=1:maxit
F = Func(xa);
s = inv(Jac)*(-F);
y = xa + s;
if norm(s,inf)
n = i;
break
else
xa=y;
n=i;
end
if i == maxit
disp('O método diverge para os argumentos de entrada.');
end
end
disp('Número de iterações:');
disp(n);
end
Janela de Comando:
Método de Newton-Raphson:
Número de Iterações:
11
x =
1.8229
1.8229
Elapsed time is 0.004275
...