Um parâmetro ajustado sem barra de erro está incompleto. Veremos como o curve_fit funciona, o que a matriz de covariância diz sobre a incerteza e a correlação dos parâmetros, e por que linearizar os dados para ajustar pode destruir o resultado, como em Lineweaver-Burk.
Maximizar só a conversão de um reator empurra temperatura e tempo para o limite, e essa é a resposta certa para a pergunta errada. Quatro problemas reais com scipy.optimize: o reator, o alcance de um projétil com arrasto, uma viga com três restrições e um mix de produção.
Derivar e igualar a zero resolve a otimização de livro-texto. Com várias variáveis, restrições ou função sem derivada tratável, a conta trava. Veremos minimize, SLSQP e bounds do scipy.optimize, os mínimos locais e a busca global com differential_evolution.
A fórmula clássica do período do pêndulo só vale para oscilações pequenas, e a equação exata não tem solução em forma fechada. Com o solve_ivp do SciPy, medimos o período de verdade e resolvemos sistemas rígidos, Lotka-Volterra, queda com arrasto e reações consecutivas.
A função gaussiana não tem primitiva elementar, e isso é um teorema de Liouville. Quando a primitiva não existe, ou só há uma tabela de medições, o caminho é numérico: quad, trapézio e Simpson, do scipy.integrate, com os cuidados que cada um pede.
A temperatura do reator está subindo rápido demais? A pergunta é uma derivada, mas só há números numa tabela. Veremos diferenças finitas, numpy.gradient e scipy.differentiate, e por que diminuir o passo nem sempre melhora a derivada, por causa do arredondamento e do ruído.
Dados experimentais raramente caem sobre uma curva. Veremos como o NumPy ajusta polinômios a dados com ruído, o que o SymPy não faz, por que extrapolar é perigoso e por que o fenômeno de Runge vem dos nós igualmente espaçados, e não do grau alto.
Guardados em float64, os coeficientes do polinômio de Wilkinson já não devolvem as raízes de 1 a 20: duas delas viram um par complexo. Antes de chegar a ele, vemos raízes, derivadas, integrais e divisão com numpy.polynomial e a armadilha da ordem dos coeficientes.
Do pH de um ácido fraco ao volume de um gás real e ao fator de atrito de uma tubulação: três equações que a química e a engenharia usam no dia a dia e que só têm solução numérica útil. Resolvemos as três com brentq e numpy.roots e reconstruímos o diagrama de Moody.
Onde está o Cometa Halley numa data qualquer? A resposta exige resolver a equação de Kepler, que não tem forma fechada. Com newton e brentq, do SciPy, localizamos o cometa, tornamos visível a lei das áreas e calculamos o alcance de um projétil com resistência do ar.
Na equação de Kepler, a incógnita aparece dentro e fora de um seno, e nenhuma álgebra a isola. Para casos assim, o SciPy aproxima a raiz. Veremos bisseção e brentq, o método de Newton e por que ele pode falhar, e os sistemas não lineares com fsolve e root.
A maioria das equações, integrais e equações diferenciais de problemas reais não tem solução em forma fechada, e o SymPy não as resolve. Esta série de 13 artigos mostra como NumPy e SciPy atacam esses problemas: raízes, polinômios, cálculo numérico, otimização e FFT.
Testar se um elemento está num set leva tempo constante em média, e numa lista o tempo cresce com o tamanho. Veremos como a teoria dos conjuntos vira código em Python: set e frozenset, compreensão, pertinência e inclusão, união, interseção e diferença, hash e aplicações práticas.
Métodos de Monte Carlo são algoritmos computacionais que se baseiam em amostras aleatórias para obter resultados numéricos. Neste artigo, veremos como podemos obter o valor de pi com esses métodos.
Um bom tempo do estudo de cálculo é destinado às chamadas séries infinitas. Mas, afinal, o que são séries infinitas? E qual sua relação com o paradoxo de Aquiles e a tartaruga, um dos chamados paradoxos de Zenão de Eleia, filósofo grego? Qual a relação com quântica e o princípio da incerteza? E onde entra Python nisto tudo? É o que descobriremos neste artigo.
Já escrevemos aqui no site sobre os conceitos de limite e derivada e como podemos fazer contas relacionadas com Python. Seguindo na nossa jornada de cálculo, neste artigo veremos como trabalhar com integrais com o SymPy e o SciPy, pacotes da linguagem Python. No caminho, teremos algumas noções de métodos numéricos.
Sabia que a função max do Python possui muitas opções e formas de uso que pouca gente conhece? Neste post veremos diferentes formas de utilizar a função max em Python.
Recentemente vi um excelente vídeo sobre boas práticas de programação. Mas pode ser ampliado para boas práticas de uma forma geral, para qualquer carreira. E, no fundo, é um vídeo sobre comunicação, como vou mostrar neste artigo.
Engenheiros e cientistas sempre buscam extrair o máximo de desempenho de seus equipamentos e projetos com o mínimo de custo. Essa busca dá origem aos chamados problemas de otimização. Neste artigo, veremos como podemos utilizar a linguagem Python, com auxílio do pacote SymPy, na resolução de tais problemas.
Passamos parte considerável do tempo lidando com strings, então é importante sabermos como apresentá-las da forma desejada. É o que veremos neste artigo com diversos exemplos.
O início dos cursos de cálculo costuma ser abstrato pelo conceito de limite. Mas, logo passa a ser mais palpável com a introdução do conceito de derivada, que possui diversas aplicações práticas evidentes. Neste artigo, veremos como trabalhar com derivadas com o SymPy, pacote da linguagem Python.
O conceito de limite é o mais importante dentro do estudo de cálculo. Diversos outros conceitos e ideias se baseiam na definição de limite. Neste artigo, veremos como podemos achar o limite de funções usando o SymPy e como este pacote pode ser um auxílio didático no estudo de cálculo.
Números complexos são fascinantes e há muitas aplicações práticas. Neste artigo, veremos como a linguagem Python lida com números complexos nativamente e como o pacote SymPy amplia o poder da linguagem.
O que ondas do mar, bolhas de sabão e DNA têm em comum? É o que mostro neste artigo, com a ajuda do Python. Veremos a relação de tais assuntos com funções trigonométricas.
Em programação, a palavra “lógica” pode se referir ou ao processo de elaboração de um algoritmo, ou a estruturas condicionais da linguagem, ou a operadores lógicos como E e OU. Nos dois últimos casos, estamos dentro da chamada lógica matemática.
Neste artigo veremos como fazer gráficos com SymPy e Matplotlib. Usualmente quando se fala de SymPy focamos na parte relacionada à resolução de problemas de cálculos matemáticos. Mas muitos esquecem que a biblioteca possui alguns recursos básicos para construção de gráficos, que veremos neste artigo.
Grande parte do estudo de matemática em níveis mais fundamentais é dedicada a resoluções de equações e sistemas de equações. Neste artigo veremos como utilizar o SymPy para essas tarefas de forma rápida e intuitiva.
O Git pode ser uma ferramenta um pouco assustadora para iniciantes devido ao grande número de comandos e possibilidades. Neste artigo, desmistificaremos os principais aspectos do Git de forma a possibilitar colaborar em qualquer projeto. O famoso fluxo de forks e pull requests, popularizado pelo GitHub, será abordado.
Você já viu o termo “yield from” em algum código Python e ficou imaginando o que era? Nesse artigo vamos nos aprofundar ainda mais em geradores e entender, com exemplos, o que significa o “yield from” e como podemos utilizá-lo para deixar nossos códigos ainda mais eficientes.
Você sabia que é possível criar uma sequência infinita sem ter problemas de memória e ainda consumir essa sequência da forma que você quiser? Hoje veremos um método específico do módulo itertools, o islice, que é excelente para nosso propósito. Aprenderemos a utilizá-lo com o exemplo da série de Fibonacci.
Neste artigo, vamos ver como funcionam as funções all e any, presentes numa instalação padrão da linguagem Python. E, mais, vamos ver a utilidade de cada uma dessas funções e cuidados ao utilizá-las com base em uma análise de complexidade.
Você sabe a diferença entre uma função “normal” e uma função geradora em Python? Qual a diferença entre o return de uma função usual e o yield de um gerador? Nesse artigo responderemos essas perguntas e ainda nos aprofundaremos em alguns aspectos da linguagem. Veremos como geradores em Python podem tornar seu código até 1000 vezes mais rápidos.
Os operadores and e or são operadores em curto-circuito, ou seja, o segundo operando só é avaliado se o resultado não puder ser determinado com base apenas no valor do primeiro operando. Confuso? Vamos ver alguns exemplos neste artigo.
Vamos ver como estruturar um pequeno projeto Python com auxílio de um exercício bem simples. Vou mostrar os passos para configurar qualquer editor ou IDE que você use, como trabalhar com controle de versão, no caso Git, e como desenvolver com testes (TDD – Test Driven Development).
Veremos as vantagens de utilizar um interpretador Python interativo em comparação com o interpretador padrão da linguagem. O IPython pode auxiliar nos estudos da linguagem e na produção de conteúdo associado a Python.
Conhecer expressões regulares, ou simplesmente regex, é muito útil, mas costuma ser um pouco assustador aos olhos de um iniciante. Neste artigo abordaremos o básico de regex utilizando Python
Neste artigo iremos detalhar como obter gráficos visualmente elegantes e que apresentam corretamente unidades em seus eixos. Combinaremos as bibliotecas pint, numpy e matplotlib.
Sempre que trabalhamos com medidas e com dados experimentais, precisamos expressar nossos valores com as respectivas unidades. Neste artigo, veremos uma biblioteca Python para trabalhar com unidades e o que isso tem a ver com cerveja.
Nesse artigo veremos como usar ambientes virtuais no gerenciamento de projetos Python. Veremos que é possível ter diferentes versões de Python, uma para cada projeto, e também como é feito o controle de pacotes e dependências.
Você já deve ter ouvido falar em data science ou machine learning. E, eventualmente, já ouviu falar ou teve contato com as linguagens R ou Python. O artigo de hoje é sobre o Anaconda, uma distribuição que visa facilitar a instalação e o gerenciamento de ferramentas dessas duas linguagens, visando especialmente aplicações na área científica.