Funkcja strcmp w MATLAB

Funkcja strcmp w MATLAB
Poniższy artykuł wyjaśnia, jak korzystać z funkcji STRCMP w MATLAB® do porównania dwóch ciągów, tablic wektorów postaci, wektorów znaków lub tablic stringów znaków.

Funkcja STRCMP jest szeroko stosowana i jest częścią standardowych bibliotek wszystkich popularnych języków programowania na świecie, a jej tryb wykonania jest taki sam dla wszystkich.

W tym artykule zawiera praktyczne przykłady i zrzuty ekranu, które pokazują, w jaki sposób można użyć tej funkcji z różnymi typami argumentów wejściowych. Pokazamy również niektóre z najczęstszych błędów generowanych przez tę funkcję, odpowiednie komunikaty o błędach i sposób ich rozwiązania, aby ułatwić programowanie.

Składnia

l = strcmp (s1, s2)

Opis i przykłady

Funkcja funkcyjna strcmp () porównuje dwa ciągi znaków „S1” i „S2” i zwraca logiczny wynik w „L”, true (1), jeśli „S1” i „S2” są takie same lub fałszywe (0), jeśli struny „S1” i „S2” są różne. Z tą funkcją kolejność wejść nie wpływa na wynik porównania.

Argumenty wejściowe, które akceptuje tę funkcję, mogą być ciągami znaków, tablic wektorów znaków, wektorów znaków lub macierzy sznurków postaci, a także obsługuje międzynarodowe zestawy znaków. Jeśli zarówno „S1”, jak i „S2” są tablicami sznurków lub tablic wektorów postaci, to „S1” i „S2” muszą mieć ten sam lub kompatybilny rozmiar, chyba że jednym z nich jest skalar. Jeśli S1 i S2 są tablicami znaków z wieloma wierszami, „S1” i „S2” mogą mieć inną liczbę wierszy.

Jak porównać dwa czyste struny postaci.

Poniższy przykład pokazuje najprostszy sposób korzystania z tej funkcji, gdy argumenty wejściowe są dwoma skalami String. Jak pokazano poniżej, ciągi są takie same w pierwszym przypadku, więc funkcja strcmp zwraca logiczny „1” w „L.„Struny znaków są różne w drugim przypadku, a funkcja STRCMP zwraca logiczny„ 0 ”w„ L."

L = strcmp („równoważny”, „równoważny”)
L = strcmp („nie jest równoważne”, „równoważne”)

Jeśli „S1” i „S2” są równe, funkcja strcmp () zwraca logiczną 1 w „L”, a jeśli „S1” i „S2” nie są równe, zwraca logicznie 0 w „L”.

Jak porównać dwa skalary ciągów.

Następnie przyjrzymy się, jak wywołać funkcję strcmp (), wysyłając skalary znaków jako argumenty wejściowe zamiast zwykłych ciągów. Tworzymy wektory „s1” i „s2”, aby to zrobić. To samo dotyczy tablicy wektorów znaków lub tablic strun.

s1 = „równoważny”;
s2 = „równoważny”;
L = strcmp (s1, s2)

W rezultacie zwróci logiczne 1.

Jak używać funkcji Strcmp do wyszukiwania ciągu znaków w szeregu ciągów.

Możliwe jest również znalezienie ciągu znaków zawartego w „S1” w tablicy komórkowej wektorów znaków lub macierzy ciągów za pomocą funkcji STRCMP. Porównuje to ciąg zawarty w „S1” z każdym z elementów w „S2”.

s1 = „równoważny”;
s2 = „równoważny”, „nie równoważny”, „nie równoważny”;
„Równoważny”, „nie równoważny”, „równoważny”;
„Równoważny”, „nie równoważny”, „równoważny”;
LC = strcmp (S1, S2)

W wyniku tego funkcja STRCMP zwróci tablicę „LC” logicznych elementów TRUE (1) lub FALSE (0) w kolejności i wielkości „S2”.

LC =
1 0 0
1 0 1
1 0 1

Co się stanie, jeśli chcemy porównać dwa sznurki postaci z tablicą?

W powyższym przykładzie funkcja strcmp () została wysłana z pojedynczym skalarnym jako argumentem wejściowym w „S1”, aby znaleźć pasujący ciąg w „S2”. W tym przykładzie „S1” jest wysyłany z dwoma ciągami, więc kompatybilna reguła rozmiaru tablicy nie jest spełniona.

s1 = „równoważny”, „nie równoważny”;
s2 = „równoważny”, „nie równoważny”, „nie równoważny”;
„Równoważny”, „nie równoważny”, „równoważny”;
„Równoważny”, „nie równoważny”, „równoważny”;
LC = strcmp (S1, S2)

W takim przypadku strcmp () zwróci następujący komunikat o błędzie:

„Błąd przy użyciu wejść Strcmp musi mieć ten sam rozmiar lub jeden z nich może być skalar."

Jak używać funkcji strcmp () do porównania dwóch komórek wektorów znaków.

Ten przykład pokazuje, w jaki sposób możesz użyć funkcji STRCMP do porównania dwóch komórek wektorów znaków.

s1 = „równoważny”, „równoważny”; „Równoważny”, „równoważny”;
s2 = „równoważny”, „równoważny”; „Nie jest równoważne”, „nie równoważne”;
LC = strcmp (S1, S2)

W rezultacie zwróci logiczną tablicę tego samego rozmiaru i zamówienia co „S1” lub „S2”.

LC =
1 1
0 0

Również w tym przypadku argumenty wejściowe muszą być komórkami wektorów znaków tego samego rozmiaru; W przeciwnym razie funkcja strcmp () zwraca następujący komunikat o błędzie:

„Błąd przy użyciu wejść Strcmp musi mieć ten sam rozmiar lub jeden z nich może być skalar."

Jak porównać dwie tablice łańcuchowe za pomocą funkcji STRCMP.

Teraz zobaczymy, jak porównać tablice stringowe z funkcją STRCMP. W tym celu utworzymy tablice „S1” i „S2” z elementami 3 × 3.

s1 = [„jest równe”, „nie równoważne”, „równoważne”];
s2 = [„jest równe”, „równoważne”, „równoważne”];
LC = strcmp (S1, S2)

W rezultacie zwróci logiczną tablicę tego samego rozmiaru i zamówienia co „S1” lub „S2”.

LC =
1 0 1

Jak porównać dwa ciągi znaków za pomocą operatorów relacyjnych w MATLAB.

Operatorzy mogą być również używane do wykonywania operacji na strunach. Reguły wielkości i kompatybilności dla tablic są takie same jak w przypadku STRCMP.

Następnie pokażemy kolejny sposób porównywania ciągów znaków, jest użycie operatora relacyjnego „==.„Składnia jest następująca:
L = s1 == s2.

s1 = [„jest równe”, „nie równoważne”, „równoważne”];
s2 = [„jest równe”, „równoważne”, „równoważne”];
Lc = s1 == s2

Wniosek:

W tym artykule wyjaśniono, jak używać podstawowych funkcji MATLAB do porównania strun za pomocą funkcji strcmp (). Podaliśmy również kilka praktycznych przykładów ze zdjęciami pokazującymi, jak korzystać z tych funkcji. Wyjaśniliśmy niektóre z najczęstszych błędów w ich odpowiednich wiadomościach i rozwiązaniach, aby ułatwić programowanie. Szczegółowaliśmy również typy argumentów wejściowych obsługiwanych przez tę funkcję i akceptowany typ danych. Mamy nadzieję, że ten artykuł MATLAB jest przydatny. Sprawdź inne artykuły w Linux, aby uzyskać więcej wskazówek i informacji.