You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
O LabIFSC2 é uma modernização da antiga biblioteca [LabIFSC](https://github.com/gjvnq/LabIFSC), os desenvolvedores do LabIFSC2 não são os mesmos, porém queríamos deixar aqui nosso agradecimento por terem concebido uma solução tão elegante que agilizou a graduação de várias pessoas.
22
+
23
+
24
+
Mesmo que a interface seja intencionalmente parecida a implementação é totalmente nova, para fazermos um resumo das melhorias estamos fazendo essa tabela.
| Propagação de erros | Linear | Arbitrária (Monte Carlo) |
30
+
| Regressões | Linear | Linear,polinomial,exponencial e lei de potência |
31
+
| Unidades | Implementação autoral | Baseado no famoso [pint](https://pint.readthedocs.io/)
32
+
| Constantes da natureza| ❌ | +350 definidas pela [CODATA(2022)](https://codata.org/initiatives/data-science-and-stewardship/fundamental-physical-constants/)
33
+
| Operações com arrays| ❌ | Suportadas pelo [Numpy](numpy.org)
34
+
| Segurança de tipos (mypy)| ❌ | ✅
35
+
| Docstrings em funções | ❌ | ✅
36
+
| Suporte | ❌ | Ativo |
37
+
| Documentação | Parcial | Completa |
38
+
39
+
19
40
## Instalação
20
41
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 igual ou superior a 3.10, para descobrir a versão do seu python digite `python --version` no terminal
21
42
```bash
@@ -24,7 +45,7 @@ pip install LabIFSC2
24
45
Recomendamos você instalar o LabIFSC2 é um ambiente virtual, caso não saiba o que é isso, por favor
25
46
leia essa [secção](_instalacao.md)
26
47
27
-
## Escopo de aplicação
48
+
## Escopo
28
49
A biblioteca tem a intenção de agilizar cálculos dos laboratórios de física do IFSC da USP de São Carlos:
29
50
30
51
- Laboratório de Física I
@@ -36,24 +57,34 @@ A biblioteca tem a intenção de agilizar cálculos dos laboratórios de física
36
57
37
58
Os critérios de comparação e formatação são baseadas na última versão da [apostila I](https://www.ifsc.usp.br/lef/index.php/apostilas/) atualmente a versão 2017 (caso já exista uma versão mais recente por favor nós avise).
38
59
60
+
!!! warning
61
+
A propagação de incertezas recomendadas pela apostila 1 é somente uma aproximação linear do que seria
62
+
a propagação exata, por generalidade e um certo preciosismo do autor, o LabIFSC2 realiza uma propagação
63
+
por Monte Carlo que seria o que computacionalmente temos o mais próximo de exata.
64
+
65
+
Por isso, em diversos casos, o LabIFSC (que implementa exatamente a apostila), dará incertezas diferentes do
66
+
LabIFSC2, geralmente incertezas maiores. Acredito que a maioria dos professores não se importaram com isso,
67
+
visto que é um método mais correto, mas é sempre importante estar ciente disso.
68
+
69
+
39
70
É óbvio que a biblioteca se aplica a outros laboratórios e de outras universidades (principalmente por ter propagação de erros por Monte Carlo).
40
-
**Só por favor fique atento que talvez certas convenções sejam diferentes**
71
+
**Só por favor fique atento que talvez certas convenções ou métodos sejam diferentes**
41
72
42
-
## O que há de novo?
43
-
O LabIFSC2 é uma modernização da antiga biblioteca [LabIFSC](https://github.com/gjvnq/LabIFSC), os desenvolvedores do LabIFSC2 não são os mesmos, porém queríamos deixar aqui nosso agradecimento por terem concebido uma solução tão elegante que agilizou a graduação de várias pessoas.
73
+
## Recomendação pessoal
74
+
Eu fiz o laboratório I, somente com calculadora científica, convertendo unidades, propagando os erros derivando na mão, mínimos
75
+
quadrados usando tabelas e papel milimetrado.
44
76
77
+
Somente no laboratório II, devido ao [Breno Pelegrin](https://github.com/brenopelegrin) eu comecei a me converter ao mundo da programação, e fazer o que eu acho acredito ser o mais fácil, relatórios em LaTeX (overleaf) e
78
+
cálculos em python (Google colab para fazer em várias pessoas).
45
79
46
-
Mesmo que a interface seja intencionalmente parecida a implementação é totalmente nova, para fazermos um resumo das melhorias estamos fazendo essa tabela.
80
+
Eu acredito que o meu primeiro semestre manual foi muito importante para a minha real compreensão de como esses cálculos
81
+
são feitos, **eu sei como essas coisas funcionam**, tanto que eu consegui fazer uma biblioteca que implementa esses cálculos
82
+
quase que do zero.
47
83
84
+
A minha recomendação pessoal é que você NÃO utilize essa biblioteca ao menos que tenha uma noção de como ela funciona,
85
+
eu não quero que por exemplo as funções `regressao_linear`,`comparar_medidas`,`intervalo_de_confianca`... Sejam coisas
| Propagação de erros | Linear | Arbitrária (Monte Carlo) |
52
-
| Regressões | Linear | Linear,polinomial,exponencial e lei de potência |
53
-
| Unidades | Implementação autoral | Baseado no famoso [pint](https://pint.readthedocs.io/)
54
-
| Constantes da natureza| ❌ | +350 definidas pela [CODATA(2022)](https://codata.org/initiatives/data-science-and-stewardship/fundamental-physical-constants/)
55
-
| Operações com arrays| ❌ | Suportadas pelo [Numpy](numpy.org)
56
-
| Segurança de tipos (mypy)| ❌ | ✅
57
-
| Docstrings em funções | ❌ | ✅
58
-
| Suporte | ❌ | Ativo |
59
-
| Documentação | Parcial | Completa |
88
+
Eu gostaria que ela fosse usada igual ao uso de uma calculadora para realizar operações com números de vários dígitos,
89
+
**certamente você sabe como multiplicar `134,5` e `0.215` na mão**, só que não faz sentido perder horas calculando essas coisas,
Copy file name to clipboardExpand all lines: docs/introducao.md
+31Lines changed: 31 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -49,6 +49,14 @@ Esse comportamento pode ser visto nesse exemplo, preste atenção nas incertezas
49
49
```py title="Cálculo de IMC"
50
50
--8<--"tests/test_doc_medida_lista.py:7:10"
51
51
```
52
+
## Medidas sem incerteza
53
+
É possível criar medidas com incerteza zero, nesse caso, a biblioteca somente realizará as
54
+
conversões de unidade. Isso é interessante para um conjunto grande de medidas em que a incerteza
55
+
é muito pequena, por exemplo, as medidas de voltagem de um osciloscópio, em que a precisão tempo
56
+
é enorme, é possível tratar os tempos como exatos, assim um grande ganho em performance é observado,
57
+
visto que
58
+
59
+
52
60
53
61
## Comparando Medidas
54
62
Se uma segunda pessoa afirmar que seu IMC é de (25 ± 0.1), podemos dizer que seus IMCs são equivalentes? Mesmo que \(25 \ne 24.5\), pela incerteza nas medidas podemos dizer que essa diferença está na margem de erro do experimento.
@@ -73,6 +81,18 @@ O critério usado é o da apostila:
73
81
74
82
Intuitivamente, a comparação é feita pelo quanto os valores nominais são diferentes e quanta incerteza temos nas medidas.
75
83
84
+
## Ordenando Medidas
85
+
Em alguns momentos nós queremos usar o `max` ou `min` de um conjunto de medidas, imagine que você quer por exemplo
86
+
determinar a voltagem/corrente máxima atingida por um circuito.
87
+
88
+
Mesmo que existam incertezas, geralmente o que você se refere como min,max é em relação ao valor nominal, então
89
+
a classe `Medida` implementa comparações < <= > >=, referentes aos valores nominais, assim é possível usar
90
+
funções do tipo `max`,`min` e `sort` de maneira direta.
91
+
92
+
```py
93
+
--8<--"tests/test_doc_sorted_list.py:5:13"
94
+
```
95
+
76
96
## Intervalo de Confiança
77
97
Como estamos falando de medidas experimentais, falamos de **intervalos** e não valores exatos. Objetos da classe `Medida` possuem um método chamado `intervalo_de_confiança`. Com ele, podemos especificar uma probabilidade `p` de estarmos representando os valores possíveis das Medidas.
78
98
@@ -94,6 +114,17 @@ Um exemplo concreto se encontra abaixo:
94
114
95
115
```py title="Conversão de unidades Medida"
96
116
--8<--"tests/test_doc_imc_cm.py:10:14"
117
+
118
+
```
119
+
120
+
121
+
## Dimensão
122
+
Como unidades só são uma característica do print de uma medida, e não algo intrínseco, uma forma independente de unidade
123
+
para caracterizar o que uma medida é de fato é sua dimensão. Uma velocidade por exemplo, independente se está em
124
+
\(km/h\) ou \(m/s\), é um comprimento divido por um tempo. Você pode acessar esse atributo com `medida.dimensao`
0 commit comments