{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# CitizenWatt - Calcul des données affichées\n", "\n", "Ce document explique en des termes simples les opérations effectuées sur les données recueillies par les capteurs de [CitizenWatt](http://www.citizenwatt.paris/) afin d'être affichées.\n", "\n", "## Données initiales\n", "\n", "Le capteur envoie une mesure de puissance en watts (W) toutes les $T_0 = 8s$.\n", "\n", "Cette période n'est pas exacte, il faut donc prendre en compte de petites variations autour et ne pas reposer sur un délais parfait.\n", "\n", "D'autre part, la communication entre le capteur et la base effectuant les calculs étant sans fil, il n'est pas impossible de perdre quelques mesures ponctuellement.\n", "\n", "Enfin, le capteur fonctionne sur piles et il peut donc y avoir des plages longues sans données, entre la fin des piles et leur remplacement.\n", "\n", "## Objectifs\n", "\n", "L'affichage se fait en kilowatts-heure (kWh) ou en euros (€) et il faut donc convertir ces données. La conversion en euros nécessite la prise en compte de la distinction entre tarif de jour et tarif de nuit.\n", "\n", "D'autre part, l'instabilité des mesures nécessite à la fois de masquer les petits manques de mesure, mais également de signaler les manques à long terme.\n", "\n", "*Note: Cette conversion s'effectue dans [le code de la base](https://github.com/CitoyensCapteurs/CitizenWatt-Base) dans la fonction `libcitizenwatt.tools.energy`.*" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Conversion en kilowatts-heure\n", "\n", "L'idée de base est de faire une simple intégration :\n", "\n", "$$E (\\text{en kWh}) = \\int P (\\text{en kW}) dt (\\text{en h})$$\n", "\n", "Notez déjà les unités : pour avoir des kilowatts-heure (kWh), il faut des temps en heures (h) et des mesures en kilowatts (kW).\n", "\n", "$$t (\\text{en h}) = t (\\text{en s}) / 3600$$\n", "\n", "$$P (\\text{en kW}) = P (\\text{en W}) / 1000$$\n", "\n", "Pour ce qui est de trouver $P$, tout dépend de la méthode d'intégration. Je ne vais pas entrer dans les détails, il existe un certain nombre de méthodes dont le degré de difficulté mathématique est très variable puisque nous utilisons pour le moment la plus simple.\n", "\n", "\n", "On connaît la valeur de $P$ tous les $T_0$, lorsque le capteur nous donne une mesure, mais pour intégrer, il faut connaître toutes les données. Le plus simple est alors de considérer que la puissance reste à peu près la même entre les deux mesures :" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n4KAEW8I2mCkAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "figure1()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On peut également envisager d'utiliser la méthode des trapèzes, qui n'est pas beaucoup plus compliquée et plus précise, mais dont le principal inconvénient est qu'elles nécessite de connaître la valeur suivante. On conserve donc la méthode précédente (en escaliers) pour la dernière mesure :" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAdYAAAFQCAYAAAAC81+fAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XucHGWd7/HPN/f7FcFAwKDCLpQorAooroLu4QACusf1\nRAcF0TXrDZR1FcXdI5ejB3RFcd09yBpuQiuK6yUe5LYioqiAJoiTeGFJgJCAkASI5p75nT/qadNM\nemZ6kuqu7p7v+/WaV6a7qqt+XTPp79RTTz2PIgIzMzMrxqiyCzAzM+smDlYzM7MCOVjNzMwK5GA1\nMzMrkIPVzMysQA5WMzOzAo1p9g4krQCeBrYDWyPi8Gbv08zMrCxND1YggKMjYm0L9mVmZlaqVjUF\nq0X7MTMzK1UrgjWAWyXdI+mdLdifmZlZaVrRFHxURKyW9CzgFkm/jog7WrBfMzOzlmt6sEbE6vTv\n45K+CRwO3AEgKYCralZfkr5WRMSK/tuSNA+YV2c3Xt/re32v7/W9fsvWH4yaOQi/pEnA6IhYL2ky\ncDNwXkTcnJZHRPj6q5mZdY1mn7HuBXxTUnVf11ZD1czMrBs19Yx1yJ37jNXMzLqMR14yMzMrkIPV\nzMysQK243cbMbFjSHQNmbWG4lywdrGbWltz/wtrBrvyR56ZgMzOzAjlYzczMCuRgNTMzK5CD1cys\nQ0k6QNK9kp5Tdi3tQNJRku6SNKPMOtx5ycw6QiXL9m7m9nt6e1c1uq6kFcCewDZgO7AUuBq4LFo0\n6o6kacBlwBsi4sFW7LOdSZoLfAI4ISKeLLMWB6uZ2fAFcGJEfF/SVOBo4BLgCODtLSkg4mngmFbs\nqxNExEryn0Pp3BRsZrYbImJ9RCwC5gOnScoAJE2XdLWk30taIeljSgOnS3qbpB9J+rSktZIekHRc\ndZuSfiDp/LTO05JukjS7ZvmRku6UtE7SEkmvqlk2XdJCSaskrZR0gaRRadnzJd0u6UlJj0v6ar33\nJGmCpGskPZH2cVea+pP0Xl5Ts+65kr6cvp8nqU/SOyU9kmr4YL91r5f01fS+fi7phTXLD0rvfZ2k\nX0k6qWbZCZJ60+tW9tvuiek4rJP0Y0mH1CzbW9I30s/hAUln1Cw7XPlc4U9JelTSZxr9uQ/GwWpm\nVoCIuBtYCbwiPfUvwFRgf+BVwKnA6TUvORz4NTAb+BSwsN8m3wy8jbzJeRzwDwCS9gG+C5wfETPT\n89+oCd4rgS3A84DDgGOBv03LLgBujIgZwD7A5wd4O6cB04C5wCzg74BN1beavqh53N/RwPPTvs+u\nDWLgZOBrwEygAnxL0mhJY4FFwI3As4AzgGslHZBetxBYEBHTgAz4fjoeh6Vl70y1fhH4jqSx6Q+K\nRcBiYG/gNcAHJB2btnkJ8NmImA48N9W12xysZmbFWQXMkjSa/Az2oxHxx3QN9DPAW2vWfTAiFqZr\nslcDcyTtmZYFcEVE3B8Rm8g/8A9Ny94C3BARNwJExK3APcBrJe0FHA+cFREbI+Jx4HPAm9JrtwDz\nJO0TEVsi4s4B3scW8sA/IHKLI2L9AOvWG8jjvLT/XwFXkP+RUHVPRPxHRGwHLgYmAC8DjgQmR8SF\nEbEtIm4j/wOip6amTNK0iHgqIhan5xcAX4yIu1OtVwOb0zZfCuwREf87bXM58KV+x+MASXtExIaI\n+NkA73FYHKxmZsWZC6wF9gDGArWdih4iP0userT6TURsSN9Oqbcc2Fiz7DnAG1Oz5zpJ64CjgGcD\n+6X9rq5Zdin5GSDAh8mD8K7U1Fp7Bl3ry8BNwFdTk+5FkobTJ+fhmu8fIj9brFpZ/Sb9UbEyLZ/T\n73WQH7/qMXsDcAKwIjUXH5mefw7wwX7HY27a3nOAvfst+yh5KwDAO4ADgWWpufu1w3iPA3LnJTOz\nAkh6KXlA/Ah4AtgKzAOWpVX2oyZUdsNDwJcjYkGdGuaQn63Njoi+/ssj4jHyMzwkHQXcKun2iHig\n33rbgPOB85XfynMD8BvgcuCPwOSa1Z9dp8b90vrV7x+pWbZvTb2jyEPwEfLA31fK5xNNqzyHvLmc\niLgHeH1qDTiD/Cx+v3Q8PhERn6xzPI4ElkfEgXVqJCLuJ50RS3oDcL2kWRGxsd76jfIZq5nZrql2\nRJom6UTgK+SB15uaOb8GfELSlBROZwHXDHf7dVwDnCTp2HRtcoKko1Pz7mrgZuBiSVMljZL0PEmv\nTLW+UfltKQBPkjc57xTAaXuHpBBbT/5Hwva0eAnwJkljJL2E/Eyy/3XWf5Q0UXlHrrcB19Use7Gk\nv05nwB8gv3b7U+AuYAPw4XR99GjgRPKz5rGSTpE0PR3b9TX1/DvwrtQRSZImS3qtpClpm+slfTjV\nM1rSC1LdSHqLUqcs4KmBjsdwOVjNzHbNIklPk58xfZT8Gmpt0+oZ5Gd3DwB3ANeSX2+EnTsAMcTj\nP62fbit5HXAO8Pu0/w+y4/P8VPLOTkvJm6W/zo6zypcAP5W0Hvg2cGZErKjz3p6dXvdU2s4PyJuH\nAf6JvGPUOuDc9L76ux24H7gV+HS6Dlx9H98mv/68FjgF+B8RsT0itgAnkV8jfhz4AvDWiPhteu1b\ngOWSniI/6z4lHY+fk3dc+kLa5u/SMSCdtZ9Ifn36gbTdy8g7ZgH8d+BX6Xh8FnhTRGyu836GRS26\nl7n+zvMzfs9gYWbP4M+GziRpHnmAjanXFC3p48DzI+Kt/Ze1q135XfQZq5mZtcqI+GPJwWpmZkUa\nrBm0XhN413FTsJm1HX82WLtwU3BVRTt1QzczM2uF7gzWdJ+WmZlZq3VXU3B+prqgr489Ro3iCeAy\neuKywrZvZi3hpmBrF7vyu9hdwQpUskxv+sjSP371woOn9PT27vaNvmbWeg5Waxe+xpoErAFmVbLM\n/zHNzKylujJYCa0lH3lkZtmlmJk1i6QDJN2bhky0NtHtg/BPqGTZjJ7e3ifLLsTMdlNFS4FJTdzD\nBnri4EZWlLSCfIaUbeRj1i4ln/rtsmjR9TVJ08iH53tDmpbO2kS3ByvApEqW9fX09j5ddiFmtlsm\nkc8a0yx7DGPdAE6MiO9Lmko+sfclwBHA25tQ284FRDwNHNOKfdnwdGdT8M6mVLJsytCrmZkNT0Ss\nj4hF5APLn5ZmdEHSdElXS/q9pBWSPiapOiPO2yT9SNKnJa2V9ICk46rbTPONnp/WeVrSTZJm1yw/\nUtKdaY7RJZJeVbNsuqSFklZJWinpgjQ9G5KeL+l2SU9KelzSVwd6X5JeUbOPhySd1sz3lWbUebhf\nDSskvSZ9L0kfkXS/pCckXSdpZlo2QdI16fl1yudW3ZOSjJRgBZhWybJmNiOZ2QgWEXeTz7f6ivTU\nvwBTgf2BV5HPuFI7+83h5HONzgY+BSzst8k3k0+5tid5n5F/AJC0D/Bd4PyImJme/0ZN8F4JbCGf\ngeYw4Fjgb9OyC4AbI2IG+QTin6/3XrRjDtZLyM/kDyWfLq5p72sAtUMgngmcDLySfBLzdcC/pmWn\nkc9YMxeYBfwd+eTwpRhJwQowvZJlE8ouwsy61ipglvJ5TOcDH42IP6ZroJ8Bamd1eTAiFqZrslcD\nc2rOsgK4IiLuj4hN5HO7HpqWvQW4ISJuBEhTst0DvFbSXuTTrp0VERsj4nHgc8Cb0mu3APOUz926\nJSLuHOB99AC3RMR1aUq3tRFxb5Pf11D+DvjHiFgVEVuB84C/STVtIQ/yAyK3OCLWN7jdwo20YBUw\ns5Jl48ouxMy60lzyOUH3AMYCtZ2KHiI/S6x6tPpNRGxI306pt5z87Ku67DnAG1OT5zpJ64CjyOdQ\n3S/td3XNskuB6mTeHyb/HLxL0q8k1Z5p9n8fD9R5vpnvayjzgG/WvK+l5J3H9iSfK/Ym8knRH5F0\nkfKJ1Esx0oIV8l+qWZUsG1t2IWbWPSS9FNgb+BF5J6ut5GFQtR95U/Huegj4ckTMrPmaGhGfStvf\nDMyuWTY9Ig4BiIjHImJBROxDfgb4b5KeW2cfD5M3JffXzPf1R2p6facz0WfVLH8IOK7f+54UEasj\nYltEnB8RGfBy8snNTy2gpl0yEoMV8vc9q5Jlo8suxMw6VrXDzjRJJwJfIQ+83ojYTt7M+QlJU9I1\ny7OAa4a7/TquAU6SdKyk0anjztGpeXc1cDNwsaSpkkZJep6kV6Za3yhpbtrOk+RNs/VGqLsW+Ku0\n/hhJsyW9qMnv67fABEknSBoL/CMwvmb5pcAnJe2X3suzJJ2cvj9a0iEpjNeTh//2YdRUqJEarACj\ngdmVLBvJx8DMdt0iSU+Tn0l9lPxaY23T6hnkZ2EPAHeQh9UVaVm9eUkHe/yn9SNiJfA64Bzg92n/\nH2TH5/mp5J2ClpI3S3+dvJkY4CXATyWtB74NnBkRK/q/sYh4GDghbXcNsBh4YZPf11PAe4AvkZ8B\n/4H8zLnqEuA7wM3puP+EvKMU6f19HXgqve8fkDcPl6Irxwqef/ayJddddNDxDb5kK/BET29v10++\na9Yp6n42tNEAETZy7EpOjYQBIoYylrxZeK3D1ayNOfSsQ7gZNDcemFF2EWZm1vkcrDtMrGSZw9XM\nzHaLg/WZJlWybGrZRZiZWedysO5saiXLJpddhJmZdSYHa33TK1k2sewizMys87hX8MBmpOnmNpdd\niNlIJMm99K0jOVgHVh368Ime3t6tZRdjNpIUfX+7WSu5KXhwIh+dyX+AmJlZQxysQxtFHq4eV9jM\nzIbkYG2MxxU2M7OGOCgaN4b8mquv/ZiZ2YCaHqxpWqPFkhY1e18tMA6YVXYRZmbWvlpxxvp+8ml8\nuqXr/PhKls0suwizhlS0oOwSzEaapgZrmlD3BPL59bqpCXViJcuml12EWQMcrGYt1uzbSD4LfAiY\n1uT9lGFyJcu29/T2/qHsQsx2UtGCvj4WbN+qPbf/+5jFW7eMunLRvx1wObAd6Kv96unt7Su1VrMu\n07RglXQi8PuIWCzp6EHWu7Lm4ZL0taLerPaS5gHz6mym7vpXrF4996FNm/bt//x+EyY8fPqcOSsL\nWP/g940dO3Pdtm39R2cqpH6v7/V3df3KJw5eeNmqVb/4x3c9+aP3XjLurPzZ5cfCzr/PlSwD6Lv0\nkUf2eWjTprnboa8vIrZH9G2HmD5mzPLz999/BTWh3NPbG+30fr2+12/1+oNRRHMufUr6JPBWYBsw\ngfys9RsRcWrNOsOemX0olSzT/LOXLbnuooOOL3K7gwhgXU9v76YW7c9sUOme69nAmPkfWfqz6y48\n+Igm7Cbod+Y71FdPb2+39LMwG1TTzlgj4hzgHABJrwL+oTZUu4iAmZUsW9PT27ul7GJsZKsNVQBC\na5u0K5Hf393wwCmVLBtuEBfXRF3RAnrissK2ZzaIVg7V181/rVbHFV7jcYWtLGkAkx2h2n5GMYwO\nk5UsC555ZrzT9eH+X4OcFS8AHKzWEi35DxgRtwO3t2JfJRrFjkH7t5ddjI0sKVT3oH1DdVcofQ03\njP8UtCe+6/63Tpi87dRxE5hFRfcAl/nM1ZrNIy8Vy0MfWst1wJlqK1WbqMcC47976fO/dv1n/vzE\nvj72pCde4lC1VnAAFG8Mebh203271qZqQnVs2bW0swjWVLJsatl12MjgYG2OsThcrcnS75dDtRF5\nJ66plSybVHYp1v0crM0zDvDQh9YUDtVdNr2SZRPKLsK6m4O1uSZUsmxG2UVYd6kJ1XFl19KBqrfH\n+dhZ0zhYm29SJcu6cUhHK0EK1Vk4VHdH9fY4n+1bUzhYW2NKJcsml12EdbaaUB1fdi1doHp7XMMD\nXJg1ysHaOtMrWTax7CKso83EoVok3x5nTeFfqNaaUckyfzDasFWybBb5mNtWLN8eZ4VzsLZW9dqO\nr49ZwxyqTTeW/P+lw9UK4WBtvWq4epQcG1Ily2biUG2F8YB78FshHKzlGEXe/OSOEzagFKq+Lt86\nEytZNr3sIqzzOVjL444TNqB0/7NDtfUme+hD213+UC/XGHxtx/pJoeqh98oz1bfH2e5wsJZvHPm9\niWakpkiHavl8e5ztMgdrexifrqfZCJZC1WdK7cO3x9kucbC2D3ecGMHSsJcO1fZSHVfYQx/asDhY\n24s7ToxAKVSnlF2H1VXtwe/b46xhDtb24zkjR5D0h5RDtb1Vw9Wfl9YQ/6K0J88ZOQJUsmwK4BaK\nzlC9Pc49+G1IDtb2VL22444TXSqFqqcT7CxjcbhaAxys7csdJ7pUukfSodqZxpHPMmQ2IAdre3PH\niS6TQtW9vzvbhDSIh1ldDtb2V52Q2T+rDpc6pTlUu8Ok1JvbbCf+sO4MnjOyw6VQ9VlOd5nioQ+t\nHgdr53DHiQ6VhsbzmWp38tCHthMHa2dxx4kOkz50Z5B3RrPu5KEP7RkcrJ3HHSc6RLoX2aHa/UTe\nD8I9+A1wsHYqd5xocylUZ+JQHSmEe/Bb4mDtXFPSIAPWZlKzoEN15KneHje67EKsXA7WzjbN4wq3\nlxSqs3CojlTVoQ/92TqC+Yff+TyucJuoZFl10nqH6sg2hvyaq38PRigHa+erDn04ruxCRjKHqvXj\nHvwjmIO1O1R7JbrjRAlSb9BZ+P+TPZN78I9Q/iDoHu44UYIUqrPx/yWrzz34RyB/GHSXHR0nKlpQ\ndjHdzqFqDXIP/hHGHwjdZwwwO/pwsDZRanZ3qFqj3IN/BPGHQpc59rTlp5z83t/dumXzqL02/fuY\nxVsWjn5P2TV1G4eq7SL34B8h3Nmly9x81f7XAtfO/8jS+6+78OAjALg42wvYBGzo6e3dWmZ9na4m\nVH0t24ar2oN/TU9v75ayi7HmcbB2rzU1348GJgOTK1m2DdgAbOzp7d1eSmUdKnUMc6ja7qj24H+i\np7d3W9nFWHO4KatbhdYOsGQMMA3Yq5Jle1SybJJvZB9aCtU9cKja7nMP/i7nYB3ZxpHPvvLsSpbN\n9PWf+nymak3goQ+7mJuCDfLmqYnAxEqW9QEbyZuKR/x1oPTBNxv/X7HijSEP1yd6enuj7GKsOP6w\nsP5G8czrsRvJOz2NuOuxKVT3wP9PrHmqo3atGWpF6xxuhrDBjAGmsuN67OSR0nTlM1VrofGVLPO4\nwl3EHxrWqHHpa1olyzaT9yze3I1NWDWhOrbsWmzEmFjJsr6e3t6nyi7Edt+IOPuwQgmYQN58tVcl\ny2Z008w6DlUr0eRKlk0tuwjbfT5jtd0xCphEPtB49Xrsxk69Py/ddjQLh6qVZ2oly7b39PZuKLsQ\n23VDBqukicCJwF8Ce5N/eN4H/L+I6B3itROA24HxaV/XR8S5u1mztafq9diplSzbwo6Q7Su3rMak\nUJ1N3txtVqbpqVl4U9mF2K4ZNFglnQecBPwA+CnwOHkz4IHAhSl0/z4iflnv9RGxSdIxEbFB0hjg\nR5K+FxE/K/JNWNvpfz12I7CpXa/HOlStzXjoww431BnrXcC5EVHvA/EzkvYC9h1sAxFRbdIYR97E\n1hFnMFaI6vXYCUBfJcs2kZ/Fbi63rB1qmn8dqtZOqkMfrvH43p1nqM5LqwZbGBGPRcQ9g60jaZSk\nJcBjwM0Rcfcwa7TuUL0eO7uSZXtVsmxaGtC+NDWhOr7MOswGMIo8XD3iV4cZKli/BKyVdKuk8yQd\nK2lYvdYioi8iDgXmAkdIyna1WOsao4EpwJ6VLHtWiffHzsShau3NQx92oEHPGCLixZImA4cDLwfO\nBK6RtBq4MyLe3eiOIuIpSbcBxwF/6vQk6cqa1ZakrxURsaL/NiTNA+bV2Xzd9a9YvXruQ5s27dRU\nvd+ECQ+fPmfOym5ef+q9Mfm85ctf1i71DLL+WGA6MO1l06fvtWzDhj2f3rZtS79rD4X8PtSuP3f8\n+KmTRo0aV0D9bb1+7e9BO9RT1vrz+z/ZYfWfPmdO9B/6cHd+/73+7q8/GNW/fFpnRWkKcATwCuBU\nYFRE7D/Ea/YAtkXEk6mj003AhRFxQ1oeEVHozCqVLNP8s5ctue6ig44vcrudZv7Zy77Xwccg2NGr\nuPDrsWmUm4lFb7cddfjvQWG65DhsBta2aydA22GoXsGnkJ+pHkr+Q72bvHfwURHxaAPbnwNcJWk0\nebPzddVQNRuE2HF/7HZ2hOxud+IYSaFqXWc8+eWLgaaEtDYxVOeRLwK/AS4FfhgRvxnOxiPiPuAv\ndrE2M9hxPXZKJcu2siNkhz0pQCXLZuBQtc42oZJlM3p6e58suxAb2FDBOgN4EfAy4OOS/hxYDdwJ\n/CQivt/k+sxqjU1ftffHbmykaSyF6qQm12fWCpPS6Ezryy7E6hu0p1lEbIuIn0fEFyKiBzgeuBF4\nO3BLKwo0G8B4hpqkvaIFAJUsm45D1brL1EqWTS67CKtvqGusLyK/xlr9Gkd+tvr59K9Z2epN0r4h\nXY9dUMmy68jnlzXrNtWhDzeWXYg901D3Rl0JHAzcALw6IvaNiPkRcYkHerA2NAqYfOxpyz+w4Ytj\nl2zdrD1Pfu/vfnjsactPKbswsyaZUcky34vdZoa6j/WwVhViVpSbr9r/WuDa+R9Zev93/vWAI8uu\nx6yJascV9tCHbWLQM1ZJiySdJGmnabQkPU/SBZLe0bzyzHbLmrILMGuBUeSjM3ka0DYxVFPwAuCV\nwK8l3SPpe5Juk7Sc/Facn0fEwqZXabYrQr7fz0aKarh6XOE2MFRT8GrgQ8CHJO1PPuDDBuB3EfHH\nFtRnZmaNGc2OGXE8i1iJGh7YOSKWR8SdEbHEoWpm1pbGkodroUPF2vB4xgQzs+4yjnzoQyuJg9XM\nrPtMSKONWQkaDlZJkyT9WTOLMTOzwkyqZNm0sosYiRoKVkknA4vJp31D0mGSvtPMwszMbLdNqWTZ\nFOBPQ3xa8zV6xnou+Vys6wAiYjHw3CbVZGZmxZlWybKJ5LdPWgs0ekPx1jRZee1z7s5tZtbmjj1t\n+SlTZm7p2bxx1B5b/23cvZv+MOaaNDrZiNPT27uqFftpNFh706TnYyQdAJyJB+E3M2t7KUQXzv/I\n0pXfuPjPjyi7npGg0abgM4AM2Ax8BXga+ECzijIzs8J5iM8WaeiMNQ0IcU76MjOzTuMhPlum0V7B\nt0qaUfN4lqSbmleWmZlZZ2q0KXiPiHiy+iAi1gJ7NackMzOzztVosG6X9JzqA0nzcK9gMzOznTTa\nK/hjwB2SfpgevxLfE2VmZraTRjsv3SjpxcCRQAAfiIgnmlqZmZlZBxrOjPPjgLXpNQdLIiJ+OMRr\nzMzMRpSGglXSRcB8YCmwvWaRg9XMzKxGo2esfw38WURsbmYxZmZmna7RXsH/Rd4UbGZmZoNo9Ix1\nI7BE0n+SD2sIEBFxZnPKMjMz60yNBut30letKLgWMzOzjtfo7TZXNrkOMzOzrtBor+ADgU8CBwMT\n09MREZ7s3MzMrEajnZeuAC4FtgFHA1cBI3KiXDMzs8E0GqwTI+JWQBHxYEScC7y2eWWZmZl1pkY7\nL22SNBq4X9L7gFXA5OaVZWZm1pkaDdYPAJOAM4ELgGnAac0qyszMrFM12iv4rvTteknvAKZExFPN\nK8vMzKwzNXSNVdJXJE2TNBm4D1gq6cPNLc3MzKzzNNp56eCIeBp4PfA9YB7w1mYVZWZm1qkaDdYx\nksaSB+uiiNiKR14yMzPbSaPB+kVgBTAF+KGkeYCvsZqZmfXTULBGxOcjYp+IOD4i+oAHgWOaW5qZ\nmVnnabTz0vtT5yVJWgj8AnhNc0szMzPrPI02Bb8jdV46FphF3nHpwqZVZWZm1qEaDValf18LfDki\nftWkeszMzDpao8H6c0k3AycAN0maBvQ1rywzM7PO1OiQhm8HDgP+KyL+KGk2cHrzyjIzM+tMgwar\npIMiYhlwKPl9q8+VBHnTsO9jNTMz62eoM9a/B94JXEz9IPUtN2ZmZjUGDdaIeGf69+iWVGNmZtbh\nGrrGKuk06pyxRsTVQ7xuX+BqYM/0+ssi4vO7UKeZmVlHaLTz0kvZEawTgVeTDxIxaLACW4GzImKJ\npCnkvYtvSddtzczMuk6j87G+r/axpBnAdQ287lHg0fT9HyQtA/YGHKxmZtaVGr2Ptb8NwP7DeUEa\nuP8w4Ge7uE8zM7O21+g11kU1D0cBBwNfa3QnqRn4euD9EfGHYVVoZmbWQRq9xvrP6V8B24AHI+Lh\nRl6Y5nH9BnBNRHyrzvIrax4uSV8rImJFnXXnkU+y3l/d9a9YvXruQ5s27dv/+f0mTHj49DlzVnbz\n+lPvjcnnLV/+snapx+uXs37t70E71FPW+vP7P9lh9Rex/m8fjbH9fxc6qf4i1j9FWkNB+TIYRQw8\nzoOkicC7gOcDvwQuT5OcN7bxfDSJq4A1EXFWneUREdr5lbuukmWaf/ayJddddNDxRW6308w/e9n3\nfAx8DHwMcj4ObJp/9rLbRvgxoKe3d1Ur9jPUNdargBeTh+rx7DhzbdRRwFuAYyQtTl/HDb9MMzOz\nzjBUU/BBEXEIQJqH9e7hbDwifsSud5AyMzPrOEOF3rbqNxGxbbAVzczMbOgz1hdKWl/zeGLN44iI\naU2qy8zMrCMNNVbw6FYVYmZm1g18/dPMzKxADlYzM7MCOVjNzMwK5GA1MzMrkIPVzMysQA5WMzOz\nAjlYzczMCuRgNTMzK5CD1czMrEAOVjMzswI5WM3MzArkYDUzMyuQg9XMzKxADlYzM7MCOVjNzMwK\n5GA1MzMrkIPVzMysQA5WMzOzAjlYzczMCuRgNTMzK5CD1czMrEAOVjMzswI5WM3MzArkYDUzMyuQ\ng9XMzKxADlYzM7MCOVjNzMwK5GA1MzMrkIPVzMysQA5WMzOzAjlYzczMCuRgNTMzK5CD1czMrEAO\nVjMzswI5WM3MzArkYDUzMyuQg9XMzKxADlYzM7MCOVjNzMwK5GA1MzMrkIPVzMysQA5WMzOzAjlY\nzczMCuRgNTMzK5CD1czMrEAOVjMzswI1NVglXS7pMUn3NXM/ZmZm7aLZZ6xXAMc1eR9mZmZto6nB\nGhF3AOuauQ8zM7N24musZmZmBRpTdgGSrqx5uCR9rYiIFXXWnQfMq7OZuutfsXr13Ic2bdq3//P7\nTZjw8OkDHTT4AAAJaUlEQVRz5qzs5vWn3huTz1u+/GXtUo/XL2f92t+DdqinrPXn93+yw+ovYv3f\nPhpj+/8udFL9Rax/irSGgvJlMIqI4aw/bKnYRRFxSJ1lEREqcn+VLNP8s5ctue6ig44vcrudZv7Z\ny77nY+Bj4GOQ83Fg0/yzl902wo8BPb29q1qxHzcFm5mZFajZt9t8BbgTOFDSw5JOb+b+zMzMytbU\na6wR8eZmbt/MzKzduCnYzMysQA5WMzOzAjlYzczMCuRgNTMzK5CD1czMrEAOVjMzswI5WM3MzArk\nYDUzMyuQg9XMzKxADlYzM7MCOVjNzMwK5GA1MzMrkIPVzMysQA5WMzOzAjlYzczMCuRgNTMzK5CD\n1czMrEAOVjMzswI5WM3MzArkYDUzMyuQg9XMzKxADlYzM7MCOVjNzMwK5GA1MzMrkIPVzMysQA5W\nMzOzAjlYzczMCuRgNTMzK5CD1czMrEAOVjMzswI5WM3MzArkYDUzMyuQg9XMzKxADlYzM7MCOVjN\nzMwK5GA1MzMrkIPVzMysQA5WMzOzAjlYzczMCuRgNTMzK5CD1czMrEAOVjMzswI5WM3MzArkYDUz\nMyuQg9XMzKxADlYzM7MCOVjNzMwK5GA1MzMrUFODVdJxkn4t6XeSzm7mvszMzNpB04JV0mjgC8Bx\nwMHAmyUd1Kz91brh3pjciv20Mx8DHwPwMajycfAxAJB0dCv208wz1sOB+yNiRURsBb4KvK6J+/uT\n25YypRX7aWc+Bj4G4GNQ5ePgY5Ac3YqdNDNY9wEernm8Mj1nZmbWtcY0cdvRxG03YkvJ+28HPgY+\nBuBjUDWSj8O2sgsYSRTRnPyTdCRwbkQclx5/FOiLiItq1ik7fM3MzHZJRKje880M1jHAb4DXAKuA\nu4A3R8SypuzQzMysDTStKTgitkl6H3ATMBpY6FA1M7Nu17QzVjMzs5Goq0Ze8oAUOUlnSfqVpPsk\nVSSNL7umZpN0uaTHJN3X7/kzJC1Lx+OigV7fDSTtK+k2Sb3p/Z7Zb/kHJfVJmlVWjc0maYKkn0la\nko7Buen5T6ffg3sl/Yek6SWX2nSSRktaLGlRejxL0i2SfivpZkkzyq6x2eocg0Ml/TQ9d7eklzZj\nv10TrGUOSNFOJO0DnAG8OCIOIW+Gf1O5VbXEFeQ/+z+RdAxwMvDCiHgB8M9lFNZCW4GzIiIDjgTe\nW/0/IGlf4L8BD5ZYX9NFxCbgmIg4FDgUOE7SEcDNQBYRLwJ+C3y0xDJb5f3AUnbcofER4JaIOBD4\nz/S42/U/Bp8CPh4RhwH/Kz0uXNcEKyUOSNGGxgCTUgeyScAjJdfTdBFxB7Cu39PvBv5P+n0gIh5v\neWEtFBGPRsSS9P0fgGXA3mnxxcCHy6qtlSJiQ/p2HDCW/G6EWyKiLz3/M2BuKcW1iKS5wAnAl4Bq\nz9WTgavS91cBry+htJYZ4Bj0AdXWihk06bOxm4LVA1IAEfEI8BngIfLe2E9GxK3lVlWaA4BXpqaf\nH0h6SdkFtYqkecBhwM8kvQ5YGRG/LLWoFpE0StIS4DHg5oi4u98qbwduaH1lLfVZ4EPkQVK1V0Q8\nlr5/DNir5VW1Vr1jcBbwaUkPAZ+mSS0X3RSs7oUFSJpJ/pfpPPKzlSmSTim1qPKMAWZGxJHk/8G+\nVnI9LSFpCnA9eTNYH3AO8PHaVcqoq1Uioi81Bc8FjpCUVZdJ+hiwJSIqpRXYZJJOBH4fEYsZ4Gcd\nea/Vrv3MHOQYvBv4QETsRx6ylzdj/90UrI8A+9Y83pf8rHWk+StgeUSsiYhtwH8ALy+5prKsJH//\npLOWPkmzyy2puSSNBb4BXBMR3wKeR/5H1r2SlpOHzc8l7Vlela0REU8Bt5GuvUt6G3nTYLf/ofly\n4OT08/4K8GpJXwYek/RsAElzgN+XWGOzDXQMTo2Ib6Z1rie/hFi4bgrWe4ADJM2TNA6YD3yn5JrK\n8CBwpKSJkkQetEtLrqks3wJeDSDpQGBcRKwpt6TmST/vhcDSiPgcQETcFxF7RcT+EbE/+R8bfxER\nXfmhKmmPam9XSRPJO2wtk3QceavF61IHp64VEedExL7p5/0m4PsR8Vbyz8PT0mqnkf//6EqDHINV\nkl6VVns1eUe2wjVzrOCW8oAUuYi4S9L1wC/Ixwf9BXBZuVU1n6SvAK8CZkt6mLzH3+XA5ekWnC3A\nqSWW2ApHAW8BfilpcXrunIj4Xs06Xdv8l8wBrkp3CYwCrouIGyT9jrwz0y353x/8JCLeU2KdrVT9\nmV8IfE3SO4AVwP8sraLWqx6DdwKXpI6dG4EFzdiZB4gwMzMrUDc1BZuZmZXOwWpmZlYgB6uZmVmB\nHKxmZmYFcrCamZkVyMFqZmZWIAerWYkkzU5TWC2WtFrSyvT9L9K9dq2u5/WS/mmQ5S+QdEUrazLr\nNL6P1axNSPo4sD4iLi6xhh8DJ0XE2kHWuQV4e0Q8PNA6ZiOZz1jN2oskvTjNxnOPpBtrxnf9gaSL\n0wTNSyW9JE3a/VtJF6R15kn6taRr0jpfT0P7IelC5ZOg3yvp03V2fCCwuRqqkt4o6b40afjtNasu\nYmTM8Wu2SxysZu1FwOeBv4mIl5BP4P6JtCzIg++lwKXAt8ln63gB8LY0sxHAgcC/RsTBwNPAeyTN\nAl4fEdXJvi+os++jyIfArPon4Ng0U8xJNc/fA/zl7r9Vs+7kYDVrL+PJg/KWNN7vx3jmvMLViSV+\nBfRGxGMRsQV4gB2zOz0cET9J318DvAJ4CtgkaaGkvyYfJ7W/ZwO1k8H/mHzc3b/lmeOKP86OCdTN\nrJ+uGYTfrEuIPDAHmupvc/q3r+b76uPq/+fajhMin35zu6TDgdcAfwO8L31fayMwvfogIt6dXvNa\n8qnmXpyaiSdQP5jNDJ+xmrWbzcCzJB0J+fyqkg4e5jb2q74e6AHukDQZmJFmuvl74EV1XrcMeH71\ngaTnRcRdEfFx8rPUuWnRgeRnzGZWh4PVrL1sJz+jvEjSEmAx8LI66wUDTwH3G+C9kpaSn4H+X2Aa\nsEjSvcAdwFl1XncHcFjN409J+mWadu/HEfHL9PwxwHeH97bMRg7fbmPWRSTNAxZFxCG7+PrPpdf/\n5wDLxwM/AI6KiL5dLNOsq/mM1az77M5fy58EJg2yfF/gbIeq2cB8xmpmZlYgn7GamZkVyMFqZmZW\nIAermZlZgRysZmZmBXKwmpmZFcjBamZmVqD/D3OrDc0i08uxAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "figure2()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Conversion en euros\n", "\n", "Pour un tarif donné, la conversion en euros pour un mois complet est affine en l'énergie $E$ consommée :\n", "\n", "$$F_{\\text{mois}} (\\text{en €}) = \\alpha \\cdot E_{\\text{mois}} (\\text{en kWh}) + \\beta$$\n", "\n", "Les constantes de tarif $\\alpha$ et $\\beta$ sont données par le type d'abonnement de l'utilisateur.\n", "\n", "Afin de rapporter cette relation à une période $T$ différente du mois, la constante $\\beta$ est corrigée linéairement :\n", "\n", "$$\\beta_T = \\beta_{\\text{mois}} \\cdot \\frac{T}{\\text{1 mois}}$$\n", "\n", "On obtient donc, de façon plus générale :\n", "\n", "$$F_T (\\text{en €}) = \\alpha \\cdot E_T (\\text{en kWh}) + \\beta \\cdot \\frac T {\\text{1 mois}}$$\n", "\n", "On assure ainsi l'application d'une relation de Chasles aux prix affichés :\n", "\n", "$$F_{AB} = F_A + F_B$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Gestion des données manquantes\n", "\n", "### Problème\n", "\n", "Une donnée peut manquer dans deux situations :\n", "\n", "1. Un problème de communication temporaire fait perdre une ou plusieurs mesures. Nous avons fait le choix de ne corriger que s'il manque une valeur, car bien que l'on ne veuille pas que le graphe de l'utilisateur soit plein de données manquantes, on ne veut pas non plus lui donner l'illusion que des données sont présentes si ce n'est pas le cas.\n", "\n", "2. Les incertitudes sur la période de 8 s font que la tranche d'exactement 8 s qu'une requête demande ne contient aucune données. C'est moins improbable qu'on ne peut le penser au premier abord. Par exemple, si des données sont arrivées à $t=15.98s$ puis à $t=24.02$ et que l'on demande la consomation entre $t=16$ et $t=24$ pour dessiner l'une des barres du graphe, aucune donnée ne sera disponible. (voir Figure 3)\n", "\n", "Sur la durée de vie d'un capteur, l'écart entre son horloge et celle de la base est bien réelle et on ne peut donc pas assurer qu'il suffit pour éviter le second point de prendre des valeurs entre $8n-4$ secondes et $8n+4$ secondes et supposer que toutes les mesures sont autour de $8n$ secondes." ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAdYAAAFQCAYAAAAC81+fAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAE85JREFUeJzt3XuwJGV5x/HvT1bkHkTjBVlziAkiaICAeCFGiImFFxJN\nmUSX3LxR8QZqvFRpUmKsWJgLsSxTUUsFElxjoolxEy9gjIiaiKu7sgISNS7BsCIGFRUhwD75Y3pl\nOMyeM2d5e+bM7PdTNXWmp5/u91mrnB9vd093qgpJktTG3abdgCRJ88RglSSpIYNVkqSGDFZJkhoy\nWCVJashglSSpoTV9D5BkK3ADcBtwS1Ud3/eYkiRNS+/BChRwYlVdP4GxJEmaqkkdCs6ExpEkaaom\nEawFfDTJxiTPncB4kiRNzSQOBZ9QVduS/DhwYZIvVdXFExhXkqSJ6z1Yq2pb9/e6JP8IHA9cDJCk\ngPOGyjd3r61VtXXxvpIsAAsjhrHeeuutt976idUvJX3ehD/JPsAeVfW9JPsCFwCvraoLuvVVVZ5/\nlSTNjb5nrPcF/jHJjrHetSNUJUmaR73OWJcd3BmrJGnOeOclSZIaMlglSWrIYJUkqSGDVZKkhgxW\nSZIaMlglSWrIYJUkqSGDVZKkhgxWSZIaMlglSWrIYJUkqSGDVZKkhgxWSZIaMlglSWrIYJUkqSGD\nVZKkhgxWSZIaMlglSWrIYJUkqSGDVZKkhgxWSZIaMlglSWrIYJUkqSGDVZKkhgxWSZIaMlglSWrI\nYJUkqSGDVZKkhgxWSZIaMlglSWrIYJUkqSGDVZKkhgxWSZIaMlglSWrIYJUkqSGDVZI0f9bntGkN\nbbBKkubR1II1VTWtsUlSVZWpNSBJmi+DmeppwL2BbwFvY129bZItGKySpPmzPj9gXe07jaE9FCxJ\nmkfXTWtgg1WSNI++Na2BDVZJkhoyWCVJashglSSpIYNVkqSGDFZJkhoyWCVJashglSSpIYNVkqSG\neg/WJHsk2ZRkQ99jSZI0bZOYsZ4BXA5M76bEkiRNSK/BmuQQ4InA2wFvti9Jmnt9z1j/Ang5sL3n\ncSRJWhXW9LXjJE8GvllVm5KcuETduUOLm7vX1qraOqJ2AVgYsRvrrbfeeuut/5Err2HPw0dnT5P9\nL6W357EmeT3wW8CtwF7AAcD7quq3h2p8Hqskqb312ci6Om4aQ/d2KLiqXlVVa6vqUODpwMeGQ1WS\npHk0yd+xelWwJGnu9XaOdVhVXQRcNImxJEmaJu+8JElSQwarJEkNGaySJDVksEqS1JDBKklSQwar\nJEkNGaySJDVksEqS1JDBKklSQwarJEkNGaySJDVksEqS1JDBKklSQwarJEkNGaySJDVksEqS1JDB\nKklSQwarJEkNGaySJDVksEqS1ND8B+v6nDbtFiRJu4/5D1YwWCVJEzO/wbo+p7E+G4F7sz4bnblK\nkiYhVTW9wZOqqvQ6yPr8gHW1b69jSJJWl/XZyLo6bhpDz++M9XbXTbsBSdLuY3cI1m9NuwFJ0u5j\ndwhWSZImxmCVJKkhg1WSpIYMVkmSGjJYJUlqyGCVJKkhg1WSpIYMVkmSGjJYJUlqyGCVJKkhg1WS\npIYMVkmSGjJYJUlqyGCVJKkhg1WSpIYMVkmSGjJYJUlqyGCVJKkhg1WSpIYMVkmSGjJYJUlqyGCV\nJKmhNcsVJNkbeDLwGOBg4IfAFuBfquqyZbbdC7gIuEc31nur6sy72LMkSavWksGa5LXAKcDHgf8A\nrgP2Ag4DzupC96VVdemo7avqpiQnVdWNSdYAn0zyoar6TMt/hCRJq8VyM9ZLgDOrqkas+/Mk9wXW\nLrWDqrqxe7sncHdg+4q7lCRpRix3jvWapVZW1bVVtXGpmiR3S7IZuBa4oKo+u8IeJUmaGcsF69uB\n65N8NMlrkzw+yf4rGaCqtlfV0cAhwCOSHLmrzUqStNoteSi4qo5Nsi9wPPBo4HTg/CTbgE9X1fPG\nHaiqvpvk34CTgR9d9JTk3KGyzd1ra1VtXbyPJAvAwojd77R+w8vY/5RTc+K49Svdv/XWW2+99auv\n/spr2PPw3Om7v9n+l5LRp09HFCb7AY8Afg74beBuVXXoMtvcG7i1qr7TXej0EeCsqvpgt76qKitp\neMXWZyPr6rhex5AkrS5T/O5f7qrgUxnMVI8GbgY+y+Dq4BOq6htj7P/+wHlJ9mBw2Pk9O0JVkqR5\ntNxVwW8FrgTeAnyiqq5cyc6ragvws7vYmyRJM2e5YD0QOAp4FPCaJIcD24BPA/9eVR/ruT9JkmbK\nchcv3Qp8rnu9ufvd6q8DLwb+CNij9w4lSZohy51jPYrBOdYdrz0ZzFbf1P2VJElDljsUfC7wSeCD\nwB9U1VW9dyRJ0gxb7lDwMZNqRJKkebDknZeSbEhySpK7j1j3oCSvS/Ls/tqTJGm2LHco+DTgpcAb\nk3yb259uswB8FXhzVb2/1w4lSZohyx0K3ga8HHh5kkMZ3PDhRuDLVfWDCfQnSdJMWfZB5ztU1deA\nr/XYiyRJM2+5p9tIkqQVMFglSWpo7GBNsk+SB/fZjCRJs26sYE3yy8AmBo99I8kxST7QZ2OSJM2i\ncWesZzJ4Fuu3AapqE/CTPfUkSdLMGjdYb6mq7yz6bHvrZiRJmnXj/tzmsu6h52uS/DRwOt6EX5Kk\nOxl3xvoi4EjgZuDdwA0MHh0nSZKGjDVj7e6y9KruJUmSdmLcq4I/muTAoeWDknykv7YkSZpN4x4K\nvvfwxUtVdT1w335akiRpdo0brLcl+YkdC0kW8KpgSZLuZNyrgl8NXJzkE93yzzN4pJwkSRoy7sVL\nH05yLPBIoIAXV9W3eu1MkqQZNPZj44A9geu7bY5IQlV9YpltJEnarYwVrEneAPwGcDlw29Aqg1WS\npCHjzlifCjy4qm7usxlJkmbduFcFf5XBoWBJkrSEcWesPwQ2J/lXBrc1BKiqOr2ftiRJmk3jBusH\nutewatyLJEkzb9yf25zbcx+SJM2Fca8KPgx4PXAEsHf3cVWVDzuXJGnIuBcvnQO8BbgVOBE4D3hX\nTz1JkjSzxg3Wvavqo0Cq6qqqOhN4Un9tSZI0m8a9eOmmJHsAX0nyQuAaYN/+2pIkaTaNG6wvBvYB\nTgdeBxwA/E5fTUmSNKvGvSr4ku7t95I8G9ivqr7bX1uSJM2msc6xJnl3kgOS7AtsAS5P8op+W5Mk\nafaMe/HSEVV1A/AU4EPAAvBbfTUlSdKsGjdY1yS5O4Ng3VBVt+CdlyRJupNxg/WtwFZgP+ATSRYA\nz7FKkrTIWMFaVW+qqgdU1ROqajtwFXBSv61JkjR7xr146Yzu4qUkeQfweeBx/bYmSdLsGfdQ8LO7\ni5ceDxzE4MKls3rrSpKkGTVusKb7+yTgb6rqiz31I0nSTBs3WD+X5ALgicBHkhwAbO+vLUmSZtO4\ntzR8FnAM8NWq+kGSewHP7K8tSZJm05LBmuQhVXUFcDSD363+ZBIYHBr2d6ySJC2y3Iz1pcBzgbMZ\nHaT+5EaSpCFLBmtVPbf7e+JEupEkacaNdY41ye8wYsZaVX+9zHZrgb8G7tNt/7aqetMu9ClJ0kwY\n9+Klh3N7sO4N/AKDm0QsGazALcBLqmpzkv0YXF18YXfeVpKkuTPu81hfOLyc5EDgPWNs9w3gG937\n7ye5AjgYMFglSXNp3N+xLnYjcOhKNuhu3H8M8JldHFOSpFVv3HOsG4YW7wYcAfzduIN0h4HfC5xR\nVd9fUYeSJM2Qcc+x/ln3N8CtwFVVdfU4G3bPcX0fcH5VvX/E+nOHFjd3r61VtXVE7QKDh6wvttP6\nDS9j/1NOzYnj1q90/9Zbb7311q+++iuvYc/Dc6fv/mb7X0qqdn6fhyR7A78H/BRwKfDO7iHn4+18\ncDeJ84D/raqXjFhfVZU7b9nQ+mxkXR3X6xiSpNVlit/9y51jPQ84lkGoPoHbZ67jOgH4TeCkJJu6\n18krb1OSpNmw3KHgh1TVwwC657B+diU7r6pPsusXSEmSNHOWC71bd7ypqluXKpQkScvPWH8myfeG\nlvceWq6qOqCnviRJmknL3St4j0k1IknSPPD8pyRJDRmskiQ1ZLBKktSQwSpJUkMGqyRJDRmskiQ1\nZLBKktSQwSpJUkMGqyRJDRmskiQ1ZLBKktSQwSpJUkMGqyRJDRmskiQ1ZLBKktSQwSpJUkMGqyRJ\nDRmskiQ1ZLBKktSQwSpJUkMGqyRJDRmskiQ1ZLBKktSQwSpJUkMGqyRJDRmskiQ1ZLBKktSQwSpJ\nUkMGqyRJDRmskiQ1ZLBKktSQwSpJUkMGqyRJDRmskiQ1ZLBKktSQwSpJUkMGqyRJDRmskiQ1ZLBK\nktSQwSpJUkMGqyRJDRmskiQ1ZLBKktSQwSpJUkMGqyRJDRmskiQ11GuwJnlnkmuTbOlzHEmSVou+\nZ6znACf3PIYkSatGr8FaVRcD3+5zDEmSVhPPsUqS1NCaaTeQ5Nyhxc3da2tVbR1RuwAsjNjNTus3\nvIz9Tzk1Jw5//ov3vOeNz7z//b++uP6cbdsO+e+bblq7+PMH7rXX1dZbb7311q/O+guvv/6SxZ9f\neQ17Hp47fvd3muTLUlJVK6lfsa7ZDVX1sBHrqqrSawPrs5F1ddwdPjryyIN7HVOSNDHrLrvsmjt9\nOOK7f1I8FCxJUkN9/9zm3cCngcOSXJ3kmX2OJ0nStPV6jrWqntHn/iVJWm08FCxJUkMGqyRJDRms\nkiQ1ZLBKktSQwSpJUkMGqyRJDRmskiQ1ZLBKktSQwSpJUkMGqyRJDRmskiQ1ZLBKktSQwSpJUkMG\nqyRJDRmskiQ1ZLBKktSQwSpJUkMGqyRJDRmskiQ1ZLBKktSQwSpJUkMGqyRJDRmskiQ1ZLBKktSQ\nwSpJUkMGqyRJDRmskiQ1ZLBKktSQwSpJUkMGqyRJDRmskiQ1ZLBKktSQwSpJUkMGqyRJDRmskiQ1\nZLBKktSQwSpJUkMGqyRJDRmskiQ1ZLBKktSQwSpJUkMGqyRJDRmskiQ1ZLBKktSQwSpJUkMGqyRJ\nDRmskiQ1ZLBKktRQr8Ga5OQkX0ry5SSv7HMsSZJWg96CNckewJuBk4EjgGckeUhf4+3MP29i/0mP\nKUmarml+9/c5Yz0e+EpVba2qW4C/BX6lx/FG+thlBqsk7W6m+d3fZ7A+ALh6aPnr3WeSJM2tPoO1\nety3JEmr0poe9/0/wNqh5bUMZq13kKT3AP6LCYwhSZqOU5ORn/f93V9VIwdOVT/jJlkDXAk8DrgG\nuAR4RlVd0cuAkiStAr3NWKvq1iQvBD4C7AG8w1CVJM273maskiTtjmb2zktJ3pnk2iRbhj47M8nX\nk2zqXifvZNszkmxJ8sUkZ0yua0nSrkqyNsm/Jbms+/4+fdH630+yPclBO9n+TrnRh5kNVuAcBjef\nGFbA2VV1TPf68OKNkjwUeA7wcOAo4MlJHtR7t5Kku+oW4CVVdSTwSOAFO248lGQt8EvAVUtsPyo3\nmpvZYK2qi4Fvj1g1+vKw2x0OfKaqbqqq24CLgF9t3Z8kqa2q+kZVbe7efx+4Aji4W3028Ipltt9Z\nbjQ1s8G6hBcl+UKSdyQ5cMT6LwKPSXJQkn2AJwGHTLZFSdJdkWQBOAb4TJJfAb5eVZdOtanOvAXr\nXwGHAkcD24A/X1xQVV8C3gBcAHwI2ARsn2CPkqS7IMl+wHuBMxh8f78KeM1wyTT62mGugrWqvlkd\n4O0M7lc8qu6dVXVcVT0W+A6D39tKkla5JHcH3gecX1XvBx4ELABfSPI1BkcgP5fkPtPqsc87L01c\nkvtX1bZu8anAyCu/ktynqr6Z5IFd3SMm1aMkadckCfAO4PKqeiNAVW0B7jtU8zXg2Kq6fjpdzvCM\nNcm7gU8DD05ydZJnAW9IcmmSLwCPBV7S1R6c5F+GNn9vksuADwDPr6obJt2/JGnFTgB+Ezhp6GeV\nT1hU86ObMyz+7h/KjcO63HhmH016gwhJkhqa2RmrJEmrkcEqSVJDBqskSQ0ZrJIkNWSwSpLUkMEq\nSVJDBqs0RUnuNfR7vG1Djz38fJKJ38AlyVOS/OES6x+a5JxJ9iTNGn/HKq0SSV4DfK+qzp5iD58C\nTlnqrjVJLgSeVVVXT64zaXY4Y5VWlyQ5NsnHk2xM8uEk9+tWfDzJ2Uk+m+TyJMcl+Yck/5nkdV3N\nQpIvJTm/q/n7JHt3687qHhD9hSR/OmLgw4Cbd4Rqkl9LsiXJ5iQXDZVuAJ7e+/8S0owyWKXVJcCb\ngKdV1XEMHsz8x926YhB8DwfeAvwT8DzgocDvJrlnV3cY8JdVdQRwA/D8JAcBT6mqI6vqKOB1I8Y+\nAfj80PIfAo+vqqOBU4Y+3wg85q7/U6X5ZLBKq8s9GATlhUk2Aa8GHjC0/gPd3y8Cl1XVtVX1f8B/\nAWu7dVdX1b93788Hfg74LnBT95zipwI/HDH2/YDrhpY/BZyX5Dnc8YEd13H7w6UlLTJXT7eR5kAY\nBOajd7L+5u7v9qH3O5Z3/P95+MKJAFVVtyU5Hngc8DTghd37YT8EfmzHQlU9r9vmSQwew7XjiSF7\nMTqYJeGMVVptbgZ+PMkjYfDsySRHrHAfD9yxPbAOuDjJvsCBVfUh4KXAUSO2uwL4qR0LSR5UVZdU\n1WsYzFIP6VYdxmDGLGkEg1VaXW5jMKN8Q5LNwCbgUSPqijvOTIddCbwgyeUMZqB/BRwAbOgeqXgx\n3SMVF7kYOGZo+U+6xzBuAT5VVZd2n58E/PPK/lnS7sOf20hzJMkCsKGqHraL27+x2/5fd7L+HsDH\ngROqavsutinNNWes0vy5K/+1/HpgnyXWrwVeaahKO+eMVZKkhpyxSpLUkMEqSVJDBqskSQ0ZrJIk\nNWSwSpLUkMEqSVJD/w8pzErD29F7bgAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "figure3()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Solution adoptée\n", "\n", "Lorsqu'une mesure manque en milieu de bloc sur lequel on intègre les données, elle est remplacée par la moyenne des deux valeurs voisines. Cela nécessite donc qu'il y ait une valeur avant et après.\n", "\n", "*Note : Pour le cas de la méthode des trapèze, ça ne change pas la valeur de l'intégrale par rapport au cas où l'on omet de reconstruire la valeur manquante.*" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\nAv1/qn1Cj1yE1hsAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "figure4()\n", "figure5()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Dans le cas de mesure manquante en limite, et en fait plus généralement au niveau des bornes d'intégration, une mesure au niveau de la borne est reconstruite :" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nxlReVd9i0wdISZI050yX9O4cf1JVd26ooCRJmr7F+ttJbup7vU3f66qqHQYUlyRJc9J0cwVvMVuB\nSJI0H3j9U5KkDplYJUnqkIlVkqQOmVglSeqQiVWSpA6ZWCVJ6pCJVZKkDplYJUnqkIlVkqQOmVgl\nSeqQiVWSpA6ZWCVJ6pCJVZKkDplYJUnqkIlVkqQOmVglSeqQiVWSpA6ZWCVJ6pCJVZKkDplYJUnq\nkIlVkqQOmVglSeqQiVWSpA6ZWCVJ6pCJVZKkDplYJUnqkIlVkqQOmVglSeqQiVWSpA6ZWCVJ6pCJ\nVZKkDplYJUnqkIlVkqQOmVglSeqQiVWSpA6ZWCVJ6pCJVZKkDplYJUnqkIlVkqQOmVglSeqQiVWS\npA6ZWCVJ6pCJVZKkDplYJUnqkIlVkqQOmVglSerQQBNrkg8muTrJjwd5HEmSRsWgW6wnAocO+BiS\nJI2MgSbWqjoTuH6Qx5AkaZR4jVWSpA4tHnYASU7qe3lO+1hdVasnKbscWD5JNZbfzPKnvp6lhx2R\nQ7qs/8Q1a/a8bO3avSZu33vrrS8/ctmyKyy/sMsvPbe2e9sllzxqVOIZVPmbYJ+X5O7vFozA930h\nlu/7HddJ/RuSqtqY8hutDfbUqnrIJPuqqtLpAceykhV1UKd1LgQdnrexXm/JMy+66J2f2X//d3dR\n3yg7/A0XfOnjxz74ScOOYy5aKOfu2atWvWRR1Vs6q9DfcZtmFs+bXcGSJHVo0LfbfBQ4C9gvyeVJ\njhzk8SRJGraBXmOtqucMsn5JkkaNXcGSJHXIxCpJUodMrJIkdcjEKklSh0yskiR1yMQqSVKHTKyS\nJHXIxCpJUodMrJIkdcjEKklSh0yskiR1yMQqSVKHTKySJHXIxCpJUodMrJIkdcjEKklSh0yskiR1\nyMQqSVKHTKySJHXIxCpJUodMrJIkdcjEKklSh0yskiR1yMQqSVKHTKySJHXIxCpJUodMrJIkdcjE\nKklSh0yskiR1yMQqSVKHTKySJHXIxCpJUodMrJIkdcjEKklSh0yskiR1yMQqSVKHTKySJHXIxCpJ\nUodMrJIkdcjEKklSh0yskiR1yMQqSVKHTKySJHXIxCpJUodMrJIkdcjEKklSh0yskiR1aPGwA9D8\ndOq6ZzzqZRd94HXDjmPQfv+GA3d/2UVnzPvPOQgL5dw9m3vdMuwYNLsG2mJNcmiSC5P8T5I3DPJY\nkiSNgoEl1iRbAP8CHAocADwnyYMHdbxxXzibpYM+xnzkeds0Z160dsmwY5irPHebxu/qppnN8zbI\nFusjgJ/Oh062AAAG6ElEQVRW1eqqugP4GPD0AR4PgP863x+6TeF52zRn/eQ2k8Mm8txtGr+rm2Y2\nz9sgE+t9gcv7Xl/RbpMkad4a5OClGmDdGm3rgLqTxXcNO5DZsFA+5yB47jQfpWow+S/JwcAxVXVo\n+/qNwLqqOravjMlXkjQnVVUm2z7IxLoYuAh4AnAl8H3gOVV1wUAOKEnSCBhYV3BV3ZnkFcBXgC2A\nE0yqkqT5bmAtVkmSFqJ5NaWhE1JsmiRHJ/nvJD9OMpZkq2HHNIqSfDDJ1Ul+PGH7K5Nc0J7DY6d6\n/0KVZK8k30hyfnuOXjVh/+uSrEuyy7BiHEVJtk7yvSTntOftmHb7P7Q/b+cm+Y8kOw451JGUZIsk\nZyc5tX29S5LTkvwkyVeT7DSoY8+bxDqsCSnmuiT3BV4JPLyqHkLTbf/s4UY1sk6k+fm6W5LHAU8D\nfruqfgv4x2EENuLuAI6uqh5wMPDy8e9mkr2APwQuHWJ8I6mq1gKPq6qHAQ8DDk3ySOCrQK+qHgr8\nBHjjEMMcZa8GVnHPHSp/BZxWVfsBX29fD8S8SawMaUKKeWIxsG074Gxb4OdDjmckVdWZwPUTNr8U\neGf7M0dVXTPrgY24qrqqqs5pn98MXADs0e5+D/CXw4pt1FXVre3TJcCWNHdWnFZV69rt3wP2HEpw\nIyzJnsCTgX8HxkfuPg04uX1+MvCMQR1/PiVWJ6TYBFX1c+DdwGU0o7dvqKqvDTeqOeWBwGOSfDfJ\n6UkOGnZAoyzJcuBA4HtJng5cUVXnDTWoEZZkUZJzgKuBr1bVDyYUeRHwxdmPbOS9F/gLmnvqx+1e\nVVe3z68Gdh/UwedTYnUU1iZIsjPNX3LLaVoR2yc5YqhBzS2LgZ2r6mCaL/InhhzPyEqyPfApmi66\ndcCbgLf2FxlGXKOsqta1XcF7Ao9M0hvfl+TNwO1VNTa0AEdQkqcCv6iqs5niZ6qaUbsDyxnzKbH+\nHNir7/VeNK1Wbdj/Ai6pqmur6k7gP4DfG3JMc8kVNOeMtjWxLsmuww1p9CTZEvg0cEpVfRa4P80f\nc+cmuYQmcfwwyb2HF+XoqqpfAd+gvcaf5IU0XZ3+Eby+3wOe1v5cfRR4fJIPA1cnuQ9AkmXALwYV\nwHxKrCuBByZZnmQJcDjw+SHHNBdcChycZJskoUm0q4Yc01zyWeDxAEn2A5ZU1bXDDWm0tD9XJwCr\nquo4gKr6cVXtXlX7VtW+NH+g/E5VDeyX3VyTZLfxkatJtqEZ5HVBkkNpekee3g5wUp+qelNV7dX+\nXD0b+K+qeh5NPnhBW+wFNN/dgZg3C507IcWmqarvJ/kU8CPgzvbf44cb1WhK8lHgscCuSS4H3gJ8\nEPhgewvO7cDzhxjiqHo08FzgvCRnt9veVFVf6ivjpZz1LQNObu94WAR8vKq+mOR/aAYzndb8zcJ3\nquplQ4xz1I3/bL0L+ESSFwOrgT8d1AGdIEKSpA7Np65gSZKGzsQqSVKHTKySJHXIxCpJUodMrJIk\ndcjEKklSh0ys0hAl2bVd2ursJGuSXNE+/1G7KMJsx/OMJP9nA/t/K8mJsxmTNNd4H6s0IpK8Fbip\nqt4zxBi+DRxWVddtoMxpwIuq6vKpykgLmS1WabQkycPblXJWJvly3/ympyd5T5IfJFmV5KB2oeuf\nJHl7W2Z5kguTnNKW+WQ7HR5J3tUuNn5ukn+Y5MD7AbeNJ9Ukz0ry43ah7TP6ip6Ka/ZKUzKxSqMl\nwPuAP6mqg2gWV/+7dl/RJL7fBT4AfI5mPdjfAl7YrlQEsB/w/qo6ALgReFmSXYBnVNX4Atlvn+TY\nj6aZ0nLc/wGe2K6ucljf9pXAH2z+R5XmJxOrNFq2okmUp7Xz6r6Z31xXeHxhif8Gzq+qq6vqduBi\n7lnd6fKq+k77/BTg94FfAWuTnJDkmcCvJzn2fYD+hdq/TTNX7Z/xm/OKX8M9C5VLmmDeTMIvzROh\nSZhTLd13W/vvur7n46/Hv8/9AydCs/zkXUkeATwB+BPgFe3zfr8Gdhx/UVUvbd/zFJol3R7edhNv\nzeSJWRK2WKVRcxtwryQHQ7OOaZIDNrKOvcffD6wAzkyyHbBTu6LMa4GHTvK+C4AHjL9Icv+q+n5V\nvZWmlbpnu2s/mhazpEmYWKXRchdNi/LYJOcAZwOPmqRcMfVSaxcBL0+yiqYF+q/ADsCpSc4FzgSO\nnuR9ZwIH9r3++yTntUvifbuqzmu3Pw74wsZ9LGnh8HYbaR5Jshw4taoesonvP659/9en2L8VcDrw\n6Kpat4lhSvOaLVZp/tmcv5bfAWy7gf17AW8wqUpTs8UqSVKHbLFKktQhE6skSR0ysUqS1CETqyRJ\nHTKxSpLUIROrJEkd+v+udOhhhB56DwAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "figure6()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Annexe : Construction des figures\n", "\n", "Cette partie doit être exécutée avant le reste du document afin de définir les différentes figures." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "%matplotlib inline\n", "from matplotlib.pyplot import figure\n", "from matplotlib.patches import Polygon\n", "import numpy as np" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# Prenons quelques mesures d'exemple\n", "times = [0.00, 8.01, 16.02, 23.97, 32.00, 39.99]\n", "measures = [4.52, 3.28, 2.87, 4.02, 3.93, 2.69 ]" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def figure1():\n", " plot = figure().add_axes([0, 0, 1, 1])\n", " plot.set_ylim([0, 5])\n", " plot.spines['right'].set_color('none')\n", " plot.spines['top'].set_color('none')\n", " plot.yaxis.tick_left()\n", " plot.xaxis.tick_bottom()\n", " plot.grid(color='black', alpha=0.5, linestyle='dashed', linewidth=0.5, axis='y')\n", " plot.set_xlabel('Temps (s)')\n", " plot.set_ylabel('Puissance (W)')\n", " plot.set_xticks([0, 8, 16, 24, 32, 40, 48])\n", "\n", " plot.scatter(times, measures, marker='+', color='orange', alpha=0.8)\n", " plot.bar(times, measures, width=8, linewidth=0, color='brown', alpha=0.1, label='Données supposées')\n", " plot.bar(times, measures, width=0, edgecolor='orange', color='orange', alpha=0.8, label='Données connues')\n", " plot.legend(loc=1)\n", " \n", " return" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [], "source": [ "def figure2():\n", " plot = figure().add_axes([0, 0, 1, 1])\n", " plot.set_ylim([0, 5])\n", " plot.spines['right'].set_color('none')\n", " plot.spines['top'].set_color('none')\n", " plot.yaxis.tick_left()\n", " plot.xaxis.tick_bottom()\n", " plot.grid(color='black', alpha=0.5, linestyle='dashed', linewidth=0.5, axis='y')\n", " plot.set_xlabel('Temps (s)')\n", " plot.set_ylabel('Puissance (W)')\n", " plot.set_xticks([0, 8, 16, 24, 32, 40, 48])\n", "\n", " plot.scatter(times, measures, marker='+', color='orange', alpha=0.8)\n", " verts = [(times[0], 0)] + list(zip(times, measures)) + [(times[-1], 0)]\n", " poly = Polygon(verts, facecolor='brown', alpha=0.1, linewidth=0, label='Données supposées')\n", " plot.add_patch(poly)\n", " plot.bar(times[-1], measures[-1], width=8, linewidth=0, color='brown', alpha=0.1)\n", " plot.bar(times, measures, width=0, edgecolor='orange', color='orange', alpha=0.8, label='Données connues')\n", " plot.legend(loc=1)\n", " \n", " return" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [], "source": [ "def figure3():\n", " times = [15.9, 24.1]\n", " measures = [3.54, 4.28]\n", " \n", " plot = figure().add_axes([0, 0, 1, 1])\n", " plot.set_ylim([0, 5])\n", " plot.spines['right'].set_color('none')\n", " plot.spines['top'].set_color('none')\n", " plot.yaxis.tick_left()\n", " plot.xaxis.tick_bottom()\n", " plot.grid(color='black', alpha=0.5, linestyle='dashed', linewidth=0.5, axis='y')\n", " plot.set_xlabel('Temps (s)')\n", " plot.set_ylabel('Puissance (W)')\n", " plot.set_xticks(times)\n", "\n", " plot.scatter(times, measures, marker='+', color='orange', alpha=0.8)\n", " plot.bar([16], [1], width=8, linewidth=0, color='brown', alpha=0.1)\n", " plot.bar(times, measures, width=0, edgecolor='orange', color='orange', alpha=0.8)\n", " \n", " return" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [], "source": [ "def figure4():\n", " global times, measures\n", " times2 = times.copy()\n", " measures2 = measures.copy()\n", " del times2[2]\n", " del measures2[2]\n", " \n", " plot = figure().add_axes([0, 0, 1, 1])\n", " plot.set_ylim([0, 5])\n", " plot.spines['right'].set_color('none')\n", " plot.spines['top'].set_color('none')\n", " plot.yaxis.tick_left()\n", " plot.xaxis.tick_bottom()\n", " plot.grid(color='black', alpha=0.5, linestyle='dashed', linewidth=0.5, axis='y')\n", " plot.set_xlabel('Temps (s)')\n", " plot.set_ylabel('Puissance (W)')\n", " plot.set_xticks([0, 8, 16, 24, 32, 40, 48])\n", "\n", " plot.bar(times2, measures2, width=8, linewidth=0, color='brown', alpha=0.1)\n", " \n", " plot.scatter(times2, measures2, marker='+', color='orange', alpha=0.8)\n", " plot.bar(times2, measures2, width=0, edgecolor='orange', color='orange', alpha=0.8, label='Données connues')\n", " \n", " plot.scatter((times2[1] + times2[2]) / 2, (measures2[1] + measures2[2]) / 2, marker='+', color='red', alpha=0.5)\n", " plot.bar((times2[1] + times2[2]) / 2, (measures2[1] + measures2[2]) / 2, width=0, edgecolor='red', color='red', alpha=0.5, label='Données reconstruites')\n", " plot.bar((times2[1] + times2[2]) / 2, (measures2[1] + measures2[2]) / 2, width=8, linewidth=0, color='red', alpha=0.2)\n", " \n", " plot.legend(loc=1)\n", " \n", " return" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def figure5():\n", " global times, measures\n", " times2 = times.copy()\n", " measures2 = measures.copy()\n", " del times2[2]\n", " del measures2[2]\n", " \n", " plot = figure().add_axes([0, 0, 1, 1])\n", " plot.set_ylim([0, 5])\n", " plot.spines['right'].set_color('none')\n", " plot.spines['top'].set_color('none')\n", " plot.yaxis.tick_left()\n", " plot.xaxis.tick_bottom()\n", " plot.grid(color='black', alpha=0.5, linestyle='dashed', linewidth=0.5, axis='y')\n", " plot.set_xlabel('Temps (s)')\n", " plot.set_ylabel('Puissance (W)')\n", " plot.set_xticks([0, 8, 16, 24, 32, 40, 48])\n", "\n", " verts = [(times2[0], 0)] + list(zip(times2, measures2)) + [(times2[-1], 0)]\n", " poly = Polygon(verts, facecolor='brown', alpha=0.1, linewidth=0)\n", " plot.add_patch(poly)\n", " plot.bar(times2[-1], measures2[-1], width=8, linewidth=0, color='brown', alpha=0.1)\n", " \n", " plot.scatter(times2, measures2, marker='+', color='orange', alpha=0.8)\n", " plot.bar(times2, measures2, width=0, edgecolor='orange', color='orange', alpha=0.8, label='Données connues')\n", " \n", " plot.scatter((times2[1] + times2[2]) / 2, (measures2[1] + measures2[2]) / 2, marker='+', color='red', alpha=0.5)\n", " plot.bar((times2[1] + times2[2]) / 2, (measures2[1] + measures2[2]) / 2, width=0, edgecolor='red', color='red', alpha=0.5, label='Données reconstruites')\n", " \n", " plot.legend(loc=1)\n", " \n", " return" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [], "source": [ "def figure6():\n", " times = np.arange(len(measures)) * 8\n", " \n", " a, b = 10, 30 # Bornes d'intégration\n", " \n", " plot = figure().add_axes([0, 0, 1, 1])\n", " plot.set_ylim([0, 5])\n", " plot.spines['right'].set_color('none')\n", " plot.spines['top'].set_color('none')\n", " plot.yaxis.tick_left()\n", " plot.xaxis.tick_bottom()\n", " plot.grid(color='black', alpha=0.5, linestyle='dashed', linewidth=0.5, axis='y')\n", " plot.set_xlabel('Temps (s)')\n", " plot.set_ylabel('Puissance (W)')\n", " plot.set_xticks(times)\n", "\n", " t_a = (a - times[1]) / (times[2] - times[1])\n", " m_a = measures[1] * (1 - t_a) + measures[2] * t_a\n", " \n", " t_b = (b - times[3]) / (times[4] - times[3])\n", " m_b = measures[3] * (1 - t_b) + measures[4] * t_b\n", " \n", " verts = [(a, 0), (a, m_a)] + list(zip(times[2:4], measures[2:4])) + [(b, m_b), (b, 0)]\n", " poly = Polygon(verts, facecolor='brown', alpha=0.1, linewidth=0)\n", " plot.add_patch(poly)\n", " \n", " plot.bar([a], [0.1], width=b - a, linewidth=0, color='blue', alpha=0.5, label='Intervale d\\'intégration')\n", " \n", " plot.scatter(times, measures, marker='+', color='orange', alpha=0.8)\n", " plot.bar(times, measures, width=0, edgecolor='orange', color='orange', alpha=0.8)\n", " \n", " plot.scatter([a, b], [m_a, m_b], marker='+', color='red', alpha=0.5)\n", " plot.bar([a, b], [m_a, m_b], width=0, edgecolor='red', color='red', alpha=0.5, label='Données reconstruites')\n", " \n", " plot.legend(loc=1)\n", " \n", " return" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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.4.3" } }, "nbformat": 4, "nbformat_minor": 0 }