Bird
Raised Fist0
MATLABdata~5 mins

String concatenation in MATLAB - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: String concatenation
O(n^2)
Understanding Time Complexity

When we join strings together in MATLAB, the time it takes can change depending on how many strings we combine.

We want to understand how the work grows as we add more strings.

Scenario Under Consideration

Analyze the time complexity of the following code snippet.

result = "";
for i = 1:n
    result = [result, 'a'];
end

This code adds the letter 'a' to a string repeatedly, n times.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: Concatenating the current string with a new character inside the loop.
  • How many times: The loop runs n times, and each time concatenation happens.
How Execution Grows With Input

Each time we add a character, MATLAB creates a new string by copying the old one and adding the new character.

Input Size (n)Approx. Operations
10About 55 (1+2+...+10)
100About 5050
1000About 500500

Pattern observation: The work grows roughly like the square of n because each new string is longer than before.

Final Time Complexity

Time Complexity: O(n^2)

This means the time to join strings grows much faster than the number of strings; doubling n makes the work about four times bigger.

Common Mistake

[X] Wrong: "Adding one character each time takes the same time no matter how long the string is."

[OK] Correct: Each time MATLAB copies the whole existing string to add a new character, so longer strings take more time to copy.

Interview Connect

Understanding how string joining grows helps you write faster code and explain your choices clearly in real projects or interviews.

Self-Check

"What if we used a cell array to collect characters first and joined them once at the end? How would the time complexity change?"

Practice

(1/5)
1. Which of the following is the correct way to concatenate two strings 'Hello' and 'World' in MATLAB?
easy
A. ['Hello' 'World']
B. 'Hello' + 'World'
C. concat('Hello', 'World')
D. 'Hello' & 'World'

Solution

  1. Step 1: Understand MATLAB string concatenation syntax

    In MATLAB, square brackets [ ] are used to join strings or character arrays.
  2. Step 2: Apply concatenation to given strings

    Using ['Hello' 'World'] joins the two strings into 'HelloWorld'. Other options use incorrect syntax.
  3. Final Answer:

    ['Hello' 'World'] -> Option A
  4. Quick Check:

    Use [ ] to join strings in MATLAB [OK]
Hint: Use square brackets [ ] to join strings in MATLAB [OK]
Common Mistakes:
  • Using + operator for strings
  • Using functions not defined in MATLAB
  • Using & operator which is invalid for strings
2. Which of the following MATLAB statements correctly concatenates the strings 'Data' and '123'?
easy
A. str = 'Data' + '123';
B. str = strcat('Data', 123);
C. str = ['Data' '123'];
D. str = 'Data' & '123';

Solution

  1. Step 1: Check syntax for string concatenation

    In MATLAB, concatenation uses square brackets [ ] for character arrays or strings.
  2. Step 2: Evaluate each option

    str = ['Data' '123']; uses ['Data' '123'] which correctly joins the two strings. str = 'Data' + '123'; uses + which is invalid. str = strcat('Data', 123); uses strcat but passes a number without converting it to string. str = 'Data' & '123'; uses & which is invalid.
  3. Final Answer:

    str = ['Data' '123']; -> Option C
  4. Quick Check:

    Concatenate strings with [ ] brackets [OK]
Hint: Use [ ] brackets to join strings, not + or & [OK]
Common Mistakes:
  • Using + operator for strings
  • Passing numbers directly to strcat without conversion
  • Using & operator for concatenation
3. What is the output of the following MATLAB code?
str1 = 'Good';
str2 = 'Morning';
result = [str1 ' ' str2];
disp(result);
medium
A. Good Morning
B. GoodMorning
C. Good_Morning
D. Error

Solution

  1. Step 1: Analyze the concatenation expression

    The code concatenates str1, a space character ' ', and str2 using square brackets.
  2. Step 2: Understand the output of disp

    The result is 'Good Morning' with a space between the words, so disp prints it exactly as 'Good Morning'.
  3. Final Answer:

    Good Morning -> Option A
  4. Quick Check:

    Concatenate with space inside [ ] to separate words [OK]
Hint: Add ' ' inside [ ] to insert space between strings [OK]
Common Mistakes:
  • Forgetting to add space character
  • Using + operator instead of [ ]
  • Expecting underscore instead of space
4. The following MATLAB code is intended to concatenate 'Hi' and 'There' but causes an error. What is the error and how to fix it?
str1 = 'Hi';
str2 = 'There';
result = str1 + str2;
disp(result);
medium
A. No error, output is 'HiThere'
B. Error: Use strcat function instead of +
C. Error: Use & operator instead of +
D. Error: Use square brackets [ ] instead of + for concatenation

Solution

  1. Step 1: Identify the cause of error

    Using + operator between strings in MATLAB causes an error because + is not defined for character arrays.
  2. Step 2: Correct the concatenation method

    Replace + with square brackets [ ] to join strings: result = [str1 str2];
  3. Final Answer:

    Error: Use square brackets [ ] instead of + for concatenation -> Option D
  4. Quick Check:

    Concatenate strings with [ ], not + [OK]
Hint: Replace + with [ ] to fix string concatenation error [OK]
Common Mistakes:
  • Using + operator for strings
  • Trying to use & operator
  • Assuming strcat always fixes + errors
5. You want to create a message in MATLAB that says 'User: John, Age: 30' by concatenating variables name = 'John' and age = 30. Which code correctly creates this message?
hard
A. msg = ['User: ' + name + ', Age: ' + string(age)];
B. msg = ['User: ' name ', Age: ' num2str(age)];
C. msg = strcat('User: ', name, ', Age: ', age);
D. msg = ['User: ' name ', Age: ' age];

Solution

  1. Step 1: Understand variable types and concatenation

    name is a string, age is a number. To concatenate, age must be converted to string using num2str.
  2. Step 2: Check each option for correctness

    msg = ['User: ' name ', Age: ' num2str(age)]; uses [ ] and num2str(age) correctly. msg = ['User: ' name ', Age: ' age]; tries to concatenate number directly causing error. msg = strcat('User: ', name, ', Age: ', age); uses strcat but passes number without conversion. msg = ['User: ' + name + ', Age: ' + string(age)]; uses + operator which is invalid.
  3. Final Answer:

    msg = ['User: ' name ', Age: ' num2str(age)]; -> Option B
  4. Quick Check:

    Convert numbers to strings before concatenation [OK]
Hint: Convert numbers to strings with num2str before concatenation [OK]
Common Mistakes:
  • Concatenating numbers without conversion
  • Using + operator for strings
  • Passing numbers directly to strcat
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