STRCMP -funksjonen er mye brukt og er en del av standardbibliotekene til alle populære programmeringsspråk i verden, og utførelsesmodus er den samme for dem alle.
Denne artikkelen inneholder praktiske eksempler og skjermbilder som viser hvordan du kan bruke denne funksjonen med forskjellige typer inngangsargumenter. Vi vil også vise deg noen av de vanligste feilene som genereres av denne funksjonen, de tilsvarende feilmeldingene og hvordan du kan løse dem for å gjøre programmering enklere.
Syntaks
L = STRCMP (S1, S2)
Beskrivelse og eksempler
Funksjonen strcmp () -funksjonen sammenligner to tegnstrenger “S1” og “S2” og returnerer et logisk resultat i “L”, sant (1) hvis “S1” og “S2” er de samme eller falske (0) hvis strengene “S1” og “S2” er forskjellige. Med denne funksjonen påvirker ikke inngangen på inngangene resultatet av sammenligningen.
Inngangsargumentene som denne funksjonen aksepterer kan være karakterstrenger, cellearrayer av karaktervektorer, karaktervektorer eller karakterstrengsarrays, og den støtter internasjonale karaktersett. Hvis både “S1” og “S2” er matriser av strenger eller cellematriser av karaktervektorer, må “S1” og “S2” ha samme eller en kompatibel størrelse med mindre en av dem er en skalar. Hvis S1 og S2 er matriser med tegn med flere rader, kan “S1” og “S2” ha et annet antall rader.
Hvordan sammenligne to rene karakterstrenger.
Følgende eksempel viser den enkleste måten å bruke denne funksjonen når inngangsargumentene er to strengskalarer. Som vist nedenfor er strengene de samme i det første tilfellet, så STRCMP -funksjonen returnerer en logisk “1” i “L.”Karakterstrengene er forskjellige i det andre tilfellet, og STRCMP -funksjonen returnerer en logisk“ 0 ”i“ L.”
L = strcmp ("tilsvarende", "tilsvarer")
L = strcmp ("er ikke ekvivalent", "ekvivalent")
Hvis “S1” og “S2” er like, returnerer STRCMP () -funksjonen logisk 1 i “L” og hvis “S1” og “S2” ikke er like, returnerer den logisk 0 i “L”.
Hvordan sammenligne to strengskalarer.
Deretter vil vi se på hvordan du kaller strcmp () -funksjonen ved å sende karakterskalarer som inngangsargumenter i stedet for vanlige strenger. Vi lager vektorer “S1” og “S2” for å gjøre dette. Det samme gjelder matriser av karaktervektorer eller matriser av strenger.
s1 = 'ekvivalent';
s2 = 'ekvivalent';
L = STRCMP (S1, S2)
Som et resultat vil den returnere en logisk 1.
Hvordan bruke STRCMP -funksjonen for å søke etter en tegnstreng i en rekke strenger.
Det er også mulig å finne karakterstrengen som er inneholdt i “S1” i en celleutvalg av tegnvektorer eller strengarrays ved bruk av STRCMP -funksjonen. Dette sammenligner strengen som er inneholdt i “S1” med hvert av elementene i “S2”.
s1 = 'ekvivalent';
s2 = 'ekvivalent', 'ikke ekvivalent', 'ikke tilsvarende';
'Ekvivalent', 'ikke ekvivalent', 'ekvivalent';
'Tilsvarende', 'ikke ekvivalent', 'ekvivalent';
LC = STRCMP (S1, S2)
Som et resultat av dette vil STRCMP -funksjonen returnere en "LC" rekke logiske elementer av True (1) eller False (0) i rekkefølgen og størrelsen på "S2".
LC =
1 0 0
1 0 1
1 0 1
Hva skjer hvis vi vil sammenligne to karakterstrenger med en matrise?
I eksemplet ovenfor ble strcmp () -funksjonen sendt med en enkelt skalar som inngangsargumentet i “S1” for å finne den matchende strengen i “S2”. I dette eksemplet blir “S1” sendt med to strenger, så den kompatible regelen om størrelsesstørrelse er ikke oppfylt.
s1 = 'ekvivalent', 'ikke ekvivalent';
s2 = 'ekvivalent', 'ikke ekvivalent', 'ikke tilsvarende';
'Ekvivalent', 'ikke ekvivalent', 'ekvivalent';
'Tilsvarende', 'ikke ekvivalent', 'ekvivalent';
LC = STRCMP (S1, S2)
I dette tilfellet vil strcmp () returnere følgende feilmelding:
“Feil ved bruk av STRCMP -innganger må være i samme størrelse, eller begge kan være en skalar.”
Hvordan bruke STRCMP () -funksjonen for å sammenligne to cellematriser av karaktervektorer.
Dette eksemplet viser hvordan du kan bruke STRCMP -funksjonen til å sammenligne to cellematriser av karaktervektorer.
s1 = 'ekvivalent', 'ekvivalent'; 'Tilsvarende', 'tilsvarende';
s2 = 'ekvivalent', 'ekvivalent'; 'Er ikke ekvivalent', 'ikke tilsvarende';
LC = STRCMP (S1, S2)
Som et resultat vil den returnere en logisk rekke av samme størrelse og orden som "S1" eller "S2".
LC =
1 1
0 0
I dette tilfellet må inngangsargumentene være cellearrays av karaktervektorer av samme størrelse; Ellers returnerer STRCMP () -funksjonen følgende feilmelding:
“Feil ved bruk av STRCMP -innganger må være i samme størrelse, eller begge kan være en skalar.”
Hvordan sammenligne to strengmatriser ved hjelp av STRCMP -funksjonen.
Nå får vi se hvordan du kan sammenligne strengarrays med STRCMP -funksjonen. For dette vil vi lage matriser “S1” og “S2” med 3 × 3 elementer.
s1 = ["er like", "ikke ekvivalent", "ekvivalent"];
s2 = ["er lik", "ekvivalent", "ekvivalent"];
LC = STRCMP (S1, S2)
Som et resultat vil den returnere en logisk rekke av samme størrelse og orden som "S1" eller "S2".
LC =
1 0 1
Hvordan sammenligne to karakterstrenger ved bruk av relasjonelle operatører i MATLAB.
Operatører kan også brukes til å utføre operasjoner på strenger. Størrelsen og kompatibilitetsreglene for matriser er de samme som for STRCMP.
Deretter vil vi vise deg en annen måte å sammenligne karakterstrenger ved å bruke den relasjonsoperatøren “==.”Syntaksen er som følger:
L = S1 == S2.
s1 = ["er like", "ikke ekvivalent", "ekvivalent"];
s2 = ["er lik", "ekvivalent", "ekvivalent"];
LC = S1 == S2
Konklusjon:
Denne artikkelen har forklart hvordan du bruker grunnleggende MATLAB -funksjoner for å sammenligne strenger ved å bruke strcmp () -funksjonen. Vi har også gitt noen praktiske eksempler med bilder som viser hvordan du bruker disse funksjonene. Vi har forklart noen av de vanligste feilene med deres respektive meldinger og løsninger for å lette programmeringen din. Vi har også beskrevet inngangsargumenttypene som støttes av denne funksjonen og den aksepterte datatypen. Vi håper du har funnet denne Matlab -artikkelen nyttig. Sjekk ut andre Linux -hint -artikler for flere tips og informasjon.