La fonction isnomérique dans Matlab

La fonction isnomérique dans Matlab
Après avoir connu le type de données, nous enverrons les arguments d'entrée d'une fonction, ce qui est essentiel dans la programmation. Il peut éviter les erreurs ou un comportement inattendu en raison de l'incompatibilité des données.

Dans cet article de Linux Hint, vous apprendrez à utiliser la fonction Matlab isNumeric () pour déterminer si une matrice est numérique. Nous expliquons tout ce que vous devez savoir sur l'utilisation de cette fonction: ses arguments d'entrée et de sortie, le type de données qu'il accepte, etc.

De plus, vous trouverez des images et des exemples pratiques avec des extraits de code et des appels de fonction avec différents types de données et tableaux.

Matlab isNumeric () Fonction Syntaxe

r = isNuméric (x)

Description de la fonction Matlab IsNumeric ()

La fonction isNumeric () renvoie un résultat logique en «r» égal à 1 si le scalaire «x» ou tous les éléments du vecteur ou de la matrice de ses arguments d'entrée ont des valeurs numériques. Un 0 logique se traduira si le scalaire ou tout élément d'un vecteur ou d'une matrice n'a pas de données non numériques.

Le «est… .»Les fonctions sont un ensemble de fonctions MATLAB pour déterminer le type de données d'un tableau.

Comment déterminer si un scalaire est numérique avec la fonction ISNumeric () de Matlab

Dans cet exemple, nous verrons comment utiliser la fonction isNumeric () pour déterminer si un scalaire est numérique. Pour ce faire, nous utilisons la console de commande MATLAB et créons le scalaire «x» en lui attribuant une valeur, un caractère ou un autre type de données. Ensuite, nous appelons la fonction isNuméric () et envoyons «x» comme argument d'entrée. La sortie «r» est la valeur logique 1 si elle est numérique et 0 si elle ne l'est pas. L'image suivante est un extrait de code qui montre les résultats lorsque nous envoyons une valeur numérique et un caractère comme arguments d'entrée:

x = 88;
r = isNuméric (x)
x = 'a';
r = isNuméric (x)

Comment déterminer si les valeurs dans un vecteur sont numériques avec la fonction ISNumeric () de Matlab

Maintenant, nous verrons comment déterminer si les valeurs des éléments d'un vecteur sont numériques. Pour ce faire, nous créons le vecteur «x» sur la ligne de commande et appelons la fonction isNumeric () comme suit:

x = [8, -9, 58, 62, 0, 77];
r = isNuméric (x)

Comme indiqué dans la figure suivante, IsNumeric () renvoie un seul résultat logique déterminé par tous les éléments vectoriels:

Comment déterminer si les valeurs dans un tableau sont numériques avec la fonction ISNumeric () de Matlab

Dans cet exemple, nous verrons comment déterminer si les valeurs des éléments d'un tableau sont numériques. Pour ce faire, nous créons le tableau «x» sur la ligne de commande et appelons la fonction isNumeric ().

x = [8, -9, 58, 62;
55, 84, Nan, 99;
44, «J», 56, «O»;
74, 14, inf, nan];
r = isNuméric (x)

Comme indiqué dans la figure suivante, IsNumeric () renvoie un seul résultat logique déterminé par tous les éléments du tableau:

La fonction isnomérique Matlab dans les conditions si

Comme expliqué précédemment dans cet article, ces fonctions sont largement utilisées dans les expressions conditionnelles car elles nous permettent ou ne nous permettent pas d'exécuter des opérations en fonction du type de données d'un certain tableau, ce qui évite les erreurs de compatibilité des données. Cela peut être vu dans le code pour de nombreuses fonctions de la bibliothèque MATLAB où le traitement spécifique effectué dépend du type de données envoyées dans les arguments d'entrée.

Dans cet exemple, nous créerons une fonction qui remplit deux opérations de base, la division de A BY B, qui renvoie également le résultat de cette opération d'une part, et le reste après la division d'autre part, qui est une fonction avec deux entrées et deux sorties. Ensuite, nous verrons le code de cette fonction.

fonction [d, r] = exp_1 (a, b)
d = a ./ b;
r = mod (a, b);
fin

Créez un script, collez cet extrait et enregistrez-le comme "Exp_1". Ensuite, à partir de la ligne de commande MATLAB, entrez différents types de données dans «A» et «B» et appelez la fonction «Exp_1».

Comme le montre la figure précédente, les opérations de division et la fonction mod () donnent les messages d'erreur suivants lorsque nous entrons dans les données non nucères telles que les chaînes dans A ou B.

«Opérateur»./ 'n'est pas pris en charge pour les opérandes de type' String '."

«Vérifiez le type de données d'argument incorrect ou l'argument manquant dans l'appel pour fonctionner« mod »."

La meilleure solution pour éviter ces erreurs ou résultats inattendus consiste à utiliser des conditions au début de la fonction où la condition de type de données détermine si la fonction continue d'exécuter ou non. Dans le code suivant, nous voyons la solution à ce problème en implémentant le «si» conditionnel avec une logique de court-circuit, où la fonction continue avec l'exécution des expressions mathématiques que si «a» et «b» contiennent des valeurs numériques.

fonction [d, r] = exp_1 (a, b)
Si ISNUMERIC (A) && isnumeric (b)
% Il ne fonctionne que si "a" et "b" sont numériques.
d = a ./ b;
r = mod (a, b);
fin
fin

Maintenant, nous remplaçons le code de la fonction Exp_1 par celui ci-dessous.

Nous pouvons également inverser le résultat de ISNumeric () et utiliser la logique de court-circuit «ou» pour configurer un retour dans la fonction avant d'effectuer les opérations mathématiques qui généreraient une erreur. Ensuite, regardons le code pour générer le retour conditionnel.

fonction [d, r] = exp_1 (a, b)
Si ~ isNuméric (a) || ~ ISNUMIER (B)
% Si "A" ou "B" ne sont pas numériques, la fonction renvoie.
retour;
fin
% Exécuté uniquement si "a" et "b" sont numériques
d = a ./ b;
r = mod (a, b);
fin

Avec ces deux façons d'utiliser des conditions iSNumeric () dans «IF», ​​nous réalisons que la fonction Exp_1 effectue les opérations mathématiques que si les données d'entrée sont compatibles.

Conclusion

Comme nous l'avons vu, cette fonction est un excellent ajout aux conditions, ce qui nous permet d'exécuter du code uniquement lorsque le type de données est compatible. Ceci est très utile lorsque nous créons nos fonctions pour exécuter des formules mathématiques, car nous pouvons filtrer les données d'entrée et les traiter uniquement si les données sont numériques. Dans cet article, nous avons expliqué comment utiliser iSNumeric () dans Matlab. Nous avons donné une description complète de la fonction, sa syntaxe, sa structure, ses entrées, ses sorties, ses types de données et ses tableaux qu'il accepte. 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.