Função strcmp no matlab

Função strcmp no matlab
O artigo a seguir explica como usar a função STRCMP no MATLAB® para comparar duas cordas, matrizes celulares de vetores de personagens, vetores de personagens ou matrizes de caracteres.

A função STRCMP é amplamente utilizada e faz parte das bibliotecas padrão de todas as linguagens de programação populares do mundo, e seu modo de execução é o mesmo para todos eles.

Este artigo contém exemplos práticos e capturas de tela que mostram como você pode usar essa função com diferentes tipos de argumentos de entrada. Também mostraremos alguns dos erros mais comuns gerados por essa função, as mensagens de erro correspondentes e como resolvê -las para facilitar a programação.

Sintaxe

l = strcmp (s1, s2)

Descrição e exemplos

A função STRCMP () compara duas seqüências de caracteres "S1" e "S2" e retorna um resultado lógico em "L", verdadeiro (1) se "S1" e "S2" forem iguais ou falsos (0) se as cordas "S1" e "S2" são diferentes. Com esta função, a ordem das entradas não afeta o resultado da comparação.

Os argumentos de entrada que essa função aceita podem ser seqüências de caracteres, matrizes de células de vetores de personagens, vetores de caracteres ou matrizes de string de caracteres, e suporta conjuntos de personagens internacionais. Se "S1" e "S2" forem matrizes de cordas ou matrizes celulares de vetores de personagens, então "S1" e "S2" devem ter o mesmo ou um tamanho compatível, a menos que um deles seja um escalar. Se S1 e S2 são matrizes de personagens com várias linhas, então "S1" e "S2" poderá ter um número diferente de linhas.

Como comparar duas cordas de personagem puro.

O exemplo a seguir mostra a maneira mais simples de usar essa função quando os argumentos de entrada são dois escalares de strings. Como mostrado abaixo, as cordas são as mesmas no primeiro caso, então a função STRCMP retorna um "1" lógico em "L.As cordas do personagem são diferentes no segundo caso, e a função STRCMP retorna um "0" lógico em "L.”

L = strcmp ("equivalente", "equivalente")
L = strcmp ("não é equivalente", "equivalente")

Se "S1" e "S2" forem iguais, a função strcmp () retorna lógica 1 em "l" e se "s1" e "s2" não forem iguais, ele retorna lógico 0 em "l".

Como comparar dois escalares de string.

Em seguida, veremos como chamar a função strcmp () enviando escalares de caracteres como argumentos de entrada em vez de strings simples. Criamos vetores "S1" e "S2" para fazer isso. O mesmo se aplica a matrizes de vetores de personagens ou matrizes de cordas.

s1 = 'equivalente';
s2 = 'equivalente';
L = strcmp (s1, s2)

Como resultado, ele retornará um 1 lógico.

Como usar a função STRCMP para procurar uma string de personagem dentro de uma matriz de strings.

Também é possível encontrar a sequência de caracteres contida em "S1" dentro de uma matriz de células de vetores de caracteres ou matrizes de string usando a função STRCMP. Isso compara a string contida em "S1" com cada um dos elementos em "S2".

s1 = 'equivalente';
s2 = 'equivalente', 'não equivalente', 'não equivalente';
'Equivalente', 'não equivalente', 'equivalente';
'Equivalente', 'não equivalente', 'equivalente';
LC = STRCMP (S1, S2)

Como resultado disso, a função STRCMP retornará uma matriz "LC" de elementos lógicos de verdadeiro (1) ou falso (0) na ordem e tamanho de "S2".

LC =
1 0 0
1 0 1
1 0 1

O que acontece se queremos comparar duas seqüências de caracteres com uma matriz?

No exemplo acima, a função strcmp () foi enviada com um único escalar como o argumento de entrada em "S1" para encontrar a string correspondente em "S2". Neste exemplo, "S1" é enviado com duas cordas, então a regra de tamanho da matriz compatível não é atendida.

s1 = 'equivalente', 'não equivalente';
s2 = 'equivalente', 'não equivalente', 'não equivalente';
'Equivalente', 'não equivalente', 'equivalente';
'Equivalente', 'não equivalente', 'equivalente';
LC = STRCMP (S1, S2)

Nesse caso, o strcmp () retornará a seguinte mensagem de erro:

“O erro usando as entradas STRCMP deve ter o mesmo tamanho ou qualquer um pode ser um escalar.”

Como usar a função strcmp () para comparar duas matrizes de células de vetores de caracteres.

Este exemplo mostra como você pode usar a função STRCMP para comparar duas matrizes de células de vetores de caracteres.

s1 = 'equivalente', 'equivalente'; 'Equivalente', 'equivalente';
s2 = 'equivalente', 'equivalente'; 'Não é equivalente', 'não equivalente';
LC = STRCMP (S1, S2)

Como resultado, ele retornará uma matriz lógica do mesmo tamanho e ordem que "S1" ou "S2".

LC =
1 1
0 0

Além disso, neste caso, os argumentos de entrada devem ser matrizes de células de vetores de caracteres do mesmo tamanho; Caso contrário, a função strcmp () retorna a seguinte mensagem de erro:

“O erro usando as entradas STRCMP deve ter o mesmo tamanho ou qualquer um pode ser um escalar.”

Como comparar duas matrizes de string usando a função STRCMP.

Agora veremos como comparar matrizes de string com a função strcmp. Para isso, criaremos as matrizes "S1" e "S2" com elementos 3 × 3.

s1 = ["é igual", "não equivalente", "equivalente"];
s2 = ["é igual", "equivalente", "equivalente"];
LC = STRCMP (S1, S2)

Como resultado, ele retornará uma matriz lógica do mesmo tamanho e ordem que "S1" ou "S2".

LC =
1 0 1

Como comparar duas seqüências de caracteres usando operadores relacionais no MATLAB.

Os operadores também podem ser usados ​​para executar operações em strings. As regras de tamanho e compatibilidade para matrizes são as mesmas que para STRCMP.

Em seguida, mostraremos que outra maneira de comparar as seqüências de caracteres é usando o operador relacional “==.”A sintaxe é a seguinte:
L = S1 == S2.

s1 = ["é igual", "não equivalente", "equivalente"];
s2 = ["é igual", "equivalente", "equivalente"];
LC = S1 == S2

Conclusão:

Este artigo explicou como usar as funções básicas do MATLAB para comparar strings usando a função strcmp (). Também damos alguns exemplos práticos com fotos mostrando como usar esses recursos. Explicamos alguns dos erros mais comuns com suas respectivas mensagens e soluções para facilitar sua programação. Também detalhamos os tipos de argumento de entrada suportados por esta função e o tipo de dados aceito. Esperamos que você tenha achado este artigo do MATLAB útil. Confira outros artigos de dica do Linux para obter mais dicas e informações.