La función isnumérica en Matlab

La función isnumérica en Matlab
Después de conocer el tipo de datos, enviaremos los argumentos de entrada de una función, que es esencial en la programación. Puede evitar errores o comportamientos inesperados debido a la incompatibilidad de los datos.

En este artículo de Sugerencia de Linux, aprenderá cómo usar la función Matlab IsNumeric () para determinar si una matriz es numérica. Explicamos todo lo que necesita saber sobre el uso de esta función: sus argumentos de entrada y salida, el tipo de datos que acepta, etc.

Además, encontrará imágenes y ejemplos prácticos con fragmentos de código y llamadas de funciones con diferentes tipos de datos y matrices.

Sintaxis de la función Matlab isNumeric ()

r = isnumérico (x)

Descripción de la función Matlab isNumeric ()

La función isNumeric () devuelve un resultado lógico en "r" igual a 1 si la "x" escalar o todos los elementos del vector o matriz de sus argumentos de entrada tienen valores numéricos. Se producirá un 0 lógico si el escalar o cualquier elemento de un vector o matriz no tiene datos no numéricos.

El "es .. ."Las funciones son un conjunto de funciones de MATLAB para determinar el tipo de datos de una matriz.

Cómo determinar si un escalar es numérico con la función isnumérica () de Matlab

En este ejemplo, veremos cómo usar la función isNumeric () para determinar si un escalar es numérico. Para hacer esto, usamos la consola de comando MATLAB y creamos el escalar "X" asignándole un valor, carácter u otro tipo de datos. Luego, llamamos a la función isNumeric () y enviamos "x" como argumento de entrada. La salida "r" es el valor lógico 1 si es numérico y 0 si no es así. La siguiente imagen es un fragmento de código que muestra los resultados cuando enviamos un valor numérico y un carácter como argumentos de entrada:

x = 88;
r = isnumérico (x)
x = 'a';
r = isnumérico (x)

Cómo determinar si los valores en un vector son numéricos con la función isnumeric () de Matlab

Ahora, veremos cómo determinar si los valores en los elementos de un vector son numéricos. Para hacer esto, creamos el vector "x" en la línea de comando y llamamos a la función isNumeric () de la siguiente manera:

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

Como se muestra en la siguiente figura, IsNumeric () devuelve un solo resultado lógico determinado por todos los elementos vectoriales:

Cómo determinar si los valores en una matriz son numéricos con la función isnumeric () de Matlab

En este ejemplo, veremos cómo determinar si los valores en los elementos de una matriz son numéricos. Para hacer esto, creamos la matriz "x" en la línea de comando y llamamos a la función isnumeric ().

x = [8, -9, 58, 62;
55, 84, Nan, 99;
44, 'J', 56, 'O';
74, 14, inf, nan];
r = isnumérico (x)

Como se muestra en la siguiente figura, IsNumeric () devuelve un solo resultado lógico determinado por todos los elementos de matriz:

La función de Matlab isnumérica en condicionales si

Como se explicó anteriormente en este artículo, estas funciones se usan ampliamente en expresiones condicionales, ya que nos permiten o no nos permiten ejecutar operaciones de acuerdo con el tipo de datos de una determinada matriz, que evita errores de compatibilidad de datos. Esto se puede ver en el código para muchas funciones en la biblioteca MATLAB donde el procesamiento específico realizado depende del tipo de datos enviados en los argumentos de entrada.

En este ejemplo, crearemos una función que realice dos operaciones básicas, la división de A por B, que también devuelve el resultado de esta operación por un lado, y el resto después de la división por el otro, que es una función con dos entradas y dos salidas. A continuación, veremos el código de esta función.

función [d, r] = expl_1 (a, b)
D = A ./ b;
r = mod (a, b);
fin

Cree un script, pegue este fragmento y guárdelo como "Expl_1". Luego, desde la línea de comando MATLAB, ingrese diferentes tipos de datos en "A" y "B" y llame a la función "Expl_1".

Como se muestra en la figura anterior, las operaciones de división y la función mod () dan los siguientes mensajes de error cuando ingresamos datos no numéricos como cadenas en A o B.

"Operador './'no es compatible con el tipo de operandos' cadena '."

"Verifique el tipo de datos de argumento incorrecto o el argumento faltante en la llamada a la función 'mod'."

La mejor solución para evitar estos errores o resultados inesperados es usar condicionales al comienzo de la función donde la condición de tipo de datos determina si la función continúa ejecutando o no. En el siguiente código, vemos la solución a este problema al implementar el condicional "IF" con una lógica y cortocircuito de cortocircuito, donde la función continúa con la ejecución de las expresiones matemáticas solo si "A" y "B" contienen valores numéricos.

función [d, r] = expl_1 (a, b)
if isNumérico (a) && isnumérico (b)
% Solo se ejecuta si "A" y "B" son numéricos.
D = A ./ b;
r = mod (a, b);
fin
fin

Ahora reemplazamos el código de la función expl_1 con la siguiente.

También podemos invertir el resultado de isNumeric () y usar la lógica de cortocircuito "o" para configurar una devolución en la función antes de realizar las operaciones matemáticas que generarían un error. A continuación, veamos el código para generar la devolución condicional.

función [d, r] = expl_1 (a, b)
Si ~ isnumérico (a) || ~ isnumérico (b)
% Si "A" o "B" no son numéricos, la función regresa.
devolver;
fin
% Solo ejecutado si "a" y "b" son numéricos
D = A ./ b;
r = mod (a, b);
fin

Con estas dos formas de usar isNumeric () en las condiciones "si", logramos que la función expl_1 realiza las operaciones matemáticas solo si los datos de entrada son compatibles.

Conclusión

Como hemos visto, esta función es una excelente adición a los condicionales, lo que nos permite ejecutar código solo cuando el tipo de datos es compatible. Esto es muy útil cuando creamos nuestras funciones para ejecutar fórmulas matemáticas, ya que podemos filtrar los datos de entrada y solo procesarlos si los datos son numéricos. En este artículo, hemos explicado cómo usar isNumeric () en Matlab. Hemos dado una descripción completa de la función, su sintaxis, estructura, entradas, salidas, tipos de datos y matrices que acepta. Esperamos que haya encontrado útil este artículo de Matlab. Consulte otros artículos de Sugerencia de Linux para obtener más consejos e información.