MÉTODOS NUMÉRICOS APLICAÇÃO NO MATLAB Professor: Lissandro Brito Viena e-mail:...

38
MÉTODOS NUMÉRICOS APLICAÇÃO NO MATLAB Professor: Lissandro Brito Viena e-mail: [email protected] [email protected] Site: www.ifba.edu.br/professores/lissandro

Transcript of MÉTODOS NUMÉRICOS APLICAÇÃO NO MATLAB Professor: Lissandro Brito Viena e-mail:...

Page 1: MÉTODOS NUMÉRICOS APLICAÇÃO NO MATLAB Professor: Lissandro Brito Viena e-mail: lissandroviena@gmail.com vienalissandro@yahoo.com.br Site: .

MÉTODOS NUMÉRICOSAPLICAÇÃO NO MATLAB

Professor: Lissandro Brito Viena e-mail: [email protected]

[email protected] Site: www.ifba.edu.br/professores/lissandro

Page 2: MÉTODOS NUMÉRICOS APLICAÇÃO NO MATLAB Professor: Lissandro Brito Viena e-mail: lissandroviena@gmail.com vienalissandro@yahoo.com.br Site: .

EQUAÇÕES ALGÉBRICAS LINEARES E MATRIZES

1) NOTAÇÃO MATRICIAL

Uma matriz consiste de um arranjo retangular de elementos.

A matriz que tem “m” linhas e “n” colunas tem dimensão m x n.

A matriz que possui apenas linhas ou colunas, é denominada de vetor linha ou vetor coluna respectivamente.

11 1n

n1 nn

a a

A

a a

Page 3: MÉTODOS NUMÉRICOS APLICAÇÃO NO MATLAB Professor: Lissandro Brito Viena e-mail: lissandroviena@gmail.com vienalissandro@yahoo.com.br Site: .

EQUAÇÕES ALGÉBRICAS LINEARES E MATRIZES

Exemplo de matriz linha denominada de vetor linha:

Exemplo de matriz coluna denominada de vetor coluna:

Matriz quadrada é aquela que o número de linhas é igual ao número de colunas. (m = n).

Matrizes quadradas são importantes no momento da resolução de um conjunto equações algébricas lineares. Para tais sistemas, o número de equações (linhas) e o número de variáveis (colunas)

1 nb [b b ]

1

m

c

c

c

Page 4: MÉTODOS NUMÉRICOS APLICAÇÃO NO MATLAB Professor: Lissandro Brito Viena e-mail: lissandroviena@gmail.com vienalissandro@yahoo.com.br Site: .

Matrizes quadradas são importantes no momento da resolução de um conjunto equações algébricas lineares. Para tais sistemas, o número de equações (linhas) e o número de variáveis (colunas) devem ser iguais para que exista apenas uma solução.

Matriz simétrica: é uma matriz do tipo quadrada em que os elementos aij = aji.

Matriz diagonal: é uma matriz do tipo quadrada em que todos os elementos fora da diagonal principal são nulos.

Matriz identidade: matriz diagonal em que os elementos da diagonal principal são iguais a 1.

Page 5: MÉTODOS NUMÉRICOS APLICAÇÃO NO MATLAB Professor: Lissandro Brito Viena e-mail: lissandroviena@gmail.com vienalissandro@yahoo.com.br Site: .

Matriz triangular superior: é aquela matriz em que os elementos abaixo da diagonal principal são nulos.

Matriz triangular inferior: é aquela matriz em que os elementos acima da diagonal principal são nulos.

Para saber a dimensão de uma matruz no MATLAB usa-se o seguinte comando (size):

[m, n] = size(matriz)

Representando equações algébricas lineares na forma matricial

Considere o sistema 3 x 3 abaixo:

Page 6: MÉTODOS NUMÉRICOS APLICAÇÃO NO MATLAB Professor: Lissandro Brito Viena e-mail: lissandroviena@gmail.com vienalissandro@yahoo.com.br Site: .

Representando equações algébricas lineares na forma matricial

Considere o sistema 3 x 3 abaixo:

O sistema acima pode ser representado pela seguinte notação:

A matriz é denominada de matriz dos coeficientes, a matriz b consiste de um vetor coluna de constantes e a matriz x consiste de um vetor coluna de variáveis.

11 1 12 2 13 3 1

21 1 22 2 23 2 2

31 1 32 2 33 3 3

a x a x a x b

a x a x a x b

a x a x a x b

A x b

Page 7: MÉTODOS NUMÉRICOS APLICAÇÃO NO MATLAB Professor: Lissandro Brito Viena e-mail: lissandroviena@gmail.com vienalissandro@yahoo.com.br Site: .

Representando equações algébricas lineares na forma matricial

Uma forma de resolver esse sistema é multiplicar ambos lados pela inversa da matriz dos coeficientes:

Para resolver equações algébricas lineares com MATLAB aplica-se o seguinte comando:

A segunda forma é usar matriz inversa:

A x b

1 1

1

A A x A b

x A b

x A \ b

x inv(A) b

Page 8: MÉTODOS NUMÉRICOS APLICAÇÃO NO MATLAB Professor: Lissandro Brito Viena e-mail: lissandroviena@gmail.com vienalissandro@yahoo.com.br Site: .

NOÇÕES SOBRE ELMINAÇÃO DE GAUSS

Para explicar o procedimento de resolver equações algébricas lineares pela eliminação de Gauss, o exemplo seguinte será usado:

O primeiro passo na solução do sistema é multiplicar a primeira equação por 0,1/3 e subtraia da segunda, resultando em:

Ao multiplicar a primeira equação por 0,3/3 e subtrair da última equação resulta no seguinte sistema:

1 2 3

1 2 3

1 2 3

3x 0,1x 0,2x 7,85

0,1x 7x 0,3x 19,3

0,3x 0,2x 10x 71,4

2 37,0033x 0,293333x 19,5617

Page 9: MÉTODOS NUMÉRICOS APLICAÇÃO NO MATLAB Professor: Lissandro Brito Viena e-mail: lissandroviena@gmail.com vienalissandro@yahoo.com.br Site: .

NOÇÕES SOBRE ELMINAÇÃO DE GAUSS

Para completar a operação, x2 deve ser removida da terceira equação restando apenas x3 que pode ser encontrada facilmente.

Após isso, é necessário retornar nas outras equações para calcular as outras variáveis.

1 2 3

2 3

2 3

3x 0,1x 0,2x 7,85

7,0033x 0,293333x 19,5617

0,19x 10,0200x 70,6150

1 2 3

2 3

3

3x 0,1x 0,2x 7,85

7,0033x 0,293333x 19,5617

10,0120x 70,0843

3

70,0843x 7,00003

10,0120

Page 10: MÉTODOS NUMÉRICOS APLICAÇÃO NO MATLAB Professor: Lissandro Brito Viena e-mail: lissandroviena@gmail.com vienalissandro@yahoo.com.br Site: .

NOÇÕES SOBRE ELMINAÇÃO DE GAUSS

Após isso, é necessário retornar nas outras equações para calcular as outras variáveis.

function [a_ampliada,x] = eliminagauss_lissandro(a,b)% a- matriz dos coeficientes% b - matriz dos termos independentes% x- vetor das variáveis[m,n]=size(a);nb=n+1;a_ampliada=[a b];for k=1:(n-1) for h=(k+1):(n) a_ampliada(h,k:nb)=((a_ampliada(h,k))/(a_ampliada(k,k)))*a_ampliada(k,k:nb)- a_ampliada(h,k:nb); end end x=zeros(n,1); % define inicialmente um vetor solução de zeros, para depois serem atualizados % serve também para estabelecer que o vetor solução é do tipo colunax(n)=a_ampliada(n,nb)/a_ampliada(n,n);for l=n-1:-1:1 for g =((l+1):n) x(l)=(a_ampliada(l,nb))/(a_ampliada(l,l))-((a_ampliada(l,l+1:n))*x(l+1:n))/((a_ampliada(l,l))); end end

Page 11: MÉTODOS NUMÉRICOS APLICAÇÃO NO MATLAB Professor: Lissandro Brito Viena e-mail: lissandroviena@gmail.com vienalissandro@yahoo.com.br Site: .

MÉTODOS ITERATIVOS

Os métodos iterativos ou métodos aproximados constituem um caminho alternativo aos métodos de eliminação.

Sistemas lineares – Gauss Seidel

É o método iterativo mais comumente usado para resolver equações algébricas lineares. Assuma que foi fornecido um conjunto de n equações na forma:

Para entender melhor esse método, limitaremos o sistema a 3 x 3:

A x b

Page 12: MÉTODOS NUMÉRICOS APLICAÇÃO NO MATLAB Professor: Lissandro Brito Viena e-mail: lissandroviena@gmail.com vienalissandro@yahoo.com.br Site: .

MÉTODOS ITERATIVOS

Se os elementos da diagonal são todos não nulos, a primeira equação pode ser resolvida para x1, a segunda equação para x2, e a terceira para x3.

11 1 12 2 13 3 1

21 1 22 2 23 3 2

31 1 32 2 33 3 3

a x a x a x b

a x a x a x b

a x a x a x b

j 1 j 1j 1 12 2 13 31

11

j j 1j 2 21 1 23 32

22

j jj 3 31 1 32 23

33

b a x a xx

a

b a x a xx

a

b a x a xx

a

Page 13: MÉTODOS NUMÉRICOS APLICAÇÃO NO MATLAB Professor: Lissandro Brito Viena e-mail: lissandroviena@gmail.com vienalissandro@yahoo.com.br Site: .

MÉTODOS ITERATIVOS

Em que j e j-1 são iteração atual e a anterior respectivamente.

Para começar o processo uma estimativa “chute” inicial deve dado para o valor das variáveis. Uma aproximação simples é considerar que todos valores são nulos.

Para a convergência é necessário que:

Exemplo prático: Use o método de Gauss Seidel para obter a solução do seguinte sistema:

j j 1i ix x

Page 14: MÉTODOS NUMÉRICOS APLICAÇÃO NO MATLAB Professor: Lissandro Brito Viena e-mail: lissandroviena@gmail.com vienalissandro@yahoo.com.br Site: .

MÉTODOS ITERATIVOS

A solução para o sistema é:[3 -2.5 7]

Solução: Inicialmente deve-se resolver cada equação para variável da diagonal principal.

1 2 3

1 2 3

1 2 3

3x 0.1x 0.2x 7,85

0,1x 7x 0,3x 19,3

0,3x 0,2x 10x 71,4

2 31

1 32

1 23

7,85 0.1x 0.2xx

319,3 0,1x 0,3x

x7

71,4 0,3x 0,2xx

10

Page 15: MÉTODOS NUMÉRICOS APLICAÇÃO NO MATLAB Professor: Lissandro Brito Viena e-mail: lissandroviena@gmail.com vienalissandro@yahoo.com.br Site: .

MÉTODOS ITERATIVOS

Assumindo x2 e x3 iguais a zero e substituindo na primeira equação para calcular a variável x1 .

O valor acima juntamente com o valor definido para x3, encontra-se a variável x2.

A primeira iteração é finalizada substituindo os valores x1 e x2 para o cálculo de x3.

O slide seguinte mostra o cálculo.

2 31

7,85 0.1x 0.2x 7,85 0,1 (0) 0,2 (0)x

3 3

1 32

2

19,3 0,1x 0,3x 19,3 0,1 (2,616667) 0,3 (0)x

7 7x 2,794524

Page 16: MÉTODOS NUMÉRICOS APLICAÇÃO NO MATLAB Professor: Lissandro Brito Viena e-mail: lissandroviena@gmail.com vienalissandro@yahoo.com.br Site: .

MÉTODOS ITERATIVOSO valor da variável x3 pode ser calculado da seguinte forma:

Para a segunda iteração, tem-se que:

1 23

3

3

71,4 0,3x 0,2xx

1071,4 0,3 2,616667 0,2 2,794524

x10

x 7,005610

2 31

1

1

7,85 0.1x 0.2xx

37,85 0,1 ( 2,794524) 0,2 (7,005610)

x3

x 2,990557

Page 17: MÉTODOS NUMÉRICOS APLICAÇÃO NO MATLAB Professor: Lissandro Brito Viena e-mail: lissandroviena@gmail.com vienalissandro@yahoo.com.br Site: .

MÉTODOS ITERATIVOSPara a segunda iteração, tem-se que:

2 31

1

1

7,85 0.1x 0.2xx

37,85 0,1 ( 2,794524) 0,2 (7,005610)

x3

x 2,990557

O valor da variável x2 na segunda iteração:

1 32

2

2

19,3 0,1x 0,3xx

719,3 0,1 ( 2,990557) 0,3 (7,005610)

x7

x 2,499625

Page 18: MÉTODOS NUMÉRICOS APLICAÇÃO NO MATLAB Professor: Lissandro Brito Viena e-mail: lissandroviena@gmail.com vienalissandro@yahoo.com.br Site: .

MÉTODOS ITERATIVOSO valor da variável x3 na segunda iteração:

OBS: A CADA NOVO VALOR DE “x” CALCULADO PELO MÉTODO DE GAUSS-SEIDEL É IMEDIATAMENTE USADO NA PRÓXIMA EQUAÇÃO PARA ENCONTRAR O OUTRO VALOR DE “x”.

1 23

3

3

71,4 0,3x 0,2xx

1071,4 0,3 2,990557 0,2 2,499625

x10

x 7,000291

Page 19: MÉTODOS NUMÉRICOS APLICAÇÃO NO MATLAB Professor: Lissandro Brito Viena e-mail: lissandroviena@gmail.com vienalissandro@yahoo.com.br Site: .

MÉTODOS ITERATIVOS

function x = gseidel(a,b,es,maxit)

% x=gseidel(a,b)

% a- matriz dos coefientes

% b- matriz dos termos independentes

% es - critério de parada

% maxit - máxima quantidade de iterações

% x - vetor com a solução do sistema de equações

% error - função matlab que mostra

%uma mensagem de erro e cancela a função

% nargin - número de argumentos de

%entrada de uma determinada função.

Page 20: MÉTODOS NUMÉRICOS APLICAÇÃO NO MATLAB Professor: Lissandro Brito Viena e-mail: lissandroviena@gmail.com vienalissandro@yahoo.com.br Site: .

MÉTODOS ITERATIVOS

%BIBLIOTECA DE FUNÇÕES DO MATLAB COM AS RESPECTIVAS APLICAÇÕES % error - função matlab que mostra uma mensagem de erro e cancela a função% nargin - número de argumentos de entrada de uma determinada função. O% nargin retorna o número de argumentos de entrada que foi usado para% chamar a função.% nargout - retorna o número de argumentos de saída da função.% isempty - isemty(y) retorna 1 se y é um array sem elemento e 0 caso% contrário if nargin<2 error('pelo menos dois argumentos de entrada são necessários')endif nargin <4 || isempty(maxit) maxit=50;endif nargin<3 ||isempty(es) es = 0.00001;end

Page 21: MÉTODOS NUMÉRICOS APLICAÇÃO NO MATLAB Professor: Lissandro Brito Viena e-mail: lissandroviena@gmail.com vienalissandro@yahoo.com.br Site: .

MÉTODOS ITERATIVOS

[m,n]=size(a);if m~=n error('a matriz deve ser quadrada')endc=a;% x=xp;for i =1:n c(i,i)=0; x(i)=0;endx=x';for i=1:n d(i)=b(i)/a(i,i);end

for i=1:n c(i,1:n)=c(i,1:n)/a(i,i);enditer = 0;ea=1;% format longwhile ea>=es xvelho=x; for i=1:n x(i)=d(i)-c(i,:)*x; if x(i)~=0 ea(i)=abs(x(i)-xvelho(i)); end iter=iter+1; end xend

Page 22: MÉTODOS NUMÉRICOS APLICAÇÃO NO MATLAB Professor: Lissandro Brito Viena e-mail: lissandroviena@gmail.com vienalissandro@yahoo.com.br Site: .

MÉTODOS ITERATIVOS

MÉTODO DE NEWTON-RAPHSON

A expansão em série de Taylor de primeira ordem é dada por:

A equação acima corresponde ao método de Newton Raphson para apenas uma equação.

'i 1 i i 1 i if x f x (x x )f (x )

Estimativa inicial

Equivale ao ponto em que ocorre a intersecção com eixo x. Nesse ponto f(xi+1) = 0.

ii 1 i '

i

f xx x

f (x )

Page 23: MÉTODOS NUMÉRICOS APLICAÇÃO NO MATLAB Professor: Lissandro Brito Viena e-mail: lissandroviena@gmail.com vienalissandro@yahoo.com.br Site: .

MÉTODO DE NEWTON-RAPHSON

1k 2k

1k 2k

1k 2k

1k 2k

11 1 2 1 1k 2k 1 1k

1 (x ,x )

12 2k

2 (x ,x )

22 1 2 2 1k 2k 1 1k

1 (x ,x )

22 2k

2 (x ,x )

ff (x ,x ) f (x ,x ) (x x )

x

f(x x ) 0

x

ff (x ,x ) f (x ,x ) (x x )

x

f(x x ) 0

x

Page 24: MÉTODOS NUMÉRICOS APLICAÇÃO NO MATLAB Professor: Lissandro Brito Viena e-mail: lissandroviena@gmail.com vienalissandro@yahoo.com.br Site: .

MÉTODO DE NEWTON-RAPHSONNa forma vetorial as equações ficam da seguinte maneira:

Podemos resolver a equação acima para (x1, x2).

1k 2k

1 1

1 21 1 2 1 1k 2k 1 1k

2 1 2 2 1k 2k 2 2k2 2

1 2 (x ,x )

f f

x xf (x ,x ) f (x ,x ) (x x )

f (x ,x ) f (x ,x ) (x x )f f

x x

0

0

1k 2k

1

1 1

1,k 1 1 21k 1 1k 2k

2,k 1 2k 2 1k 2k2 2

1 2 (x ,x )

f fx x xx f (x ,x )

x x f (x ,x )f f

x x

Page 25: MÉTODOS NUMÉRICOS APLICAÇÃO NO MATLAB Professor: Lissandro Brito Viena e-mail: lissandroviena@gmail.com vienalissandro@yahoo.com.br Site: .

MÉTODO DE NEWTON-RAPHSONA seguir a notação resumida:

Em que é a matriz jacobiana das funções do sistema de equações algébricas.

Podemos também fazer as seguintes considerações sobre o método de Newton.

Considere a solução de uma equação de uma única variável dada por:

1

kk 1 k Kx x J f x

J

f (x) c

Page 26: MÉTODOS NUMÉRICOS APLICAÇÃO NO MATLAB Professor: Lissandro Brito Viena e-mail: lissandroviena@gmail.com vienalissandro@yahoo.com.br Site: .

MÉTODO DE NEWTON-RAPHSONSe xo é a estimativa inicial da solução e é um pequeno desvio da solução correta, então:

Expandindo o lado esquerdo da equação por série de Taylor, tem-se que:

Assumindo um erro muito pequeno resulta que:

Em que:

ox

o of (x x ) c

2

2(0) (0) (0)2

df 1 d ff (x ) x x c

dx 2! dx

(0)x(0)

(0) (0)dfc x

dx

(0) (0)c c f x

Page 27: MÉTODOS NUMÉRICOS APLICAÇÃO NO MATLAB Professor: Lissandro Brito Viena e-mail: lissandroviena@gmail.com vienalissandro@yahoo.com.br Site: .

MÉTODO DE NEWTON-RAPHSONO algoritmo de Newton Raphson é então colocado abaixo:

Para ilustrar a aplicação do método de Newton-Raphson, o seguinte exemplo será utilizado:

(k) (k)c c f x (k)

(k)(k)

cx

dfdx

(k 1) (k) (k)x x x

3 2f x x 6x 9x 4

Page 28: MÉTODOS NUMÉRICOS APLICAÇÃO NO MATLAB Professor: Lissandro Brito Viena e-mail: lissandroviena@gmail.com vienalissandro@yahoo.com.br Site: .

MÉTODO DE NEWTON-RAPHSON

Inicialmente calcula-se a derivada da função:

3 2

2

f x x 6x 9x 4

df3x 12x 9

dx

(0) (k)

(0) 3 2

c c f x

c 0 6 6(6) 9(6) 4 50

0

2df3 6 12 6 9 45

dx

(0)(0)

0

c 50x 1,1111

45dfdx

Page 29: MÉTODOS NUMÉRICOS APLICAÇÃO NO MATLAB Professor: Lissandro Brito Viena e-mail: lissandroviena@gmail.com vienalissandro@yahoo.com.br Site: .

MÉTODO DE NEWTON-RAPHSON

O resultado no final da primeira iteração é:

As iterações subsequentes resultam em:

(1) (0) (0)

(1)

x x x

x 6 1,1111 4,8889

(2) (1) (1)

(3) (2) (2)

(4) (3) (3)

(5) (4) (4)

13,4431x x x 4,8889 4,2789

22,037

2,9981x x x 4,2789 4,0405

12,5797

0,3748x x x 4,0405 4,0011

9,4914

0,0095x x x 4,0011 4,000

9,0126

Page 30: MÉTODOS NUMÉRICOS APLICAÇÃO NO MATLAB Professor: Lissandro Brito Viena e-mail: lissandroviena@gmail.com vienalissandro@yahoo.com.br Site: .

MÉTODO DE NEWTON-RAPHSON

Agora considere o problema que envolve uma quantidade maior de variáveis:

1 1 2 n 1

2 1 2 n 2

n 1 2 n n

f (x ,x , x ) c

f (x ,x , x ) c

f (x ,x , x ) c

Page 31: MÉTODOS NUMÉRICOS APLICAÇÃO NO MATLAB Professor: Lissandro Brito Viena e-mail: lissandroviena@gmail.com vienalissandro@yahoo.com.br Site: .

MÉTODO DE NEWTON-RAPHSONAplicando série de Taylor e desprezando os termos de ordem elevada resulta em:

Colocando na forma matricial:

1 2 n

1 2 n

(0) (0) (0) (0)1 1 11 1

1 2 n

(0) (0) (0) (0)n n nn n

1 2 n

f f ff x x x c

x x x

f f ff x x x c

x x x

Page 32: MÉTODOS NUMÉRICOS APLICAÇÃO NO MATLAB Professor: Lissandro Brito Viena e-mail: lissandroviena@gmail.com vienalissandro@yahoo.com.br Site: .

MÉTODO DE NEWTON-RAPHSON

Colocando na forma matricial:

Numa forma mais compacta, a notação seguinte torna-se mais apropriada.

1

1

n

n

(0) (0) (0)

1 1 1(0)

0 1 2 n1

0n (0)(0) (0) (0)

n n n

1 2 n

f f f

xx x xc f (x)

c f (x)xf f f

x x x

(k) (k) (k)C J x

Page 33: MÉTODOS NUMÉRICOS APLICAÇÃO NO MATLAB Professor: Lissandro Brito Viena e-mail: lissandroviena@gmail.com vienalissandro@yahoo.com.br Site: .

MÉTODO DE NEWTON-RAPHSON

Colocando na forma matricial:

A atualização das variáveis é feita da seguinte maneira:

(k) (k) (k)

(k) 1(k) (k)

C J x

x J C

k 1 k (k)x x x

Page 34: MÉTODOS NUMÉRICOS APLICAÇÃO NO MATLAB Professor: Lissandro Brito Viena e-mail: lissandroviena@gmail.com vienalissandro@yahoo.com.br Site: .

MÉTODO DE NEWTON-RAPHSON

Em que:

- MATRIZ JACOBIANA

(k)1(k)

(k) 2

(k)n

(k)

1 1

(k)(k) 2 2

(k)

n n

x

xx

x

c f

c fC

c f

(k) (k) (k)

1 1 1

1 2 n

(k)

(k) (k) (k)

n n n

1 2 n

f f f

x x x

J

f f f

x x x

(k)J

Page 35: MÉTODOS NUMÉRICOS APLICAÇÃO NO MATLAB Professor: Lissandro Brito Viena e-mail: lissandroviena@gmail.com vienalissandro@yahoo.com.br Site: .

MÉTODO DE NEWTON-RAPHSON

Exemplo de aplicação do método de Newton-Raphson

1) Encontre a solução do seguinte sistema de equações

Passo 1: Construção da matriz jacobiana

Passo 2: Preparar o algoritmo

1

2 21 2

x2

x x 4

e x 1

1

1 2x

2x 2xj

e 1

Page 36: MÉTODOS NUMÉRICOS APLICAÇÃO NO MATLAB Professor: Lissandro Brito Viena e-mail: lissandroviena@gmail.com vienalissandro@yahoo.com.br Site: .

MÉTODO DE NEWTON-RAPHSONExemplo de aplicação do método de Newton-Raphsondeltax=1; % incremento da variável é ajustado em um valor altox=input('Entre com a estimativa inicial -> ');iter = 0;disp(' iter deltac j deltax x')while abs(deltax)>0.0001 & iter<100 iter=iter+1; deltac=0-(x^3-6*x^2+9*x-4);j=3*x^2-12*x+9;deltax=deltac/j;x=x+deltax;% fprintf('%g', iter)disp([iter , deltac, j, deltax, x])end

Page 37: MÉTODOS NUMÉRICOS APLICAÇÃO NO MATLAB Professor: Lissandro Brito Viena e-mail: lissandroviena@gmail.com vienalissandro@yahoo.com.br Site: .

MÉTODO DE NEWTON-RAPHSONExemplo de aplicação do método de Newton-Raphsoniter = 0;x=input('Entre com a estimativa inicial da solução - vetor coluna x=[x1;x2] - > ');deltax=[1;1];c=[4;1];disp('iter deltac jacobiana deltax x')while max(abs(deltax))>=0.0001 & iter<10 iter=iter+1; f=[x(1)^2+x(2)^2; exp(x(1))+x(2)]; deltac=c-f; j=[2*x(1) 2*x(2);exp(x(1)) 1]; deltax=j\deltac; x=x+deltax; fprintf('%g', iter) disp([ deltac, j, deltax, x]

Page 38: MÉTODOS NUMÉRICOS APLICAÇÃO NO MATLAB Professor: Lissandro Brito Viena e-mail: lissandroviena@gmail.com vienalissandro@yahoo.com.br Site: .

MÉTODO DE NEWTON-RAPHSONExemplo de aplicação do método de Newton-RaphsonAtividade: Partindo com valores iniciais x1, x2, x3 resolva o seguinte sistema de equações pelo método de Newton Raphson:

2 2 21 2 3

21 2 2 3

1 1 3 2 3

x x x 11

x x x 3x 3

x x x x x 6