La fonction en ligne dans Matlab

La fonction en ligne dans Matlab

Cet article expliquera l'utilisation de la fonction en ligne () pour construire des objets de fonction dans MATLAB. Nous examinerons les différentes méthodes que fournit cette fonction, et nous vous montrerons comment utiliser chacun avec des images et des exemples pratiques. Nous allons également aller plus en détail sur les arguments d'entrée et de sortie et du type de données que chacun de ces arguments accepte.

IMPORTANT: MathWorks supprimera cette fonction de la bibliothèque Matlab dans les futures versions. Par conséquent, nous vous recommandons d'utiliser des fonctions anonymes au lieu de celles créées avec Inline ().

Matlab inline () Syntaxe de la fonction

f = en ligne (ex)
f = en ligne (ex, n)
f = en ligne (ex, arg1, arg2… argn)

Description et des exemples de la fonction MATLAB Inline ()

La fonction en ligne () de MatLab génère des fonctions en ligne à partir du code. Inline renvoie une fonction dans «func» qui, lorsqu'elle est appelée, a le même comportement et les mêmes attributs qu'une fonction standard et renvoie sa sortie à la suite de l'expression ou de la fonction spécifiée lorsque l'objet a été créé. Une fonction créée avec cette méthode peut être utilisée n'importe où dans le code sans nécessiter une nouvelle déclaration. La fonction en ligne () de Matlab fournit deux façons de créer ces fonctions. L'une consiste à les créer à partir d'expressions ou de formules mathématiques définies par l'utilisateur ou créées par l'utilisateur. Une autre façon consiste à utiliser des expressions contenant des fonctions de la bibliothèque MATLAB. Pour créer une fonction en utilisant cette méthode, nous devons déclarer l'expression explicite sous la forme de chaînes de caractères dans les arguments d'entrée de Inline (). Maintenant, voyons comment nous créons une fonction, «func», à partir de l'expression a + b:

Func = inline ('a + b')

De cette façon, nous avons créé la fonction «Func», qui, lorsqu'elle est appelée, renvoie le résultat de l'ajout de A + B. C'est le moyen le plus simple de créer une fonction en ligne () à partir d'une expression créée par l'utilisateur.

Func = inline ('fonction (arg1, arg2)')

Ou à partir d'une fonction dont les arguments d'entrée sont explicitement déclarés:

Func = inline ('function (arg1, arg2)', 'arg2', 'arg1')

Comme vous pouvez le voir dans le cas précédent, l'expression et les arguments d'entrée dans Inline () sont déclarés vecteurs de caractère séparés par des virgules. La figure suivante montre l'objet créé pour l'expression précédente:

Lorsqu'une fonction en ligne est créée à l'aide d'une fonction, les arguments d'entrée sont déterminés en reconnaissant un caractère minuscule alphanumérique qui ne fait pas partie d'un mot.

Les arguments d'entrée pour la fonction en ligne () sont les suivants:

Exp: C'est l'expression d'entrée. Le type de données pour «Exp» est une chaîne de caractères.

Arg1, arg2, arg… n: Ce sont les arguments d'entrée de la fonction créée. Le type de données pour ces entrées est.

N: Ce scalaire positif indique le nombre d'arguments d'entrée.

Ensuite, regardez quelques exemples pratiques et des images d'application de la fonction MATLAB Inline ().

Exemple 1: pour créer et utiliser une fonction en ligne à partir d'une expression pour calculer la valeur RMS d'une onde sinusoïdale

Dans cet exemple, nous créerons une application de console simple pour calculer la valeur RMS d'une onde sinusoïdale à partir d'une fonction créée avec Inline (). Pour ce faire, nous faisons la fonction «RMS». Puisque l'onde est sinusoïdale, nous calculons sa valeur RMS en utilisant la formule suivante:

RMS = VPK1.4142

Cette formule est convertie en fonction par inline (). Chaque fois qu'il est appelé à partir de n'importe quelle partie du script dans «R», il renvoie la valeur RMS de la valeur entrée dans «x».

Pour créer la fonction RMS, nous appelons Inline (), l'envoyant comme une chaîne de caractères d'argument d'entrée contenant l'expression explicite de la formule pour trouver la valeur RMS de la tension de crête à crête (VPP) «X». Une fois la fonction RMS créée pour notre calcul, nous utilisons la fonction d'invite pour entrer le VPP à partir de laquelle nous voulons obtenir la valeur RMS dans la console de commande.

Rms = inline ('x./1.4142 ');
tandis que 1
CLC ();
inside = 'Entrée VPP';
x = entrée (invite);
r = rms (x);
DISP (['RMS est:', num2str (r)])
% DISP (R);
inside = 'Appuyez sur Entrée pour continuer ou Ctrl + C pour quitter';
x = entrée (invite);
fin

Maintenant que nous avons créé notre fonction RMS (x), nous pouvons l'utiliser pour calculer les valeurs RMS des ondes sinusoïdales en fonction de leur tension de crête. Une fois créée, cette fonction peut être appelée de n'importe où dans le code.

Exemple 2: pour créer et utiliser une fonction en ligne à partir d'une fonction

Maintenant, voyons comment vous pouvez utiliser Inline () pour créer une fonction à partir d'une fonction dans la bibliothèque Matlab. Dans cet exemple, nous créons une application de console dans laquelle nous créons la fonction «R» qui renvoie le module de division du dividende «A» par le diviseur «B». Pour ce faire, nous utilisons la fonction mod () de la bibliothèque MATLAB:

r = inline ('mod (a, b)', 'a', 'b');
tandis que 1
CLC ();
inside = 'Entrée Dividendo';
a = entrée (invite);
invite = 'Entrée Diviseur';
b = entrée (invite);
d = a./ b;
m = r (a, b);
Disp ([«Le résultat est:«, int2str (d) », '. Le module est: ', num2str (m)])
inside = 'Appuyez sur Entrée pour continuer ou Ctrl + C pour quitter';
x = entrée (invite);
fin

Alternative plus fiable à la fonction en ligne () de Matlab

Comme nous l'avons mentionné, la fonction en ligne () est abolie dans Matlab. Nous recommandons donc de créer les fonctions que nous utiliserons dans notre code en tant que fonctions anonymes avec le caractère spécial «@». Ensuite, nous montrerons brièvement comment vous pouvez créer des fonctions en utilisant cette méthode.

Comment créer une fonction dans MATLAB en utilisant une méthode alternative pour inline ()

Maintenant, regardons un exemple du moyen le plus simple de créer une fonction anonyme en utilisant le caractère spécial «@». Ensuite, nous examinerons la syntaxe pour déclarer une fonction en utilisant ce mode:

Nom = @ (arguments d'entrée)

Le nom de la fonction doit précéder le caractère «@». Ensuite, les arguments d'entrée doivent être déclarés entre parenthèses et séparés par des virgules s'il y en a plus d'un et alors l'expression. Ensuite, nous répétons l'exemple 1 mais remplaçons Inline () par cette méthode pour créer la fonction RMS:

Rms = @ (x) x./1.4142;
tandis que 1
CLC ();
inside = 'Entrée VPP';
x = entrée (invite);
r = rms (x);
DISP (['RMS est:', num2str (r)])
% DISP (R);
inside = 'Appuyez sur Entrée pour continuer ou Ctrl + C pour quitter';
x = entrée (invite);
fin

Conclusion

Cet article a expliqué comment créer des fonctions à l'aide de la fonction MATLAB Inline (). La fonction en ligne () est l'un des nombreux outils que ce langage de programmation puissant offre pour la création de fonctions. Nous avons inclus des exemples et des images pratiques montrant comment vous pouvez créer des fonctions à partir de formules mathématiques entrées par le programmeur et des fonctions de la bibliothèque Matlab. Nous vous avons également montré des alternatives plus fiables pour la création de fonctions, car MathWorks a annoncé que la fonction en ligne () ne sera plus utilisée dans les futures versions. Nous espérons que vous avez trouvé cet article MATLAB utile. Voir d'autres articles sur les indices Linux pour plus de conseils et d'informations.