{ "cells": [ { "cell_type": "markdown", "id": "f0853696", "metadata": {}, "source": [ "# Numpy, le manipulateur de matrices" ] }, { "cell_type": "markdown", "id": "4e754d97", "metadata": {}, "source": [ "Dans cet exercice, nous allons nous intéresser à la bibliothèque Numpy. Pour pouvoir l'utiliser, il est nécessaire au préalable qu'elle soit installée :\n", "\n", "**pip install numpy**\n", "\n", "(uniquement sur votre propre machine en local)" ] }, { "cell_type": "markdown", "id": "a669dd5f", "metadata": {}, "source": [ "Puis de l'importer via l'instruction suivante :" ] }, { "cell_type": "code", "execution_count": null, "id": "32823167", "metadata": {}, "outputs": [], "source": [ "import numpy as np" ] }, { "cell_type": "markdown", "id": "ef6c9f7f", "metadata": {}, "source": [ "## Premiers vecteurs" ] }, { "cell_type": "markdown", "id": "e47f31dd", "metadata": {}, "source": [ "> **Exécutez les instructions suivantes**" ] }, { "cell_type": "code", "execution_count": null, "id": "79a3dcbb", "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "x = np.array( [1,2,3] )\n", "y = np.sin(x)\n", "\n", "print(f'type de x : {type(x)} - shape de x : {x.shape}')\n", "print(f'type de y : {type(y)} - shape de y : {y.shape}')\n", "\n", "print( y )" ] }, { "cell_type": "markdown", "id": "941a393f", "metadata": {}, "source": [ "Que contiennent les variables x et y ?" ] }, { "cell_type": "markdown", "id": "b08c114b", "metadata": {}, "source": [ "Réponse :" ] }, { "cell_type": "markdown", "id": "dd74d8f9", "metadata": {}, "source": [ "## Premières matrices" ] }, { "cell_type": "code", "execution_count": null, "id": "3163cb3a", "metadata": {}, "outputs": [], "source": [ "mb = np.array( [[1,2,3] , [4,5,6]] )\n", "mc = np.array( [[1,2,3] , [4,5,6]] ) \n", "mm = mb + mc\n", "print(f'type de mm : {type(mm)} - shape de mm : {mm.shape}')\n", "print( mm )\n" ] }, { "cell_type": "markdown", "id": "a6ffb721", "metadata": {}, "source": [ "## Matrices particulières" ] }, { "cell_type": "markdown", "id": "e3d8dcdb", "metadata": {}, "source": [ "> **Exécutez les instructions suivantes**" ] }, { "cell_type": "code", "execution_count": null, "id": "4b7f564a", "metadata": { "scrolled": true }, "outputs": [], "source": [ "vz = np.zeros( 10 )\n", "print( f'shape de vz : {vz.shape}' )\n", "print( f'valeurs de vz : {vz}' )" ] }, { "cell_type": "markdown", "id": "c04f796f", "metadata": {}, "source": [ "A quoi sert la fonction zeros ?" ] }, { "cell_type": "markdown", "id": "2bce7796", "metadata": {}, "source": [ "Réponse :" ] }, { "cell_type": "markdown", "id": "95ca754b", "metadata": {}, "source": [ "> Exécutez les instructions suivantes" ] }, { "cell_type": "code", "execution_count": null, "id": "58ab02a0", "metadata": {}, "outputs": [], "source": [ "mo = np.ones( (10,3) )\n", "print( f'shape de mo : {mo.shape}' )\n", "print( f'valeurs de mo : {mo}' )" ] }, { "cell_type": "markdown", "id": "83b932c7", "metadata": {}, "source": [ "> **Exécutez les instructions suivantes** et déterminez le rôle des fonctions linspace, logspace et arange" ] }, { "cell_type": "code", "execution_count": null, "id": "e014c40a", "metadata": {}, "outputs": [], "source": [ "vlin = np.linspace( -1, 3, 21 )\n", "vlog = np.logspace( 1, 5, 11 )\n", "vara = np.arange( 5, step=0.5 )" ] }, { "cell_type": "code", "execution_count": null, "id": "d3dcc398", "metadata": {}, "outputs": [], "source": [ "# TO DO" ] }, { "cell_type": "markdown", "id": "b47e126a", "metadata": {}, "source": [ "## Calculs sur des matrices" ] }, { "cell_type": "markdown", "id": "294692f1", "metadata": {}, "source": [ "> **Exécutez les instructions suivantes** et déterminez le rôle de la fonction *sum* et du paramètre *axis*" ] }, { "cell_type": "code", "execution_count": null, "id": "4217125d", "metadata": {}, "outputs": [], "source": [ "mb = np.array( [[1,2,3] , [4,5,6]] )\n", "\n", "total = np.sum(mb) \n", "total_c = np.sum(mb, axis=0)\n", "total_r = np.sum(mb, axis=1)" ] }, { "cell_type": "code", "execution_count": null, "id": "e635b604", "metadata": {}, "outputs": [], "source": [ "# TO DO" ] }, { "cell_type": "markdown", "id": "d8e320bc", "metadata": {}, "source": [ "> **Exécutez les instructions suivantes** et déterminez le rôle de la fonction *mean* et du paramètre *axis*" ] }, { "cell_type": "code", "execution_count": null, "id": "49df7f78", "metadata": {}, "outputs": [], "source": [ "moy = np.mean(mb) \n", "moy_c = np.mean(mb, axis=0)\n", "moy_r = np.mean(mb, axis=1)" ] }, { "cell_type": "code", "execution_count": null, "id": "2239131b", "metadata": {}, "outputs": [], "source": [ "# TO DO" ] }, { "cell_type": "markdown", "id": "0806a138", "metadata": {}, "source": [ "## Matrices partielles" ] }, { "cell_type": "markdown", "id": "f4111b34", "metadata": {}, "source": [ "> **Exécutez les instructions suivantes** et déterminez les actions des deux dernières instructions" ] }, { "cell_type": "code", "execution_count": null, "id": "b872e948", "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "vect = np.arange( 100 ) \n", "vect_p = vect[ 10 : 30 ]\n", "vect_s = vect[ 50 : ]" ] }, { "cell_type": "code", "execution_count": null, "id": "4ee5d2a9", "metadata": {}, "outputs": [], "source": [ "# TO DO" ] }, { "cell_type": "markdown", "id": "b234911d", "metadata": {}, "source": [ "> **Exécutez les instructions suivantes** et déterminez l'action de la dernière instruction" ] }, { "cell_type": "code", "execution_count": null, "id": "1fb40bf0", "metadata": {}, "outputs": [], "source": [ "mb = np.array( [[1,2,3] , [4,5,6]] )\n", "mc = md[ : , 1:3 ]" ] }, { "cell_type": "code", "execution_count": null, "id": "a2a7d58d", "metadata": {}, "outputs": [], "source": [ "# TO DO" ] }, { "cell_type": "markdown", "id": "4527a02b", "metadata": {}, "source": [ "## Tests sur les matrices" ] }, { "cell_type": "markdown", "id": "7b59bf0c", "metadata": {}, "source": [ "> **Exécutez les instructions suivantes** et déterminez le contenu des deux vecteurs c et tf" ] }, { "cell_type": "code", "execution_count": null, "id": "0edb3fee", "metadata": {}, "outputs": [], "source": [ "c = vect[(vect > 2) & (vect < 11)]\n", "tf = (vect > 2) & (vect < 11)" ] }, { "cell_type": "code", "execution_count": null, "id": "fb4b5e17", "metadata": {}, "outputs": [], "source": [ "# TO DO" ] } ], "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.9.16" } }, "nbformat": 4, "nbformat_minor": 5 }