| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/04/2004 15:38:13
|
smota
Moderador
![[Avatar]](/images/avatar/ca9c267dad0305d1a6308d2a0cf1c39c.jpg)
Membro desde: 21/02/2003 16:19:19
Mensagens: 1647
Offline
|
uhehehe leia o capítulo (item, seja lá o que for) 3.
|
"Perfection is reached not when there's nothing more to add but when there's no more to take out" |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/04/2004 15:43:20
|
grego
Debugger
![[Avatar]](/images/avatar/c8cfa1ab402b8c231d92d.jpg)
Membro desde: 03/10/2002 21:40:07
Mensagens: 50
Localização: São Paulo - SP
Offline
|
Operador Nabla wrote:N^2, pode ser escrito como a soma dos N primeiros números ímpares consecutivos (a partir de 1):
1 + 3 = 4 = 2^2
1 + 3 + 5 = 9 = 3^2
1 + 3 + 5 + 7 = 16 = 4^2 ...
hmmm.... muito legal!
Que tal fazer assim: sabemos que raiz de 3 é 1,732...
Então, exercitando a lógica, se multiplicar o número por 10Ex, sua raiz será multiplicada por 10E(x/2). Então dividir por 10Ex a raíz do número múltiplo para ter a do original.
Então se quiser raiz de 3 com precisão de 1 casa decimal é só multiplicar por 100, chegando em 300, achar o quadrado perfeito anterior a ele (é 289), tirar a raiz, ou ver quantos ímpares foram somados (que é 17), e dividir por 10, chegando em 1,7.
Se multiplicar por 10E4 (30.000), ver que foram 173 ímpares, e terá que a raíz de 3 é 1,73.
Seguindo isso, temos que é só multiplicar por 10E(n*2) para ter a raíz com precisão de n casas decimais.
|
Ricardo Grego |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/04/2004 12:47:11
|
Operador Nabla
JavaBaby
![[Avatar]](/images/avatar/339a18def9898dd60a634b2ad8fbbd58.png)
Membro desde: 23/02/2004 04:22:27
Mensagens: 98
Offline
|
Essa era a peça que faltava...
Excelente raciocínio!!
Vale lembrar que, neste caso, o erro cometido na estimativa será de 1 na última casa decimal.
PS: Mas eu continuo com Newton-Raphson . Este algoritmo é interessante, mas tem as suas limitações. Mas não é isso que estamos discutindo aqui.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/04/2004 15:05:55
|
grego
Debugger
![[Avatar]](/images/avatar/c8cfa1ab402b8c231d92d.jpg)
Membro desde: 03/10/2002 21:40:07
Mensagens: 50
Localização: São Paulo - SP
Offline
|
Operador Nabla wrote:PS: Mas eu continuo com Newton-Raphson  . Este algoritmo é interessante, mas tem as suas limitações. Mas não é isso que estamos discutindo aqui.
Qual é esse algorítmo? E, se não for esse, qual é o algoritmo mais tradicional para se calcular raiz (quadrada ou qualquer outra, genérica)?
|
Ricardo Grego |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/04/2004 14:01:29
|
Operador Nabla
JavaBaby
![[Avatar]](/images/avatar/339a18def9898dd60a634b2ad8fbbd58.png)
Membro desde: 23/02/2004 04:22:27
Mensagens: 98
Offline
|
O algoritmo de Newton-Raphson é um método geral para determinar raízes de equações do tipo f(x) = 0. A partir de uma estimativa x[0], construímos a seqüência:
x[n] = x[n-1] - f( x[n-1] ) / f'( x[n-1] )
n = 1, 2, 3, ...
onde f'(x) é a derivada de f, calculada em x.
Determinar a raiz quadrada de um número a corresponde a encontrar a raiz da equação x^2 - a = 0. Para esta equação, a seqüência acima fica assim:
x[n] = 0.5 * ( x[n-1] + a / x[n-1] )
n = 1, 2, 3, ...
Esta é a famosa "média aritmética entre x[n-1] e a / x[n-1]".
A função f(x) = x^2 é muito "bem comportada", o que faz com que x[n], na seqüência acima, convija rapidamente para a raiz quadrada de a.
Obviamente, se a sua estimativa x[0] for positiva, você encontrará a raiz quadrada positiva de a. Se x[0] for negativa, você encontrará a raiz quadrada negativa de a.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/05/2008 20:50:01
|
riverphoenix
Smalltalk
![[Avatar]](/images/avatar/2b736f73615495dbfc8c911ef6378747.jpg)
Membro desde: 11/05/2008 20:42:54
Mensagens: 3
Offline
|
Para número que gera raiz decimais é simples
Por exemplo Raiz(53)=7,28
Para calcular pelo metodo chines use Raiz(530000) (cada 00 é uma casa decimal)
Raiz(530000) = 1+3+5+7+9...... = 728
Entao como vc multiplica o valor inical (53) por 10000 entao agora divida pela raiz(10000)=100
Logo Raiz(53)=728/100 = 7,28
Lógico, é humanamente impossivel fazer 530000 pelo metodo chines no papel.......
Então na pratica fica assim Raiz(53)= Raiz(530000) / 100 = 728 / 100 = 7,28
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/05/2008 22:37:41
|
riverphoenix
Smalltalk
![[Avatar]](/images/avatar/2b736f73615495dbfc8c911ef6378747.jpg)
Membro desde: 11/05/2008 20:42:54
Mensagens: 3
Offline
|
Veja abaixo o metodo mais fácil:
Por exemplo
Raiz(30)
1º Passo
Metodo chines
Monte uma tabela (ver Tabela I anexada abaixo)
2º Passo
Pegue o resultado da coluna CONTADOR, no caso 5 e multiple por 20 e some um
Na pratica IMPAR = CONTADORES*20+1
este numero será o próximo impar
3º Passo
Pegue o numero da coluna VALOR, no caso é 5 também, multiplique por 100
Na pratica VALOR = VALOR*100
este será o novo valor
e zera o contador, CONT=1
4º Passo
Monte um outro tabela com os novos valores (ver Tabela II anexada abaixo)
5º Passo
Agora para obter mais casas decimais deve-se continuar com a regra
IMPAR:=CONTADORES*20+1
VALOR:=VALOR*100
CONTADOR:=1
No caso,
IMPAR = 54 * 20 + 1 = 1081 ( Importante: Usei os dois contadores 5 e 4 formando 54 )
VALOR = 84 * 100 = 8400
CONT = 1
Monte então uma nova tabela (Tabela III anexada abaixo)
E por ai vai (Lembrando de que o valor IMPAR é igual a todos os contadores (547) * 20 +1)
No caso, raiz(30) = 5.47... para obter outras casas é só seguir o método chines usando a regra
That's is all folks
|
| Nome do arquivo |
exp1.jpg |
Download
|
| Descrição |
Tabela I |
| Tamanho |
15 Kbytes
|
| Baixado: |
109 vez(es) |
|
| Nome do arquivo |
exp2.jpg |
Download
|
| Descrição |
Tabela II |
| Tamanho |
9 Kbytes
|
| Baixado: |
94 vez(es) |
|
| Nome do arquivo |
exp3.jpg |
Download
|
| Descrição |
Tabela III |
| Tamanho |
16 Kbytes
|
| Baixado: |
88 vez(es) |
This message was edited 3 times. Last update was at 11/05/2008 23:36:52
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/05/2008 08:16:46
|
windsofhell
GUJ Master
Membro desde: 15/06/2007 08:31:17
Mensagens: 1687
Localização: Stockholm - Sweden
Offline
|
pcalcado wrote:Método chinês, pra mim, é usar uma calculadora made in china 
Qual calculadora nao eh feita na China?? hahahaha
//Daniel
|
Nao respondo MP!!!
Site: http://downhillracer.wordpress.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/05/2008 13:35:03
|
Vinicius_Sartori
JavaEvangelist
![[Avatar]](/images/avatar/3dff232f506693720caae97d135faa54.png)
Membro desde: 11/02/2008 10:08:39
Mensagens: 460
Offline
|
windsofhell wrote:
pcalcado wrote:Método chinês, pra mim, é usar uma calculadora made in china 
Qual calculadora nao eh feita na China?? hahahaha
//Daniel
boa pergunta, eu mal lembro como faz normal, quem dirá no metodo chinês
This message was edited 1 time. Last update was at 12/05/2008 13:35:27
|
ハガネ グンダム |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/05/2008 15:01:44
|
riverphoenix
Smalltalk
![[Avatar]](/images/avatar/2b736f73615495dbfc8c911ef6378747.jpg)
Membro desde: 11/05/2008 20:42:54
Mensagens: 3
Offline
|
Dennys wrote:Ou...
Quem conhece como fazer riaz quadrada pelo metodo chinês pode me dizer se tem como o resultado aparecer em quebrado??
po exemplo a raiz de 3....
Valeu!
Atn.
Dennys Fernando
Raiz de 3
-----------
metodo chines:
VALOR IMPAR CONTADOR
3 1 1
2 < 3
o primeiro resultado é 1 virgula alguma coisa
bom agora multiplica o valor resultante por cem (no caso 2*100=200)
Pega o contador e multiplica por 20 e soma 1 (no caso o contador é 1, entao 1*20+1 = 21)
faz outra tabela
VALOR IMPAR CONTADOR
200 21 1
179 23 2
156 25 3
131 27 4
104 29 5
75 31 6
44 33 7
11 < 35 (segundo metodo chines quando é menor o reusltado é o contador)
no caso o segundo número é 7
entao já de 1,7
para continuar mult o valor por 100 (aqui 11*100 = 1100)
e o novo impar = contadores *20+1 (impar = 17*20+1 (não é só o ultimo contador são todos 1 e 7)
entao
VALOR IMPAR CONT
1100 141 1
e por ai vai..........
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/05/2008 20:22:34
|
Kknd
JavaEvangelist
![[Avatar]](/images/avatar/fc8956a9c5bb091ed488e75e3df5ae4f.png)
Membro desde: 13/10/2006 10:54:18
Mensagens: 338
Offline
|
Operador Nabla wrote:
Não serve o método de Newton-Raphson?
+1. Só que não é um método exato.
Edit: Curti esse método!
This message was edited 1 time. Last update was at 18/05/2008 20:24:04
|
|
|
 |
|
|