📘 Caderno de Revisão, Resumo Teórico e Problemas Resolvidos

📌 Sumário do MOC

  1. Modelagem Matemática (Cálculo Numérico, Python e Otimização)
  2. 1. Aritmética de Ponto Flutuante e Python Científico

Modelagem Matemática (Cálculo Numérico, Python e Otimização)

Navegação Rápida no Cofre

📍 Disciplina: Modelagem Matemática | 📚 MOC: 01 Matemática e Estatística | 🏠 Início: Hub Principal 📄 Apostilas Base:

  • Aritmética Computacional em Python
  • Sistemas de Equações Lineares e Ajuste de Curvas em Python
  • Integração Numérica em Python
  • Equações Diferenciais Ordinárias de 1a Ordem em Python
  • Bases de Otimização Com ms Excel

🧠 Parte 1: Guia Rápido de Revisão Teórica (Formulário de Bolso)

1. Aritmética de Ponto Flutuante e Python Científico

Um número em ponto flutuante normalizado na base com dígitos significativos na mantissa é representado por:

  • Não associatividade da adição: Em ponto flutuante com mantissa finita, quando . Ao somar um número muito pequeno a um número muito grande , o alinhamento de expoentes desloca a mantissa de para a direita, causando absorção (perda de dígitos significativos) após o arredondamento ou truncamento.
  • Cancelamento Catastrófico: Ocorre na subtração de dois números quase iguais, reduzindo drasticamente o número de dígitos significativos válidos.
  • List Comprehensions em Python:

Parâmetros de Projeto e Considerações Analíticas:

  • 2. Ajuste de Curvas por Mínimos Quadrados (MMQ)
  • 2.1 Regressão Linear Simples ()
  • 2.2 Linearização de Modelos Não Lineares
    1. Integração Numérica (Quadratura de Newton-Cotes e Romberg)

python import numpy as np from scipy.integrate import romberg, simpson from scipy.optimize import linprog

1. Verificação EDO de Euler (Questão 4 e Questão 10)

def euler(f, x0, y0, h, n_steps): x, y = x0, y0 for _ in range(n_steps): y = y + h * f(x, y) x = x + h return y

print(f”Q4 - Euler y(0.4): {euler(lambda x, y: y**2 - 3, 0.0, 3.0, 0.1, 4):.3f}”) print(f”Q10 - Euler y(1.0): {euler(lambda x, y: 2*y, 0.0, 3.0, 0.2, 5):.3f}“)

2. Verificação Integração de Simpson e Romberg (Questões 2, 3 e 5)

x_grid = np.linspace(0, 1, 11) print(f”Q3 - Simpson sen(x): {simpson(np.sin(x_grid), x=x_grid):.5f}“)

3. Verificação Ajuste Exponencial (Questão 7)

x_exp = np.array([-1.0, -0.9, -0.8, 0.0, 1.0, 2.0]) y_exp = np.array([6.01, 5.39, 4.80, 2.01, 0.65, 0.21]) m1, ln_m0 = np.polyfit(x_exp, np.log(y_exp), 1) m0 = np.exp(ln_m0) f_3_1 = m0 * (1 + np.exp(m1 * 3.1)) print(f”Q7 - m0={m0:.4f}, m1={m1:.4f} -> f(3.1)={f_3_1:.4f}”)