Fonctions dans Matlab

Abordons la création d'une fonction dans Matlab, voulez-vous ?

Alors, qu'est-ce qu'une fonction ? Il s'agit d'un bloc de code dans un programme que vous pouvez exécuter à tout moment. Le code d'une fonction est séparé du programme principal et peut se trouver dans le même fichier que le programme ou dans un fichier différent. L'utilisation de fonctions permet de rendre le code d'un programme plus concis et organisé.

Pour définir une fonction dans Matlab, vous devez suivre cette syntaxe :

function [y1, y2, ...] = nom_de_fonction([x1,x2,...])
code à exécuter
end

  • Les lettres x1, x2... représentent les variables d'entrée que la fonction reçoit de l'appel.
  • Les lettres y1, y2... représentent les variables de sortie que la fonction retourne au programme appelant.

Dans Matlab, les fonctions doivent toujours être ajoutées aux dernières lignes d'un script. Sinon, le script vous signalera une erreur.

Une fois que vous avez défini une fonction, vous pouvez l'appeler depuis différentes parties du programme et l'exécuter plusieurs fois.

    Exemple

    Donnons un exemple pratique. Supposons que vous souhaitiez écrire un nouveau script et créer une fonction appelée "moyenne()".

    Cette fonction devrait recevoir deux données numériques x1 et x2 en entrée et retourner leur moyenne arithmétique y en sortie.

    Voici comment vous pouvez définir la fonction dans Matlab :

    function y = moyenne(x1,x2)
    y = (x1+x2)/2;
    end

    À présent, vous pouvez insérer un appel à la fonction "moyenne()" dans le code du programme principal. Par exemple :

    m=moyenne(2,4);
    disp(m);

    function y = moyenne(x1,x2)
    y = (x1+x2)/2;
    end

    La fonction "moyenne()" reçoit les deux valeurs d'entrée x1=2 et x2=4, calcule leur moyenne y=(2+4)/2=3, et retourne le résultat y=3 au programme appelant.

    Le programme appelant reçoit la valeur de sortie de la fonction (3) et l'assigne à la variable "m" (m=3).

    Enfin, le programme affiche la valeur de "m" à l'écran.

    3

    Si vous le souhaitez, vous pouvez également effectuer un autre appel à la fonction "moyenne()" dans le programme principal, en passant différentes valeurs en entrée. Par exemple :

    m=moyenne(2,4);
    disp(m);
    m=moyenne(4,6);
    disp(m);

    function y = moyenne(x1,x2)
    y = (x1+x2)/2;
    end

      Note. Comme vous pouvez le voir, le programme appelle la fonction "moyenne()" deux fois à partir de deux points différents dans le programme principal.
    1. La première fois, il passe les valeurs 2 et 4, recevant 3 comme réponse.
    2. La seconde fois, il passe les valeurs 4 et 6, recevant 5 comme réponse.

    Cette fois-ci, la fonction "moyenne()" reçoit les valeurs d'entrée x1=4 et x2=6, calcule leur moyenne y=(4+6)/2=5, et retourne le résultat y=5 au programme appelant.

    Le programme appelant reçoit la valeur de sortie de la fonction (5), l'assigne à la variable "m" (m=5), et affiche la valeur de "m" à l'écran.

    Ainsi, cette fois la sortie est 5.

    3
    5

    Donc, comme vous pouvez le voir, définir et utiliser des fonctions dans Matlab est assez simple et direct.

    Cela vous permet d'écrire un code plus efficace et organisé, ce qui est toujours une bonne chose dans n'importe quel langage de programmation.

    Comment retourner plusieurs valeurs de sortie

    Dans Matlab, vous pouvez en fait retourner plus d'une valeur d'une fonction. C'est assez astucieux, en réalité.

    Laissez-moi vous montrer un exemple.

    Disons que nous avons cette fonction appelée "puissance" qui prend une seule valeur d'entrée et produit deux valeurs de sortie.

    [y1,y2]=puissance(2);
    disp(y1);
    disp(y2);

    function [y1, y2] = puissance(x)
    y1=x^2;
    y2=x^3;
    end

    Dans ce cas, l'appel [y1,y2] = puissance(2) passe une seule valeur d'entrée x=2 à la fonction.

    La fonction puissance() calcule le carré x2=4 et le cube x3=8 de la variable x=2, et les retourne au programme appelant.

    Le programme appelant reçoit les deux valeurs de sortie, les assigne aux variables y1=4 et y2=8, et les imprime finalement à l'écran.

    4
    8

    La déclaration de retour

    Mais que faire si nous voulons quitter la fonction avant qu'elle n'ait exécuté toutes les instructions dans le bloc de code ? C'est là qu'intervient la déclaration de "return".

    La déclaration return permet de sortir prématurément d'une fonction.

    Lorsque Matlab rencontre la déclaration de retour dans le bloc de code d'une fonction, il met fin à l'exécution de la fonction et rend la main au programme appelant.

    Note. Si la déclaration de retour n'est pas présente dans le bloc de code, le contrôle revient automatiquement au programme appelant après l'exécution de la dernière instruction dans le bloc de fonction.

    Par exemple, considérez cette version modifiée de la fonction "power" :

    [y1,y2]=power(-2);
    disp(y1);
    disp(y2);

    function [y1, y2] = power(x)
    if x<0
    y1=0
    y2=0
    return
    end
    y1=x^2;
    y2=x^3;
    end

    Voici, nous avons ajouté une instruction "if" pour vérifier si la valeur d'entrée est négative.

    Si c'est le cas, nous mettons les valeurs de sortie à 0, puis nous quittons immédiatement la fonction en utilisant la déclaration de "return".

    Cela nous permet de retourner prématurément sans exécuter d'autres instructions dans le bloc de code.

    Dans ce code d'exemple, la valeur passée est négative (x<0), la déclaration de retour met fin à l'exécution de la fonction power(), en retournant les résultats y1=0 et y2=0.

    0
    0

    Voilà, la déclaration de "return" peut être très utile pour sortir prématurément des fonctions. Il suffit de s'en souvenir pour l'utiliser judicieusement, et seulement lorsque c'est nécessaire.

     
     

    Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

    FacebookTwitterLinkedinLinkedin

    Fonctions dans Matlab