https://github.com/viniciusdutra314/labifsc2
Biblioteca usada pela graduação do IFSC para os laboratórios de física
https://github.com/viniciusdutra314/labifsc2
error-propagation monte-carlo physics python
Last synced: about 1 year ago
JSON representation
Biblioteca usada pela graduação do IFSC para os laboratórios de física
- Host: GitHub
- URL: https://github.com/viniciusdutra314/labifsc2
- Owner: viniciusdutra314
- License: gpl-3.0
- Created: 2023-09-15T17:25:47.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2025-01-30T12:55:51.000Z (over 1 year ago)
- Last Synced: 2025-03-21T20:45:51.764Z (over 1 year ago)
- Topics: error-propagation, monte-carlo, physics, python
- Language: Python
- Homepage: https://labifsc2.readthedocs.io/pt-br/latest/
- Size: 753 KB
- Stars: 10
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# **LabIFSC2: Cálculos de laboratório com Python**
## Faça propagação de incertezas e conversão de medidas **automaticamente**!
Eis um exemplo simples de uso da biblioteca. Estamos estimando a gravidade da Terra baseado no período de um pêndulo pela conhecida fórmula $T=2\pi \sqrt{\frac{L}{g}}$:
```py title="Estimativa da gravidade (com LabIFSC2)"
from LabIFSC2 import *
pi=constantes.pi
L=Medida(15,'cm',0.1)
T=Medida(780,'ms',1)
gravidade=(4*pi**2)*L/T**2
print(f"{gravidade:si}") #(9,73 ± 0,07) m/s²
print(f"{gravidade:si_latex}")
'''(9,73 \, \pm \, 0,07) \,
\frac{\mathrm{m}}{\mathrm{s}^{2}}'''
```
$g=(9,73 \pm 0,07) \frac{\mathrm{m}}{\mathrm{s}^{2}}$
Podemos copiar o resultado em formato $\LaTeX$ e adicioná-lo em nosso relatório!
## O que há de novo?
O LabIFSC2 é uma modernização da biblioteca [LabIFSC](https://github.com/gjvnq/LabIFSC). Os desenvolvedores do LabIFSC2 não são os mesmos do LabIFSC, porém, gostaríamos de deixar aqui nosso agradecimento por terem concebido uma solução tão elegante que agilizou a graduação de várias pessoas.
Mesmo que a interface seja intencionalmente parecida, a implementação é totalmente nova. Para resumir as melhorias, estamos fazendo esta tabela:
| Feature | LabIFSC | LabIFSC2 |
| ------------------------- | --------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
| Propagação de erros | Linear | Arbitrária (Monte Carlo) |
| Regressões | Linear | Linear, polinomial, exponencial e lei de potência |
| Unidades | Implementação autoral | Baseado no famoso [pint](https://pint.readthedocs.io/) |
| Constantes da natureza | ❌ | +350 definidas pela [CODATA(2022)](https://codata.org/initiatives/data-science-and-stewardship/fundamental-physical-constants/) |
| Operações com arrays | ❌ | Suportadas pelo Numpy |
| Segurança de tipos (mypy) | ❌ | ✅ |
| Docstrings em funções | ❌ | ✅ |
| Suporte | ❌ | Ativo |
| Documentação | Parcial | Completa |
## Instalação
A biblioteca está disponível no PyPI (Python Package Index), então ela pode ser instalada facilmente usando pip. Atualmente, é necessário ter uma versão do Python entre 3.10 e 3.12. Para descobrir a versão do seu Python, digite `python --version` no terminal:
```bash
pip install LabIFSC2
```
## Documentação Completa
A documentação completa se encontra no site [readthedocs](https://labifsc2.readthedocs.io)