Funzione strcmp in matlab

Funzione strcmp in matlab
L'articolo seguente spiega come utilizzare la funzione STRCMP in MATLAB® per confrontare due stringhe, array di celle di vettori di carattere, vettori di caratteri o array di stringhe di carattere.

La funzione STRCMP è ampiamente utilizzata e fa parte delle librerie standard di tutti i linguaggi di programmazione popolari nel mondo e la sua modalità di esecuzione è la stessa per tutti loro.

Questo articolo contiene esempi pratici e schermate che mostrano come è possibile utilizzare questa funzione con diversi tipi di argomenti di input. Ti mostreremo anche alcuni degli errori più comuni generati da questa funzione, i corrispondenti messaggi di errore e come risolverli per semplificare la programmazione.

Sintassi

L = strcmp (S1, S2)

Descrizione ed esempi

La funzione funzione strcmp () confronta due stringhe di caratteri "S1" e "S2" e restituisce un risultato logico in "L", True (1) se "S1" e "S2" sono uguali o falsi (0) se le stringhe "S1" e "S2" sono diversi. Con questa funzione, l'ordine degli input non influisce sul risultato del confronto.

Gli argomenti di input che questa funzione accetta possono essere stringhe di caratteri, array di celle di vettori di caratteri, vettori di caratteri o array di stringhe di caratteri e supporta set di caratteri internazionali. Se sia "S1" che "S2" sono array di stringhe o array di celle di vettori di carattere, allora "S1" e "S2" devono avere la stessa dimensione compatibile a meno che uno di essi non sia uno scalare. Se S1 e S2 sono array di caratteri con più righe, allora "S1" e "S2" possono avere un numero diverso di righe.

Come confrontare due stringhe di carattere puro.

L'esempio seguente mostra il modo più semplice per utilizzare questa funzione quando gli argomenti di input sono a due scalari della stringa. Come mostrato di seguito, le stringhe sono le stesse nel primo caso, quindi la funzione STRCMP restituisce un logico "1" in "L."Le stringhe dei caratteri sono diverse nel secondo caso e la funzione STRCMP restituisce un logico" 0 "in" L."

L = strcmp ("equivalente", "equivalente")
L = strcmp ("non è equivalente", "equivalente")

Se "S1" e "S2" sono uguali, la funzione strcmp () restituisce logica 1 in "L" e se "S1" e "S2" non sono uguali, restituisce logico 0 in "L".

Come confrontare due scalari di stringhe.

Successivamente, esamineremo come chiamare la funzione strcmp () inviando scalari di caratteri come argomenti di input anziché stringhe semplici. Creiamo vettori "S1" e "S2" per farlo. Lo stesso vale per le matrici di vettori di caratteri o array di stringhe.

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

Di conseguenza, restituirà un logico 1.

Come utilizzare la funzione STRCMP per cercare una stringa di caratteri all'interno di una serie di stringhe.

È anche possibile trovare la stringa di caratteri contenuta in "S1" all'interno di un array di celle di vettori di caratteri o array di stringhe usando la funzione Strcmp. Ciò confronta la stringa contenuta in "S1" con ciascuno degli elementi in "S2".

s1 = 'equivalente';
s2 = 'equivalente', 'non equivalente', 'non equivalente';
"Equivalente", "non equivalente", "equivalente";
'Equivalente', 'non equivalente', 'equivalente';
LC = Strcmp (S1, S2)

Come risultato di ciò, la funzione STRCMP restituirà un array "LC" di elementi logici di vero (1) o falso (0) nell'ordine e nelle dimensioni di "S2".

Lc =
1 0 0
1 0 1
1 0 1

Cosa succede se vogliamo confrontare le stringhe di due caratteri con un array?

Nell'esempio sopra, la funzione strcmp () è stata inviata con un singolo scalare come argomento di input in "S1" per trovare la stringa corrispondente in "S2". In questo esempio, "S1" viene inviato con due stringhe, quindi la regola della dimensione dell'array compatibile non viene soddisfatta.

s1 = 'equivalente', 'non equivalente';
s2 = 'equivalente', 'non equivalente', 'non equivalente';
"Equivalente", "non equivalente", "equivalente";
'Equivalente', 'non equivalente', 'equivalente';
LC = Strcmp (S1, S2)

In questo caso, strcmp () restituirà il seguente messaggio di errore:

“L'errore usando gli ingressi STRCMP deve avere la stessa dimensione o uno può essere uno scalare."

Come utilizzare la funzione strcmp () per confrontare due array di celle di vettori di caratteri.

Questo esempio mostra come è possibile utilizzare la funzione STRCMP per confrontare due array di celle di vettori di caratteri.

s1 = 'equivalente', 'equivalente'; 'Equivalente', 'equivalente';
s2 = 'equivalente', 'equivalente'; 'Non è equivalente', 'non equivalente';
LC = Strcmp (S1, S2)

Di conseguenza, restituirà un array logico della stessa dimensione e ordine di "S1" o "S2".

lc =
1 1
0 0

Inoltre, in questo caso, gli argomenti di input devono essere array di celle di vettori di carattere della stessa dimensione; Altrimenti, la funzione strcmp () restituisce il seguente messaggio di errore:

“L'errore usando gli ingressi STRCMP deve avere la stessa dimensione o uno può essere uno scalare."

Come confrontare due array di stringhe usando la funzione Strcmp.

Ora vedremo come confrontare gli array di stringhe con la funzione STRCMP. Per questo, creeremo gli array "S1" e "S2" con 3 × 3 elementi.

s1 = ["è uguale", "non equivalente", "equivalente"];
s2 = ["è uguale", "equivalente", "equivalente"];
LC = Strcmp (S1, S2)

Di conseguenza, restituirà un array logico della stessa dimensione e ordine di "S1" o "S2".

Lc =
1 0 1

Come confrontare due stringhe di caratteri utilizzando gli operatori relazionali in Matlab.

Gli operatori possono anche essere utilizzati per eseguire operazioni su stringhe. Le dimensioni e le regole di compatibilità per gli array sono le stesse di STRCMP.

Successivamente, ti mostreremo un altro modo per confrontare le stringhe dei caratteri è usando l'operatore relazionale “==."La sintassi è la seguente:
L = S1 == S2.

s1 = ["è uguale", "non equivalente", "equivalente"];
s2 = ["è uguale", "equivalente", "equivalente"];
LC = S1 == S2

Conclusione:

Questo articolo ha spiegato come utilizzare le funzioni MATLAB di base per confrontare le stringhe usando la funzione strcmp (). Abbiamo anche fornito alcuni esempi pratici con immagini che mostrano come usare queste funzionalità. Abbiamo spiegato alcuni degli errori più comuni con i rispettivi messaggi e soluzioni per facilitare la programmazione. Abbiamo anche dettagliato i tipi di argomentazioni di input supportati da questa funzione e il tipo di dati accettato. Speriamo che tu abbia trovato utile questo articolo di Matlab. Dai un'occhiata ad altri articoli di suggerimento Linux per ulteriori suggerimenti e informazioni.