Raiz quadrada ... metodo chines...  XML
Índice dos Fóruns » Assuntos gerais (Off-topic)
Autor Mensagem
smota
Moderador
[Avatar]

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"
grego
Debugger
[Avatar]

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
Operador Nabla
JavaBaby
[Avatar]

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.
[WWW] [MSN] [ICQ]
grego
Debugger
[Avatar]

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
Operador Nabla
JavaBaby
[Avatar]

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.
[WWW] [MSN] [ICQ]
riverphoenix
Smalltalk
[Avatar]

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
[Email]
riverphoenix
Smalltalk
[Avatar]

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

    [Thumb - exp1.jpg]
     Nome do arquivo exp1.jpg [Disk] Download
     Descrição Tabela I
     Tamanho 15 Kbytes
     Baixado:  109 vez(es)

    [Thumb - exp2.jpg]
     Nome do arquivo exp2.jpg [Disk] Download
     Descrição Tabela II
     Tamanho 9 Kbytes
     Baixado:  94 vez(es)

    [Thumb - exp3.jpg]
     Nome do arquivo exp3.jpg [Disk] 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

    [Email]
    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
    Vinicius_Sartori
    JavaEvangelist
    [Avatar]

    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


    ハガネ グンダム
    [Email] [MSN]
    riverphoenix
    Smalltalk
    [Avatar]

    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..........


    [Email]
    Kknd
    JavaEvangelist
    [Avatar]

    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

    [WWW]
     
    Índice dos Fóruns » Assuntos gerais (Off-topic)
    Ir para:   
    Powered by JForum 2.1.8 © JForum Team