·

Matemática ·

Introdução à Matemática Computacional

· 2023/2

Envie sua pergunta para a IA e receba a resposta na hora

Fazer Pergunta

Texto de pré-visualização

Importação das bibliotecas necessárias import numpy as np Importa a biblioteca numpy para operações numéricas import matplotlibpyplot as plt Importa a biblioteca matplotlib para plotar gráficos Método da Bisseção def bissecaof a b tol1e5 maxiter1000 iteracoes 0 Inicializa o contador de iterações erros Inicializa uma lista para armazenar os erros em cada iteração Loop principal do método da bisseção while iteracoes maxiter c a b 20 Calcula o ponto médio entre a e b Condição de saída Se a função for igual a zero no ponto médio ou a diferença entre a e b for menor que a tolerância if fc 0 or absa b 20 tol break Atualiza os limites a e b com base no sinal da função no ponto médio if npsignfc npsignfa a c else b c errosappendabsa b Armazena o erro atual na lista de erros iteracoes 1 Incrementa o contador de iterações return c erros Retorna a raiz encontrada e a lista de erros Método de Newton def newtonf df x tol1e5 maxiter1000 iteracoes 0 Inicializa o contador de iterações erros Inicializa uma lista para armazenar os erros em cada iteração Loop principal do método de Newton while iteracoes maxiter x1 x fx dfx Calcula a próxima iteração usando a fórmula de Newton erro absx1 x Calcula o erro entre a iteração atual e a próxima Condição de saída Se o erro for menor que a tolerância sai do loop if erro tol break x x1 Atualiza o valor de x para a próxima iteração errosappenderro Armazena o erro atual na lista de erros iteracoes 1 Incrementa o contador de iterações return x erros Retorna a raiz encontrada e a lista de erros Função para plotar os erros def ploterroserros pltfigurefigsize10 6 Configura o tamanho da figura pltploterros markero Plota os erros com marcadores o pltxlabelIterações Define o rótulo do eixo x pltylabelErro Define o rótulo do eixo y pltyscalelog Define a escala logarítmica no eixo y para melhor visualização pltshow Exibe o gráfico Definindo as funções e suas derivadas def f1x return x 22 Define a primeira função raiz única em x2 def df1x return 2x 2 Define a derivada da primeira função def f2x return x2 4 Define a segunda função raízes duplas em x2 e x2 def df2x return 2x Define a derivada da segunda função def f3x return x npcosx Define a terceira função função transcendental def df3x return 1 npsinx Define a derivada da terceira função Resolvendo as equações raiz1 erros1 bissecaof1 0 3 printRaiz encontrada pelo método da bisseção para f1 raiz1 ploterroserros1 raiz2 erros2 bissecaof2 0 3 printRaiz encontrada pelo método da bisseção para f2 raiz2 ploterroserros2 raiz3 erros3 newtonf3 df3 0 printRaiz encontrada pelo método de Newton para f3 raiz3 ploterroserros3