Ir para conteúdo
Fórum Script Brasil
  • 0

Metodo da Secante


zondak

Pergunta

def pi_secante (f, x0, x1, epsilon, iterMax=50):
    if abs(f(x0)) <= epsilon:
        return(False, x0)
        print("k\t x.\t\t f(x)\t\t")
    for k in range (1,iterMax+1):
        x1 = x0-f(x0)/flin(x0)
        print("%d\t%f\t%f"%(k,x1,f(x1)))
        if abs(f(x1)) <= epsilon:
            return(False, x1)
        x0 = x1
    print ("O numero Máx de interações foi atingido")
    return(True,x1)

Eu sei que esse método é bem parecido com o do newton mas eu não encontro nenhum exemplo na internet da forma que eu quero, so resta alterar esse corpo do jeito certo para o método da secante. Se alguém poder me ajudar ficarei muito grato.

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Eu fiz assim:

def Secante(f,xat,xant,*args):
    """
    Primeiro argumento livre é o contador e o segundo é a tolerância. Se não for preenchido, tolerância é de 10⁻5
    e o contador máximo é 200
    """
    if not args:
        tol = 1e-5
        contador = 200
    elif len(args) == 1:
        tol = 1e-5
        contador = args[0]
    else:
        tol = args[1]
        contador = args[0]
    cont = 0
    tol = 1e-5
    while True:
        xsuc = xat - ((xat - xant)/(f(xat) - f(xant)))*f(xat)
        erro = abs((xsuc - xat)/xsuc)
        xant = xat
        xat = xsuc
        cont += 1
        if cont>contador:
            break
        if erro<tol:
            break
    return float('%.2f'%xat)

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...