La función STRCMP es ampliamente utilizada y es parte de las bibliotecas estándar de todos los lenguajes de programación populares en el mundo, y su modo de ejecución es el mismo para todos ellos.
Este artículo contiene ejemplos prácticos y capturas de pantalla que muestran cómo puede usar esta función con diferentes tipos de argumentos de entrada. También le mostraremos algunos de los errores más comunes generados por esta función, los mensajes de error correspondientes y cómo resolverlos para facilitar la programación.
Sintaxis
L = STRCMP (S1, S2)
Descripción y ejemplos
La función de la función strcmp () compara dos cadenas de caracteres "S1" y "S2" y devuelve un resultado lógico en "L", True (1) si "S1" y "S2" son los mismos o falsos (0) si las cadenas "S1" y "S2" son diferentes. Con esta función, el orden de las entradas no afecta el resultado de la comparación.
Los argumentos de entrada que acepta esta función pueden ser cadenas de caracteres, matrices de celdas de vectores de caracteres, vectores de caracteres o matrices de cadenas de caracteres, y admite conjuntos de caracteres internacionales. Si tanto "S1" como "S2" son matrices de cadenas o matrices de celdas de vectores de caracteres, entonces "S1" y "S2" deben tener el mismo tamaño compatible a menos que uno de ellos sea un escalar. Si S1 y S2 son matrices de caracteres con múltiples filas, entonces "S1" y "S2" pueden tener un número diferente de filas.
Cómo comparar dos cuerdas de personajes puros.
El siguiente ejemplo muestra la forma más simple de usar esta función cuando los argumentos de entrada son escalares de dos cadenas. Como se muestra a continuación, las cadenas son las mismas en el primer caso, por lo que la función STRCMP devuelve un "1" lógico en "L."Las cadenas de caracteres son diferentes en el segundo caso, y la función STRCMP devuelve un" 0 "lógico en" L."
L = strcmp ("equivalente", "equivalente")
L = strcmp ("no es equivalente", "equivalente")
Si "S1" y "S2" son iguales, la función strcmp () devuelve lógica 1 en "l" y si "s1" y "s2" no son iguales, devuelve 0 lógico en "l".
Cómo comparar los escalares de dos cadenas.
A continuación, veremos cómo llamar a la función strcmp () enviando escalares de carácter como argumentos de entrada en lugar de cadenas simples. Creamos vectores "S1" y "S2" para hacer esto. Lo mismo se aplica a matrices de vectores de personajes o matrices de cadenas.
s1 = 'equivalente';
s2 = 'equivalente';
L = STRCMP (S1, S2)
Como resultado, devolverá un lógico 1.
Cómo usar la función STRCMP para buscar una cadena de caracteres dentro de una matriz de cadenas.
También es posible encontrar la cadena de caracteres contenida en "S1" dentro de una matriz de celdas de vectores de caracteres o matrices de cadenas utilizando la función STRCMP. Esto compara la cadena contenida en "S1" con cada uno de los elementos en "S2".
s1 = 'equivalente';
s2 = 'equivalente', 'no equivalente', 'no equivalente';
'Equivalente', 'no equivalente', 'equivalente';
'Equivalente', 'no equivalente', 'equivalente';
LC = STRCMP (S1, S2)
Como resultado de esto, la función STRCMP devolverá una matriz "LC" de elementos lógicos de verdadero (1) o falso (0) en el orden y tamaño de "S2".
Lc =
1 0 0
1 0 1
1 0 1
¿Qué sucede si queremos comparar dos cadenas de caracteres con una matriz??
En el ejemplo anterior, la función strcmp () se envió con un solo escalar como argumento de entrada en "S1" para encontrar la cadena coincidente en "S2". En este ejemplo, "S1" se envía con dos cadenas, por lo que no se cumple la regla del tamaño de la matriz compatible.
s1 = 'equivalente', 'no equivalente';
s2 = 'equivalente', 'no equivalente', 'no equivalente';
'Equivalente', 'no equivalente', 'equivalente';
'Equivalente', 'no equivalente', 'equivalente';
LC = STRCMP (S1, S2)
En este caso, strcmp () devolverá el siguiente mensaje de error:
"Error que usa las entradas STRCMP debe ser del mismo tamaño o cualquiera de los dos puede ser escalar."
Cómo usar la función strcmp () para comparar dos matrices de celdas de vectores de caracteres.
Este ejemplo muestra cómo puede usar la función STRCMP para comparar dos matrices de celdas de vectores de caracteres.
s1 = 'equivalente', 'equivalente'; 'Equivalente', 'equivalente';
s2 = 'equivalente', 'equivalente'; 'No es equivalente', 'no equivalente';
LC = STRCMP (S1, S2)
Como resultado, devolverá una matriz lógica del mismo tamaño y orden que "S1" o "S2".
lc =
1 1
0 0
Además, en este caso, los argumentos de entrada deben ser matrices de celdas de vectores de caracteres del mismo tamaño; De lo contrario, la función strcmp () devuelve el siguiente mensaje de error:
"Error que usa las entradas STRCMP debe ser del mismo tamaño o cualquiera de los dos puede ser escalar."
Cómo comparar dos matrices de cadena usando la función STRCMP.
Ahora veremos cómo comparar las matrices de cadenas con la función STRCMP. Para esto, crearemos las matrices "S1" y "S2" con elementos 3 × 3.
s1 = ["es igual", "no equivalente", "equivalente"];
s2 = ["es igual", "equivalente", "equivalente"];
LC = STRCMP (S1, S2)
Como resultado, devolverá una matriz lógica del mismo tamaño y orden que "S1" o "S2".
Lc =
1 0 1
Cómo comparar dos cadenas de caracteres utilizando operadores relacionales en MATLAB.
Los operadores también se pueden usar para realizar operaciones en cadenas. Las reglas de tamaño y compatibilidad para las matrices son las mismas que para STRCMP.
A continuación, le mostraremos otra forma de comparar las cadenas de caracteres es usar el operador relacional "==."La sintaxis es la siguiente:
L = S1 == S2.
s1 = ["es igual", "no equivalente", "equivalente"];
s2 = ["es igual", "equivalente", "equivalente"];
LC = S1 == S2
Conclusión:
Este artículo ha explicado cómo usar funciones básicas de Matlab para comparar cadenas usando la función strcmp (). También hemos dado algunos ejemplos prácticos con imágenes que muestran cómo usar estas características. Hemos explicado algunos de los errores más comunes con sus respectivos mensajes y soluciones para facilitar su programación. También hemos detallado los tipos de argumentos de entrada compatibles con esta función y el tipo de datos aceptado. Esperamos que hayas encontrado este artículo de Matlab útil. Consulte otros artículos de Sugerencia de Linux para obtener más consejos e información.