Bird
Raised Fist0
MATLABdata~10 mins

Character arrays and strings in MATLAB - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - Character arrays and strings
Create character array or string
↓
Access or modify elements
↓
Use functions to manipulate
↓
Display or use in program
This flow shows how you create character arrays or strings, access or change their parts, use functions to work with them, and finally display or use the result.
Execution Sample
MATLAB
str = 'Hello';
str(1) = 'J';
disp(str);
This code creates a character array 'Hello', changes the first letter to 'J', and then shows the new string.
Execution Table
StepActionVariable StateOutput
1Create character array str = 'Hello'str = 'Hello'
2Change first character str(1) = 'J'str = 'Jello'
3Display strstr = 'Jello'Jello
💡 All steps completed, string modified and displayed
Variable Tracker
VariableStartAfter Step 1After Step 2Final
strundefined'Hello''Jello''Jello'
Key Moments - 2 Insights
Why does changing str(1) = 'J' work on a character array?
Because in MATLAB, character arrays are mutable, so you can change individual characters by indexing, as shown in step 2 of the execution_table.
What is the difference between character arrays and string objects in MATLAB?
Character arrays use single quotes and can be changed by indexing (like in the example). String objects use double quotes and are immutable, so you cannot change characters directly.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table, what is the value of str after step 2?
A'Hello'
B'Jello'
C'Jello '
D'hello'
💡 Hint
Check the 'Variable State' column in row for step 2 in execution_table
At which step is the string displayed on the screen?
AStep 3
BStep 2
CStep 1
DNo display step
💡 Hint
Look at the 'Output' column in execution_table to find when output appears
If we tried to change the second character of a string object (double quotes) like str(2) = 'a', what would happen?
AIt changes the whole string to 'a'
BIt changes the character like a character array
CIt causes an error because string objects are immutable
DIt appends 'a' to the string
💡 Hint
Recall the key_moments explanation about string objects immutability
Concept Snapshot
Character arrays use single quotes, e.g. 'Hello'.
You can change characters by indexing, e.g. str(1) = 'J'.
Strings use double quotes, e.g. "Hello", and are immutable.
Use disp() to show strings or character arrays.
Character arrays behave like arrays of letters.
Strings are objects with special methods.
Full Transcript
This lesson shows how MATLAB handles character arrays and strings. You start by creating a character array using single quotes, like 'Hello'. You can change any character by indexing, for example, str(1) = 'J' changes the first letter. Then you display the result with disp(str). Character arrays are mutable, so you can change letters directly. String objects, created with double quotes, are different and cannot be changed by indexing. This is important to remember when working with text in MATLAB.

Practice

(1/5)
1. Which of the following correctly creates a character array in MATLAB?
easy
A. name = [Hello];
B. name = "Hello";
C. name = 'Hello';
D. name = (Hello);

Solution

  1. Step 1: Understand character array syntax

    Character arrays in MATLAB use single quotes to enclose text.
  2. Step 2: Check each option

    name = 'Hello'; uses single quotes correctly. name = "Hello"; uses double quotes which create string objects, not character arrays. Options A and D are invalid syntax.
  3. Final Answer:

    name = 'Hello'; -> Option C
  4. Quick Check:

    Single quotes create character arrays [OK]
Hint: Use single quotes for character arrays, double for strings [OK]
Common Mistakes:
  • Using double quotes for character arrays
  • Missing quotes around text
  • Using brackets or parentheses incorrectly
2. Which of the following is the correct way to create a string in MATLAB?
easy
A. str = "MATLAB";
B. str = 'MATLAB';
C. str = {"MATLAB"};
D. str = ("MATLAB");

Solution

  1. Step 1: Recall string creation syntax

    Strings in MATLAB are created using double quotes.
  2. Step 2: Evaluate options

    str = "MATLAB"; uses double quotes correctly. str = 'MATLAB'; creates a character array, not a string. Options C and D use invalid or different data types.
  3. Final Answer:

    str = "MATLAB"; -> Option A
  4. Quick Check:

    Double quotes create strings [OK]
Hint: Double quotes create strings, single quotes create char arrays [OK]
Common Mistakes:
  • Confusing single and double quotes
  • Using curly braces which create cell arrays
  • Using parentheses incorrectly
3. What is the output of the following MATLAB code?
charArray = 'abc';
str = "def";
disp([charArray str])
medium
A. abcdef
B. [abc def]
C. Error: Cannot concatenate char array and string
D. abc def

Solution

  1. Step 1: Understand concatenation of char arrays and strings

    In MATLAB, concatenating a character array and a string with [] converts the string to a char array and joins them.
  2. Step 2: Evaluate the concatenation result

    Concatenating 'abc' and "def" results in 'abcdef' as a character array, displayed without spaces.
  3. Final Answer:

    abcdef -> Option A
  4. Quick Check:

    Concatenation joins text without spaces [OK]
Hint: Concatenate char arrays and strings with [] to join text [OK]
Common Mistakes:
  • Expecting spaces between concatenated strings
  • Thinking concatenation causes error
  • Confusing display output with variable type
4. Identify the error in the following MATLAB code:
str1 = 'Hello';
str2 = "World";
result = strcat(str1, str2);
medium
A. strcat cannot concatenate character arrays and strings
B. No error, code runs correctly
C. Missing semicolon after str2 assignment
D. str1 and str2 must both be strings or both char arrays

Solution

  1. Step 1: Understand strcat behavior

    strcat can concatenate character arrays and strings by automatically converting strings to character arrays.
  2. Step 2: Verify the code

    str1 is a character array, str2 is a string, but strcat(str1, str2) returns 'HelloWorld' as a character array. No error occurs.
  3. Final Answer:

    No error, code runs correctly -> Option B
  4. Quick Check:

    strcat handles mixed types [OK]
Hint: strcat automatically handles char and string inputs [OK]
Common Mistakes:
  • Assuming strcat requires matching types
  • Confusing with + operator which doesn't work for mixed types
  • Looking for syntax errors where none exist
5. You have a character array chars = 'MATLAB' and want to convert it to a string and append " is fun". Which code correctly does this?
hard
A. newStr = chars + " is fun";
B. newStr = chars + ' is fun';
C. newStr = strcat(chars, " is fun");
D. newStr = string(chars) + " is fun";

Solution

  1. Step 1: Convert character array to string

    Use string(chars) to convert the character array to a string type.
  2. Step 2: Append text using + operator

    Strings can be concatenated with + and another string, so adding " is fun" works.
  3. Step 3: Check other options

    newStr = chars + ' is fun'; tries to add char array and char array with + which is invalid. newStr = strcat(chars, " is fun"); mixes types but produces a character array, not a string. newStr = chars + " is fun"; adds char array and string with + which errors.
  4. Final Answer:

    newStr = string(chars) + " is fun"; -> Option D
  5. Quick Check:

    Convert char to string, then use + to join [OK]
Hint: Convert char array to string first, then use + to append [OK]
Common Mistakes:
  • Using + to add char arrays
  • Mixing char arrays and strings in strcat
  • Not converting char array before concatenation
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