{ "cells": [ { "cell_type": "markdown", "id": "1ffc41af-64bc-4816-9712-7e1c309ce303", "metadata": {}, "source": [ "# L’équation réduite d’une droite" ] }, { "cell_type": "markdown", "id": "96863e53-700d-4eb3-87a6-5ab659eb391a", "metadata": {}, "source": [ "L’objectif de cet exercice est de simplement calculer l’équation réduite d’une droite à partir de deux points connus." ] }, { "cell_type": "markdown", "id": "8ee244f7-e0ae-493c-88b4-c35b9edc200a", "metadata": {}, "source": [ "## Les formules à connaître" ] }, { "cell_type": "markdown", "id": "70d4797a-53c7-4e19-9560-4f89723a1721", "metadata": {}, "source": [ "**L’équation réduite d’une droite :**\n", "$$y = b + mx$$\n", "\n", "**Le calcul du coefficient directeur :**\n", "$$m = \\frac{\\Delta y}{\\Delta x}$$\n", "\n", "**Le calcul de l’ordonnée à l’origine :**\n", "$$b = y - mx$$" ] }, { "cell_type": "markdown", "id": "aaba8c55-4864-4034-9eff-5a35662975dc", "metadata": {}, "source": [ "## Visualisation du problème" ] }, { "cell_type": "markdown", "id": "284863a0-9d22-405e-b6d9-42f0fa0b6d10", "metadata": {}, "source": [ "Avant de commencer, chargez les librairies nécessaires :" ] }, { "cell_type": "code", "execution_count": null, "id": "312ef59e-94fc-4149-a672-ee52b165b8ce", "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import seaborn as sns" ] }, { "cell_type": "markdown", "id": "9ada3d82-9e66-4fa3-8623-944f7ce8a4ab", "metadata": {}, "source": [ "Soient deux points $P$ et $P'$ de coordonnées $(9;-2)$ et $(-4;5)$. Définissez-les dans deux variables `X` et `Y` :" ] }, { "cell_type": "code", "execution_count": null, "id": "e2b76a11-633b-494d-8829-4635c03768ce", "metadata": {}, "outputs": [], "source": [ "# your code here\n", "\n", "X = [9, -4]\n", "Y = [-2, 5]" ] }, { "cell_type": "markdown", "id": "c6b252e9-6119-4d32-9782-3b59c5bf3ad0", "metadata": {}, "source": [ "Affichons-les dans un repère puis traçons une droite pour les relier :" ] }, { "cell_type": "code", "execution_count": null, "id": "9a274f99-5dc2-4951-aafe-ffd9458f0890", "metadata": {}, "outputs": [], "source": [ "# two plots\n", "fig, (ax1, ax2) = plt.subplots(ncols=2, figsize=(12,5))\n", "\n", "# spines first ax\n", "ax1.set_xlim([-5, 10])\n", "ax1.set_ylim([-5, 10])\n", "\n", "# spines second ax\n", "ax2.set_xlim([-5, 10])\n", "ax2.set_ylim([-5, 10])\n", "\n", "# plots\n", "sns.scatterplot(x=X, y=Y, ax=ax1)\n", "sns.lineplot(x=X, y=Y, ax=ax2)\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "b5d6f4ec-d5a9-4e22-975e-d17ec23cd63d", "metadata": {}, "source": [ "## Calcul de l’équation" ] }, { "cell_type": "markdown", "id": "6d1d450f-315e-4088-8424-bf236f6caf29", "metadata": {}, "source": [ "### Le coefficient directeur" ] }, { "cell_type": "markdown", "id": "2dcc2b3e-51e5-4898-9656-dfcd9f6ec849", "metadata": {}, "source": [ "Instanciez une variable `m` à laquelle vous affecterez le coefficient directeur de la droite :" ] }, { "cell_type": "code", "execution_count": null, "id": "b64a7eb5-336e-48fe-8352-dd6b0ffa9268", "metadata": {}, "outputs": [], "source": [ "# your code here\n", "\n", "m = (Y[0] - Y[1]) / (X[0] - X[1])" ] }, { "cell_type": "markdown", "id": "b3a2d31a-5fcf-41a4-96d1-05b750a59327", "metadata": {}, "source": [ "### L’ordonnée à l’origine" ] }, { "cell_type": "markdown", "id": "eaf041d3-8361-4142-bfda-00991abaed73", "metadata": {}, "source": [ "Procédez de la même manière pour l’ordonnée à l’origine avec une variable `b` :" ] }, { "cell_type": "code", "execution_count": null, "id": "4afad24b-1f63-49e8-9918-f1196cf2bd01", "metadata": {}, "outputs": [], "source": [ "# your code here\n", "\n", "b = Y[0] - m * X[0]" ] }, { "cell_type": "markdown", "id": "8a920f84-31a9-46b4-9937-8dc8b0e638ec", "metadata": {}, "source": [ "## Vérification de la solution" ] }, { "cell_type": "markdown", "id": "cbe2d953-ae80-4b28-b89c-0f98afd67e9b", "metadata": {}, "source": [ "Prenez maintenant une valeur de $x$ dans un intervalle $[-3;8]$ et ajoutez-la à la liste `X`. Calculez ensuite $y$ pour cette valeur de $x$ et ajoutez-la à la liste `Y`.\n", "\n", "**Rappel :** la méthode `.append()` permet d’ajouter un élément à la fin d’une liste." ] }, { "cell_type": "code", "execution_count": null, "id": "43fb2212-4d18-4e52-84f1-77ed36f6f47c", "metadata": {}, "outputs": [], "source": [ "# your code here\n", "\n", "x = -2\n", "X.append(x)\n", "\n", "y = b + m * x\n", "Y.append(y)" ] }, { "cell_type": "markdown", "id": "9c200c9b-ede1-4de7-97f9-36cb0384c482", "metadata": {}, "source": [ "Il ne vous reste plus qu’à vérifier que la droite passe bien par tous les points :" ] }, { "cell_type": "code", "execution_count": null, "id": "249e8103-37f2-463b-aae0-e9412bbaf7ee", "metadata": {}, "outputs": [], "source": [ "plt.xlim = [-5, 10]\n", "plt.ylim = [-5, 10]\n", "\n", "sns.regplot(x=X, y=Y, ci=None)\n", "\n", "sns.despine()\n", "\n", "plt.show()" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.6" } }, "nbformat": 4, "nbformat_minor": 5 }