Página 1 de 1

Método de newton

Enviado: Sáb 08 Jun, 2019 17:52
por cidadantas
USANDO O SCILAB: Como calcular a raiz a quinta de um número S, onde o S é o único parâmetro de entrada

Re: Método de newton

Enviado: Sáb 08 Jun, 2019 19:10
por baltuilhe
Quer ajuda com o scilab ou 'na mão'? :)

Re: Método de newton

Enviado: Sáb 08 Jun, 2019 19:12
por cidadantas
QUero ajudo no Scilab

Re: Método de newton

Enviado: Dom 09 Jun, 2019 04:46
por cidadantas
Mas poderia ser não mão também, qualquer um dos dois

Re: Método de newton

Enviado: Dom 09 Jun, 2019 09:26
por baltuilhe
Bom dia!

Para calcular a raiz quinta de um número S podemos utilizar a seguinte função:
[tex3]f(x)=x^5-S[/tex3]

E, desta função, buscar uma raiz, que será a resposta.

O método de Newton-Raphson é um método iterativo, que consiste em utilizar um valor inicial em uma função e, a cada novo valor, substituir este na mesma função, até 'convergir' para a resposta.
A função é a seguinte:
[tex3]\varphi(x_k)=x_k-\dfrac{f(x_k)}{f(x_k)}=x_{k+1}[/tex3]

Agora, precisamos derivar a função inicial:
[tex3]f'(x)=5x^4[/tex3]

Bom, como não temos a raiz quinta de S, temos que arbitrar um número inicial para a mesma, podemos iniciar com S/5 (um quinto) do valor, como estimativa inicial.
Agora, só substituir.

Vamos testar?

Para S=32, S/5=32/5=6,4

Montando a tabela:
[tex3]\begin{array}{r|r|r|r}\hline\\x&f(x)&f'(x)&\varphi(x)\\
\hline
6,4000&10.705,4182&8.388,6080&5,1238\\
5,1238&3.499,5133&3.446,1857&4,1083\\
4,1083&1.138,3365&1.424,3562&3,3091\\
3,3091&364,7797&599,5281&2,7007\\
2,7007&111,6752&265,9962&2,2809\\
2,2809&29,7350&135,3303&2,0612\\
2,0612&5,2049&90,2507&2,0035\\
2,0035&0,2810&80,5615&2,0000\\
2,0000&0,0000&80,0000&\color{green}\boxed{2,0000}\\
\hline
\end{array}[/tex3]

Espero ter ajudado!

Re: Método de newton

Enviado: Ter 11 Jun, 2019 19:31
por cidadantas
Bautuilhe, boa noite!

Por que vc escolheu S/5 como aproximação inicial?
Isso se aplica para qualquer número real?
Se eu escolher um número muito próximo de 0, isso não tenderia ao infinito?
Ou como eu faria para mostrar que s/5 < S^1/5

Re: Método de newton

Enviado: Ter 11 Jun, 2019 20:55
por baltuilhe
baltuilhe escreveu:
Dom 09 Jun, 2019 09:26
Bom dia!

Para calcular a raiz quinta de um número S podemos utilizar a seguinte função:
[tex3]f(x)=x^5-S[/tex3]

E, desta função, buscar uma raiz, que será a resposta.

O método de Newton-Raphson é um método iterativo, que consiste em utilizar um valor inicial em uma função e, a cada novo valor, substituir este na mesma função, até 'convergir' para a resposta.
A função é a seguinte:
[tex3]\varphi(x_k)=x_k-\dfrac{f(x_k)}{f(x_k)}=x_{k+1}[/tex3]

Agora, precisamos derivar a função inicial:
[tex3]f'(x)=5x^4[/tex3]

Bom, como não temos a raiz quinta de S, temos que arbitrar um número inicial para a mesma, podemos iniciar com S/5 (um quinto) do valor, como estimativa inicial.
Agora, só substituir.

Vamos testar?

Para S=32, S/5=32/5=6,4

Montando a tabela:
[tex3]\begin{array}{r|r|r|r}\hline\\x&f(x)&f'(x)&\varphi(x)\\
\hline
6,4000&10.705,4182&8.388,6080&5,1238\\
5,1238&3.499,5133&3.446,1857&4,1083\\
4,1083&1.138,3365&1.424,3562&3,3091\\
3,3091&364,7797&599,5281&2,7007\\
2,7007&111,6752&265,9962&2,2809\\
2,2809&29,7350&135,3303&2,0612\\
2,0612&5,2049&90,2507&2,0035\\
2,0035&0,2810&80,5615&2,0000\\
2,0000&0,0000&80,0000&\color{green}\boxed{2,0000}\\
\hline
\end{array}[/tex3]

Espero ter ajudado!
cidadantas escreveu:
Ter 11 Jun, 2019 19:31
Bautuilhe, boa noite!

Por que vc escolheu S/5 como aproximação inicial?
Isso se aplica para qualquer número real?
Se eu escolher um número muito próximo de 0, isso não tenderia ao infinito?
Ou como eu faria para mostrar que s/5 < S^1/5
Boa noite!

Pra falar bem a verdade... eu só peguei um número 'menor' do que S inicial.

Poderia ter tomado outro valor qualquer. Até o próprio 32.
Vamos simular?

Para S=32:

Montando a tabela:
[tex3]\begin{array}{r|r|r|r}\hline\\x&f(x)&f'(x)&\varphi(x)\\
\hline
32,0000&33.554.400,0000&5.242.880,0000&25,6000\\
25,6000&10.995.084,2778&2.147.483,6480&20,4800\\
20,4800&3.602.847,7019&879.609,3022&16,3840\\
16,3840&1.180.559,6207&360.287,9702&13,1073\\
13,1073&386.839,0199&147.578,4562&10,4861\\
10,4861&126.753,6131&60.454,1312&8,3894\\
8,3894&41.525,9875&24.768,1524&6,7128\\
6,7128&13.598,7120&10.152,7768&5,3734\\
5,3734&4.447,6683&4.168,3741&4,3064\\
4,3064&1.449,0572&1.719,6001&3,4637\\
3,4637&466,5415&719,6662&2,8154\\
2,8154&144,8889&314,1452&2,3542\\
2,3542&40,3131&153,5831&2,0917\\
2,0917&8,0403&95,7123&2,0077\\
2,0077&0,6208&81,2391&2,0001\\
2,0001&0,0080&80,0160&2,0000\\
2,0000&0,0000&80,0000&\color{green}\boxed{2,0000}\\
\hline
\end{array}[/tex3]

Demora um pouco mais... mas acaba convergindo :)

Re: Método de newton

Enviado: Ter 11 Jun, 2019 21:50
por cidadantas
como eu tô fazendo o código, eu tava tentando achar uma forma de dar o chute inicial para que ele convergisse mais rápido para qualquer S. Sei lá. Acho q estou viajando nisso... pq no algoritmo o único dado de entrada vai ser S