Wiem, że powszechnie przyjmuje się, że używanie strcmp
jest właściwym sposobem porównywania łańcuchów, ale moje pytanie brzmi: dlaczego? Według pomocy:Dlaczego nie używamy == do porównywania ciągów znaków w Matlab
a == B jest elementem poprzez porównanie elementów A i B i powraca do matrycy o tej samej wielkości i elementy ustawione na logiczną 1 gdzie związek jest prawdziwa i elementy ustawione na logiczne 0 gdzie jest nie.
Wygląda na to, że wszystkie przykłady zabawek, które wymyślę.
Główna różnica, jak wskazuje @Coconut Jones, polega na tym, że '==' jest porównywaniem elementarnym, a więc błędami, jeśli łańcuchy mają różne długości, w przeciwnym razie zwraca tablicę logiczną, którą musisz zmniejszyć za pomocą 'all'. 'isequal' z drugiej strony jest prawie taki sam jak' strcmp' dla napisów. – Edric