diff --git a/documentation/source/index.rst b/documentation/source/index.rst index dc136f4..0e2b3d1 100644 --- a/documentation/source/index.rst +++ b/documentation/source/index.rst @@ -3,15 +3,26 @@ You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. -Welcome to pyMath's documentation! -================================== +Bienvenu dans la documentation de pyMath +======================================== -Contents: +pyMath est un ensemble de modules écris en Python qui vise à faciliter la conception d'exercices de math et leurs corrections. + +Il est séparer en 3 parties: + +- *calculus*: Cette partie gère les expressions mathématiques et leurs calculs. + +- *stat*: Cette partie gère la gestion de donnée (création et analyse) + +- *geometry*: (non faite) Cette partie gère la création de situations géométriques. + +Sommaire: .. toctree:: :maxdepth: 2 - tutorial + presentation_calculs + presentation_stat construction polynom code/pymath diff --git a/documentation/source/tutorial.rst b/documentation/source/presentation_calculs.rst similarity index 98% rename from documentation/source/tutorial.rst rename to documentation/source/presentation_calculs.rst index 005dd8e..7d0b3cd 100644 --- a/documentation/source/tutorial.rst +++ b/documentation/source/presentation_calculs.rst @@ -1,11 +1,7 @@ -Utilisation de pyMath -===================== +Présentation des outils de calculs de pyMath +============================================ -À quoi sert pyMath? -------------------- - -pyMath est un module python qui permet la manipulation d'expressions -mathématiques. Voici ce qu'il est capable de faire: +La partie calcul de pyMath est un module python qui permet la manipulation d'expressions mathématiques. Voici ce qu'il est capable de faire: - *Calculer comme un collégien*: Pour faire de la correction automatisé d'exercice, un logiciel de calcul formel ne suffit pas. Si les étapes diff --git a/documentation/source/presentation_stat.rst b/documentation/source/presentation_stat.rst new file mode 100644 index 0000000..f0f035a --- /dev/null +++ b/documentation/source/presentation_stat.rst @@ -0,0 +1,110 @@ +Présentation des outils de statistiques de pyMath +================================================= + +La partie statistique de pyMath est un module python qui permet generer des données statistiques et de les analyser pour un niveau collège - début de lycée. + +Analyse des données +------------------- + +La gestion des données statistiques se fait à travers 2 classes: *Dataset* (ensemble de données) et *WeightedDataset* (ensemble de données pondérées). + + .. code-block:: python + + >>> from pytmath import Dataset, WeightedDataset + >>> d = Dataset([1, 3, 4, 2, 4, 1], data_name = "Points") + >>> print(d) + [1, 3, 4, 2, 4, 1] + >>> w = WeightedDataset({1:3, 2:4, 3:5}, data_name = "Nombre de frères", weight_name = "Effectifs" ) + >>> print(w) + {1:3, 2:4, 3:5} + +Le passage du *Dataset* à *WeightedDataset* revient à compter les effectifs de chaque classe (il n'est pas encore possible de définir des classes sous forme d'intervals). + + .. code-block:: python + + >>> W = WeightedDataset(d) + >>> print(W) + {1: 2, 2: 1, 3: 1, 4: 2} + +Une fois les données définies, on peut calculer les indicateurs statistiques suivants: + +- L'effectif total (ou la pondération totale): + + .. code-block:: python + + >>> d.effectif_total() + 6 + >>> w.effectif_total() + 12 + +- La somme: + + .. code-block:: python + + >>> d.sum() + 15 + >>> w.sum() #/!\ c'est une somme pondérée + 26 + +- La moyenne: + + .. code-block:: python + + >>> d.mean() + 2.5 + >>> w.mean() + 2.17 + +- La variance et l'écart-type (sd): + + .. code-block:: python + + >>> d.variance() + 1.58 + >>> d.sd() + 1.26 + >>> w.variance() + 0.64 + >>> w.sd() + 0.8 + +- Les quartiles et les valeurs extrèmes: + + .. code-block:: python + + >>> max(d) + 4 + >>> d.quartiles() #(min, Q1, Me, Q3, Max) + (1, 3, 3, 4, 4) + >>> d.quartile(1) # Q1 + 3 + >>> min(w) + 1 + >>> w.quartiles() #(min, Q1, Me, Q3, Max) + (1, 1.5, 2, 3, 3) + >>> w.quartile(2) #Me + 2 + +Enfin une fonction rudimentaire a été ajouté pour présenter ces données dans un tableau formaté pour Latex + + .. code-block:: python + + >>> print(d.tabular_latex()) + \begin{tabular}{|c|*{6}{c|}} + \hline + 1 & 3 & 4 & 2 & 4 & 1 \\ + \hline + \end{tabular} + >>> print(w.tabular_latex()) + \begin{tabular}{|c|*{3}{c|}} + \hline + Nombre de frères & 1 & 2 & 3 \\ + \hline + Effectifs & 3 & 4 & 5 \\ + \hline + \end{tabular} + + +Générer des données aléatoirement +--------------------------------- +