Bird
Raised Fist0
MATLABdata~5 mins

String comparison in MATLAB - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What function in MATLAB is used to compare two strings for equality?
The function strcmp is used to compare two strings for exact equality in MATLAB. It returns true if the strings are the same, otherwise false.
Click to reveal answer
beginner
How does strcmpi differ from strcmp in MATLAB?
strcmpi compares two strings ignoring case differences, while strcmp is case-sensitive.
Click to reveal answer
intermediate
What does the MATLAB function strncmp do?
strncmp compares the first N characters of two strings and returns true if they match exactly.
Click to reveal answer
intermediate
How can you compare two strings lexicographically in MATLAB?
Use the function strcmp for equality, or strcmpi for case-insensitive equality. For lexicographic order, use sort or relational operators on strings (MATLAB supports <, > for strings).
Click to reveal answer
beginner
What will strcmp('Hello', 'hello') return in MATLAB?
It will return false because strcmp is case-sensitive and 'H' is not equal to 'h'.
Click to reveal answer
Which MATLAB function compares two strings ignoring case?
Astrfind
Bstrcmp
Cstrcmpi
Dstrncmp
What does strcmp('abc', 'ABC') return?
Atrue
Berror
C1
Dfalse
Which function compares only the first N characters of two strings?
Astrcmp
Bstrncmp
Cstrfind
Dstrcmpi
If you want to check if two strings are exactly the same including case, which function do you use?
Astrcmp
Bstrncmp
Cstrcmpi
Dstrcat
What will strcmp('MATLAB', 'matlab') return?
Afalse
Btrue
C1
Derror
Explain how to compare two strings in MATLAB considering case sensitivity and ignoring case.
Think about which function cares about uppercase and lowercase letters.
You got /3 concepts.
    Describe how to compare only part of two strings in MATLAB.
    Focus on comparing the start of strings.
    You got /3 concepts.

      Practice

      (1/5)
      1. Which MATLAB function is used to compare two strings with case sensitivity?
      easy
      A. strcmpi
      B. strcmp
      C. strcomp
      D. strcompare

      Solution

      1. Step 1: Understand string comparison functions

        MATLAB provides strcmp for case-sensitive string comparison and strcmpi for case-insensitive comparison.
      2. Step 2: Identify the correct function for case-sensitive comparison

        strcmp compares strings exactly, including letter case, so it is the correct choice.
      3. Final Answer:

        strcmp -> Option B
      4. Quick Check:

        Case-sensitive comparison = strcmp [OK]
      Hint: Use strcmp for exact case-sensitive string checks [OK]
      Common Mistakes:
      • Confusing strcmp with strcmpi
      • Using non-existent functions like strcomp
      • Assuming strcmpi is case-sensitive
      2. Which of the following is the correct syntax to compare two strings s1 and s2 ignoring case in MATLAB?
      easy
      A. strcmpi(s1 == s2)
      B. strcmp(s1, s2)
      C. strcmpi(s1, s2)
      D. strcmp(s1 == s2)

      Solution

      1. Step 1: Recall syntax for case-insensitive comparison

        strcmpi compares two strings ignoring case and takes two string inputs as separate arguments.
      2. Step 2: Identify correct syntax

        strcmpi(s1, s2) uses strcmpi with two string arguments correctly. Options C and D incorrectly use '==' inside the function, which is invalid.
      3. Final Answer:

        strcmpi(s1, s2) -> Option C
      4. Quick Check:

        Case-insensitive syntax = strcmpi(s1, s2) [OK]
      Hint: Use strcmpi(s1, s2) for ignoring case in string comparison [OK]
      Common Mistakes:
      • Using '==' inside strcmp or strcmpi
      • Mixing up strcmp and strcmpi
      • Passing strings as one argument with '=='
      3. What is the output of the following MATLAB code?
      s1 = "Hello";
      s2 = "hello";
      result = strcmp(s1, s2);
      disp(result);
      medium
      A. "true"
      B. 1
      C. Error
      D. 0

      Solution

      1. Step 1: Understand strcmp behavior

        strcmp compares strings with case sensitivity. "Hello" and "hello" differ in case.
      2. Step 2: Evaluate strcmp result

        Since the strings differ in case, strcmp returns logical 0 (false), which disp prints as 0.
      3. Final Answer:

        0 -> Option D
      4. Quick Check:

        Case-sensitive mismatch = 0 [OK]
      Hint: strcmp returns 0 if cases differ exactly [OK]
      Common Mistakes:
      • Assuming strcmp ignores case
      • Expecting output '1' for different case
      • Confusing output with string 'true'
      4. Identify the error in this MATLAB code snippet for case-insensitive string comparison:
      s1 = "Test";
      s2 = "test";
      if strcmpi(s1 == s2)
      disp('Match');
      end
      medium
      A. Using '==' inside strcmpi causes an error
      B. Missing semicolon after disp statement
      C. strcmpi cannot compare strings
      D. Strings must be converted to char arrays first

      Solution

      1. Step 1: Analyze the use of '==' inside strcmpi

        The expression s1 == s2 compares strings element-wise, returning a logical array, not a string.
      2. Step 2: Understand strcmpi input requirements

        strcmpi expects two string inputs, not a logical array. Using '==' inside causes a syntax or runtime error.
      3. Final Answer:

        Using '==' inside strcmpi causes an error -> Option A
      4. Quick Check:

        strcmpi needs strings, not logical arrays [OK]
      Hint: Do not use '==' inside strcmpi; pass strings directly [OK]
      Common Mistakes:
      • Using '==' inside strcmpi
      • Thinking strcmpi compares logical arrays
      • Ignoring input type requirements
      5. You want to compare two cell arrays of strings C1 = {'Apple', 'Banana', 'Cherry'} and C2 = {'apple', 'banana', 'cherry'} ignoring case. Which MATLAB code correctly returns a logical array indicating matches?
      hard
      A. cellfun(@strcmpi, C1, C2)
      B. strcmpi(C1{:}, C2{:})
      C. cellfun(@strcmp, C1, C2)
      D. strcmp(C1, C2)

      Solution

      1. Step 1: Understand cell array string comparison

        To compare each pair of strings in cell arrays element-wise, use cellfun with a comparison function.
      2. Step 2: Choose case-insensitive comparison

        strcmpi ignores case, so cellfun(@strcmpi, C1, C2) applies it element-wise correctly.
      3. Step 3: Why other options fail

        cellfun(@strcmp, C1, C2) uses case-sensitive strcmp. strcmpi(C1{:}, C2{:}) unpacks cells into multiple arguments, causing a "too many input arguments" error. strcmp(C1, C2) is case-sensitive.
      4. Final Answer:

        cellfun(@strcmpi, C1, C2) -> Option A
      5. Quick Check:

        Use cellfun with strcmpi for cell array case-insensitive comparison [OK]
      Hint: Use cellfun(@strcmpi, C1, C2) for cell array case-insensitive compare [OK]
      Common Mistakes:
      • Using strcmp instead of strcmpi for ignoring case
      • Unpacking cell arrays with strcmpi(C1{:}, C2{:})
      • Not using cellfun for element-wise comparison
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard