Strings and character arrays both store text in MATLAB, but they work differently. Knowing the difference helps you choose the right one for your task.
String vs character array in MATLAB
str = "Hello"; % String charArray = ['H', 'e', 'l', 'l', 'o']; % Character array
Strings are created with double quotes " ".
Character arrays use single quotes ' ' around each character or a single quoted sequence.
str = "Hello, world!"; disp(str);
charArray = ['H', 'e', 'l', 'l', 'o']; disp(charArray);
emptyStr = ""; emptyCharArray = ''; disp(emptyStr); disp(emptyCharArray);
singleCharStr = "A"; singleCharArray = 'A'; disp(singleCharStr); disp(singleCharArray);
This program shows how to create a string and a character array, access their first characters, and modify the second character in both.
str = "Hello"; charArray = ['H', 'e', 'l', 'l', 'o']; fprintf('String: %s\n', str); fprintf('Character array: %s\n', charArray); % Access first character fprintf('First character of string: %s\n', str(1)); fprintf('First character of char array: %s\n', charArray(1)); % Modify second character str(2) = 'a'; charArray(2) = 'a'; fprintf('Modified string: %s\n', str); fprintf('Modified char array: %s\n', charArray);
Strings are easier to work with for most text operations because MATLAB has many built-in string functions.
Character arrays are older and sometimes needed for compatibility with legacy code.
Strings use more memory but offer more features like string arrays and text processing.
Strings use double quotes and are modern, flexible text containers.
Character arrays use single quotes and treat text as a list of characters.
Choose strings for new code and character arrays for legacy or specific character-level tasks.