physique


Namephysique JSON
Version 0.6.0 PyPI version JSON
download
home_pagehttps://github.com/david-therincourt/physique
SummaryLibrairie Python pour les sciences physiques
upload_time2023-09-27 16:12:46
maintainer
docs_urlNone
authorDavid THERINCOURT
requires_python>=3.6
license
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Librairie Python pour la physique au lycée

## Installation

Lancer dans un terminal :

    pip install physique

Pour une mise à jour :

```python
pip install --upgrade physique
```

---

## Dépendances

Cette librairie se base principalement sur les librairies `numpy`, `matplotlib` et `scipy`

## Module `physique.modelisation`

Fonctions pour réaliser une modélisation d'une courbe du type `y=f(x)`.

### > Bases

`ajustement_lineaire(x, y)`

`ajustement_affine(x, y)`

`ajustement_parabolique(x, y)`

`ajustement_exponentielle_croissante(x, y)`

`ajustement_exponentielle_croissante_x0(x, y)`

`ajustement_exponentielle_decroissante(x, y)`

`ajustement_exponentielle_decroissante_x0(x, y)`

### > Réponses fréquentielles

`ajustement_transmittance_ordre1_passe_bas(f, T)`

`ajustement_gain_ordre1_passe_bas(f, G)`

`ajustement_dephasage_ordre1_passe_bas(f, phi)`

`ajustement_transmittance_ordre1_passe_haut(f, T)`

`ajustement_gain_ordre1_passe_haut(f, G)`

`ajustement_dephasage_ordre1_passe_haut(f, phi)`

`ajustement_transmittance_ordre2_passe_bas(f, T)`

`ajustement_transmittance_ordre2_passe_haut(f, T)`

`ajustement_transmittance_ordre2_passe_bande(f, T)`

`ajustement_gain_ordre2_passe_bande(f, G)`

### > Exemple

```python
import matplotlib.pyplot as plt
from physique.modelisation import ajustement_parabolique

x = [0.003,0.141,0.275,0.410,0.554,0.686,0.820,0.958,1.089,1.227,1.359,1.490,1.599,1.705,1.801]
y = [0.746,0.990,1.175,1.336,1.432,1.505,1.528,1.505,1.454,1.355,1.207,1.018,0.797,0.544,0.266]

a, b, c = ajustement_parabolique(x, y, plot_ax=plt)

plt.plot(x, y, '+', label="Mesures")
plt.legend(facecolor="linen")
plt.title("Trajectoire d'un ballon")
plt.xlabel("x (m)")
plt.ylabel("y (m)")
plt.grid()
plt.show()
```

![](https://david-therincourt.fr/python/pypi-physique/exemple_1.png)

L'option `plot_ax` trace la courbe du modèle dans le repère (`axes`) indiqué. L'étiquette (`label`) du modèle donne le résultat de la modélisation dans la légende !

---

## Module `physique.csv`

Module d'importation de tableau de données au format CSV à partir des logiciels Aviméca3, Regavi, ...

#### > Fonctions disponibles

`load_txt(fileName)`

`load_avimeca3_txt(fileName)`  

`load_regavi_txt(fileName)`

`load_regressi_txt(fileName)`

`load_regressi_csv(fileName)`

`load_oscillo_csv(filename)`

`load_ltspice_csv(filename)`

`save_txt(data, fileName)`

#### > Exemple

```python
import matplotlib.pyplot as plt
from physique.csv import load_avimeca3_txt

t, x, y = load_avimeca3_txt('data.txt')

plt.plot(x,y,'.')
plt.title("Trajectoire d'un ballon")
plt.xlabel('x (m)')
plt.ylabel('y (m)')
plt.grid()
plt.show()
```

Le fichier `data.txt` a été exporté du logiciel Avimeca 3 à partir d'un exemple !

![](https://david-therincourt.fr/python/pypi-physique/exemple_2.png)

---

## Module `physique.signal`

Module Module pour le traitement des signaux.

### > Fonctions disponibles

`derive(y, t)`

`integrale(y, t, tmin, tmax)`

`spectre_amplitude(y, t, T)`

`spectre_RMS(y, t, T)`

`spectre_RMS_dBV(y, t, T)`

### > Exemple

```python
import numpy as np
import matplotlib.pyplot as plt
from physique.csv import load_oscillo_csv
from physique.signal import integrale

t, u = load_oscillo_csv('scope.csv')

f = 125
T = 1/f
aire = integrale(u, t, 0, T, plot_ax=plt)
moy = aire/T

plt.plot(t, u)
plt.axhline(moy, ls="--", color="C3")
plt.text(0.65*T, moy+0.2, "Moy = {:.2f} V".format(moy), color="C3")
plt.title("Valeur moyenne d'un signal périodique")
plt.xlabel("t (s)")
plt.ylabel("u (V)")
plt.grid()
plt.show()
```

![](https://david-therincourt.fr/python/pypi-physique/exemple_3.png)

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/david-therincourt/physique",
    "name": "physique",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": "",
    "keywords": "",
    "author": "David THERINCOURT",
    "author_email": "dtherincourt@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/ee/2d/ed9e56560f3a564a584128446317970e8dabe2f3a125c5a8b1338a29330d/physique-0.6.0.tar.gz",
    "platform": null,
    "description": "# Librairie Python pour la physique au lyc\u00e9e\n\n## Installation\n\nLancer dans un terminal :\n\n    pip install physique\n\nPour une mise \u00e0 jour :\n\n```python\npip install --upgrade physique\n```\n\n---\n\n## D\u00e9pendances\n\nCette librairie se base principalement sur les librairies `numpy`, `matplotlib` et `scipy`\n\n## Module `physique.modelisation`\n\nFonctions pour r\u00e9aliser une mod\u00e9lisation d'une courbe du type `y=f(x)`.\n\n### > Bases\n\n`ajustement_lineaire(x, y)`\n\n`ajustement_affine(x, y)`\n\n`ajustement_parabolique(x, y)`\n\n`ajustement_exponentielle_croissante(x, y)`\n\n`ajustement_exponentielle_croissante_x0(x, y)`\n\n`ajustement_exponentielle_decroissante(x, y)`\n\n`ajustement_exponentielle_decroissante_x0(x, y)`\n\n### > R\u00e9ponses fr\u00e9quentielles\n\n`ajustement_transmittance_ordre1_passe_bas(f, T)`\n\n`ajustement_gain_ordre1_passe_bas(f, G)`\n\n`ajustement_dephasage_ordre1_passe_bas(f, phi)`\n\n`ajustement_transmittance_ordre1_passe_haut(f, T)`\n\n`ajustement_gain_ordre1_passe_haut(f, G)`\n\n`ajustement_dephasage_ordre1_passe_haut(f, phi)`\n\n`ajustement_transmittance_ordre2_passe_bas(f, T)`\n\n`ajustement_transmittance_ordre2_passe_haut(f, T)`\n\n`ajustement_transmittance_ordre2_passe_bande(f, T)`\n\n`ajustement_gain_ordre2_passe_bande(f, G)`\n\n### > Exemple\n\n```python\nimport matplotlib.pyplot as plt\nfrom physique.modelisation import ajustement_parabolique\n\nx = [0.003,0.141,0.275,0.410,0.554,0.686,0.820,0.958,1.089,1.227,1.359,1.490,1.599,1.705,1.801]\ny = [0.746,0.990,1.175,1.336,1.432,1.505,1.528,1.505,1.454,1.355,1.207,1.018,0.797,0.544,0.266]\n\na, b, c = ajustement_parabolique(x, y, plot_ax=plt)\n\nplt.plot(x, y, '+', label=\"Mesures\")\nplt.legend(facecolor=\"linen\")\nplt.title(\"Trajectoire d'un ballon\")\nplt.xlabel(\"x (m)\")\nplt.ylabel(\"y (m)\")\nplt.grid()\nplt.show()\n```\n\n![](https://david-therincourt.fr/python/pypi-physique/exemple_1.png)\n\nL'option `plot_ax` trace la courbe du mod\u00e8le dans le rep\u00e8re (`axes`) indiqu\u00e9. L'\u00e9tiquette (`label`) du mod\u00e8le donne le r\u00e9sultat de la mod\u00e9lisation dans la l\u00e9gende !\n\n---\n\n## Module `physique.csv`\n\nModule d'importation de tableau de donn\u00e9es au format CSV \u00e0 partir des logiciels Avim\u00e9ca3, Regavi, ...\n\n#### > Fonctions disponibles\n\n`load_txt(fileName)`\n\n`load_avimeca3_txt(fileName)`  \n\n`load_regavi_txt(fileName)`\n\n`load_regressi_txt(fileName)`\n\n`load_regressi_csv(fileName)`\n\n`load_oscillo_csv(filename)`\n\n`load_ltspice_csv(filename)`\n\n`save_txt(data, fileName)`\n\n#### > Exemple\n\n```python\nimport matplotlib.pyplot as plt\nfrom physique.csv import load_avimeca3_txt\n\nt, x, y = load_avimeca3_txt('data.txt')\n\nplt.plot(x,y,'.')\nplt.title(\"Trajectoire d'un ballon\")\nplt.xlabel('x (m)')\nplt.ylabel('y (m)')\nplt.grid()\nplt.show()\n```\n\nLe fichier `data.txt` a \u00e9t\u00e9 export\u00e9 du logiciel Avimeca 3 \u00e0 partir d'un exemple !\n\n![](https://david-therincourt.fr/python/pypi-physique/exemple_2.png)\n\n---\n\n## Module `physique.signal`\n\nModule Module pour le traitement des signaux.\n\n### > Fonctions disponibles\n\n`derive(y, t)`\n\n`integrale(y, t, tmin, tmax)`\n\n`spectre_amplitude(y, t, T)`\n\n`spectre_RMS(y, t, T)`\n\n`spectre_RMS_dBV(y, t, T)`\n\n### > Exemple\n\n```python\nimport numpy as np\nimport matplotlib.pyplot as plt\nfrom physique.csv import load_oscillo_csv\nfrom physique.signal import integrale\n\nt, u = load_oscillo_csv('scope.csv')\n\nf = 125\nT = 1/f\naire = integrale(u, t, 0, T, plot_ax=plt)\nmoy = aire/T\n\nplt.plot(t, u)\nplt.axhline(moy, ls=\"--\", color=\"C3\")\nplt.text(0.65*T, moy+0.2, \"Moy = {:.2f} V\".format(moy), color=\"C3\")\nplt.title(\"Valeur moyenne d'un signal p\u00e9riodique\")\nplt.xlabel(\"t (s)\")\nplt.ylabel(\"u (V)\")\nplt.grid()\nplt.show()\n```\n\n![](https://david-therincourt.fr/python/pypi-physique/exemple_3.png)\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "Librairie Python pour les sciences physiques",
    "version": "0.6.0",
    "project_urls": {
        "Homepage": "https://github.com/david-therincourt/physique"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4e0b507200118a701786fe37ce1b2a8aad4640cd4cdbe36284254088a30a3eed",
                "md5": "f87f1877c0673f47f2a88af1da25104c",
                "sha256": "0174b35f92120bf48e8c45e5a4d850f08c78565dee89208a91149568547d3887"
            },
            "downloads": -1,
            "filename": "physique-0.6.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "f87f1877c0673f47f2a88af1da25104c",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 15101,
            "upload_time": "2023-09-27T16:12:44",
            "upload_time_iso_8601": "2023-09-27T16:12:44.344856Z",
            "url": "https://files.pythonhosted.org/packages/4e/0b/507200118a701786fe37ce1b2a8aad4640cd4cdbe36284254088a30a3eed/physique-0.6.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ee2ded9e56560f3a564a584128446317970e8dabe2f3a125c5a8b1338a29330d",
                "md5": "69cbb38d64056c94f9cb2b023dae2be9",
                "sha256": "ded31a45588e666bc2c5a1f4128a7c07fb5ddabc0b0b6fb5c232fcd7bb0844fc"
            },
            "downloads": -1,
            "filename": "physique-0.6.0.tar.gz",
            "has_sig": false,
            "md5_digest": "69cbb38d64056c94f9cb2b023dae2be9",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 12562,
            "upload_time": "2023-09-27T16:12:46",
            "upload_time_iso_8601": "2023-09-27T16:12:46.743402Z",
            "url": "https://files.pythonhosted.org/packages/ee/2d/ed9e56560f3a564a584128446317970e8dabe2f3a125c5a8b1338a29330d/physique-0.6.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-09-27 16:12:46",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "david-therincourt",
    "github_project": "physique",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "physique"
}
        
Elapsed time: 0.24305s