2009-11-08 19 views

Répondre

17

This page dit,

Scripts par rapport aux fonctions

Les scripts sont m-fichiers contenant des déclarations Matlab . MATLAB `` functions '' sont un autre type de fichier m. La plus grande différence entre les scripts et les fonctions est que les fonctions ont l'entrée et les paramètres de sortie. Les fichiers de script ne peuvent fonctionner que sur les variables que sont codées en dur dans leur fichier m. Comme vous pouvez voir, fonctionne beaucoup plus flexible. Ils sont donc plus adaptés aux tâches générales qui seront appliquées à différentes données . Les scripts sont utiles pour les tâches qui ne changent pas. Ils sont également un moyen de documenter une séquence spécifique d'actions , par exemple un appel de fonction avec des valeurs de paramètre spéciales, qui peuvent être difficiles à mémoriser . Il y a plus de différences subtiles entre les scripts et fonctions. Un script peut être considéré comme en tant que macro clavier: lorsque vous tapez le nom du script, toutes les commandes contenues dans celui-ci sont exécutées comme si vous aviez tapé ces commandes dans la fenêtre de commande. Ainsi, toutes les variables créées dans le script sont ajoutées à l'espace de travail pour la session en cours. En outre, si l'une des variables dans le fichier script ont le même nom que ceux dans votre espace de travail actuel, les valeurs de ces variables dans l'espace de travail sont modifié par les actions dans le script. Ceci peut être utilisé à votre avantage. Il peut également provoquer des effets secondaires indésirables. Par contre, les variables de fonction sont locales à la fonction. (L'exception est qu'il est possible de déclarer et utiliser des variables globales, mais qui exige et action explicite par l'utilisateur .) La portée locale de la fonction variables que vous donne une plus grande sécurité et de flexibilité. La seule façon (en plus de explicitement déclaré des variables globales) pour obtenir des informations dans et hors d'une fonction est grâce à travers les variables dans les listes de paramètres.

Exemple

L'une des principales différences entre un script et une fonction est l'accès à des variables dans l'espace de travail. Par exemple, supposons que dans l'espace de travail, vous avez défini deux variables a = 10 et b = 20. Ces variables sont définies sur la ligne de commande de l'invite principale.

fichier script - display_mult.m

disp(a*b);

Typing display_mult afficherait le produit de a et b dans l'espace de travail, à savoir 10*20 ou 200.

Mais si vous avez défini une fonction, appelée display_mult définie dans un fichier avec le même nom:

fichier Fonction - display_mult.m

function display_mult(a,b) 
    disp(a*b); 
end 

Vous devrez inclure les deux variables en tant qu'arguments de l'appel de fonction. Donc, display_multpas fonctionne cette fois car a et b n'existe pas dans l'espace de travail de la fonction. Vous devrez les inclure en exécutant display_mult(a,b) qui affichera le résultat souhaité.

explication simple

Chaque instruction dans un script équivaut à les taper à la fenêtre de commande de Matlab. Vous les stockez juste avant dans un fichier! D'autre part, une fonction prend en arguments et est un "nouveau" espace de travail, séparé de l'espace de travail principal.

Remarque: Le à la fin d'un appel de fonction est facultatif mais j'aime l'ajouter pour que les choses soient organisées. Bien sûr, si vous avez plusieurs définitions de fonctions dans un fichier, elles devront toutes se terminer par end. En outre, vous ne pouvez pas avoir un script et une définition de fonction dans le même fichier.

+0

exemple? pouvez-vous me donner un exemple? – izzat

+0

Ajout d'un exemple et extension de la solution – Jacob

Questions connexes