Foto de Daniela I.
Daniela há 4 anos
Enviada pelo
Site

Cálculo numérico - método de newton

Gostaria de saber se alguém pode me ajudar com o código em Python para resolução de sistemas não lineares pelo Método de Newton com ciritério de parada de erro < 0.01. Estou fazendo meu programa porém ele não está rodando e não encontro o erro, alguém poderia ajudar?

Professor Jefferson G.
Identidade verificada
  • CPF verificado
  • E-mail verificado
Respondeu há 4 anos
Contatar Jefferson

Olá, aqui está um código exemplo do método de Newton-Raphson para a função f(x) = x^2 + x - 3:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

# Definição da função analisada
def f(x):
    return x**2 + x - 3.0

# Definição da primeira derivada da função f(x)
def derivada1_f(x):
    return 2.0*x + 1.0

# Definição da segunda derivada da função f(x)
def derivada2_f(x):
    return 2.0

# Método de Newton-Raphson
def newton_raphson(x0, error):
    if f(x0) * derivada2_f(x0) <= 0:
        print("Condição de convergência não satisfeita: f(x0)*f''(x0) <= 0")
        return None
    while True:
        x1 = x0 - f(x0)/derivada1_f(x0)
        print("x = {:1.14e}, error = {:1.14e}".format(x1, abs(x1 - x0)))
        if abs(x1 - x0) <= error:
            break
        x0 = x1
    return x1

if __name__ == "__main__":
    newton_raphson(10.0, 1e-3)

Um professor já respondeu

Envie você também uma dúvida grátis
Ver resposta

Envie uma dúvida grátis

Resposta na hora da Minerva IA e de professores particulares
Enviar dúvida
Minerva IA
do Profes
Respostas na hora
100% no WhatsApp
Envie suas dúvidas pelo App. Baixe agora
Precisa de outra solução? Conheça
Aulas particulares Encontre um professor para combinar e agendar aulas particulares Buscar professor