📖 Scenario: You are working with sensor data that comes as text strings. To analyze the data, you need to convert these text strings into numbers.
🎯 Goal: Learn how to convert text strings to numbers and numbers to text strings using MATLAB's type conversion functions.
📋 What You'll Learn
Create a cell array of text strings representing numbers
Create a variable to hold the number of elements
Convert the cell array of strings to a numeric array
Convert the numeric array back to a cell array of strings
Display the final converted cell array of strings
💡 Why This Matters
🌍 Real World
Sensors and devices often send data as text. Converting text to numbers is essential for calculations and analysis.
💼 Career
Understanding type conversion is important for data cleaning, processing, and preparing data for machine learning or reporting.
Progress0 / 4 steps
1
Create a cell array of text strings
Create a cell array called sensorData with these exact string values: '12.5', '7.8', '15.3', '9.1'.
MATLAB
Hint
Use curly braces {} to create a cell array of strings in MATLAB.
2
Create a variable for the number of elements
Create a variable called numElements and set it to the number of elements in sensorData using the length function.
MATLAB
Hint
Use length(sensorData) to get the number of elements in the cell array.
3
Convert the cell array of strings to a numeric array
Create a numeric array called numericData by converting each string in sensorData to a number using the str2double function inside a for loop with index i from 1 to numElements.
MATLAB
Hint
Use a for loop and str2double to convert each string to a number.
4
Convert numeric array back to cell array of strings and display
Create a cell array called convertedStrings by converting each number in numericData back to a string using the num2str function inside a for loop with index i from 1 to numElements. Then, display convertedStrings using disp.
MATLAB
Hint
Use num2str inside a for loop to convert numbers to strings, then use disp to show the result.
Practice
(1/5)
1. Which MATLAB function converts a string representing a number into a numeric double type?
easy
A. str2double
B. double
C. int32
D. char
Solution
Step 1: Understand the input and output types
The input is a string representing a number, and the output should be a numeric double type.
Step 2: Identify the correct conversion function
str2double converts strings to double numbers, while double converts numeric types to double, int32 converts to 32-bit integers, and char converts numbers to characters.
Final Answer:
str2double -> Option A
Quick Check:
String to double = str2double [OK]
Hint: Use str2double for string to number conversion [OK]
Common Mistakes:
Using double on a string causes error
Using int32 converts to integer, not double
Using char converts to characters, not numbers
2. Which of the following is the correct syntax to convert a numeric variable x to a 32-bit integer in MATLAB?
easy
A. convertToInt32(x)
B. int(x, 32)
C. int32(x)
D. toInt32(x)
Solution
Step 1: Recall MATLAB's type conversion syntax
MATLAB uses functions named after the target type, like int32, called with parentheses around the variable.
Step 2: Check each option's syntax
Only int32(x) is valid MATLAB syntax. The others are not MATLAB functions or use incorrect syntax.
Final Answer:
int32(x) -> Option C
Quick Check:
Correct syntax for int32 conversion = int32(x) [OK]
Hint: Use function name with parentheses for conversion [OK]
Common Mistakes:
Using non-existent functions like convertToInt32
Incorrect function call syntax
Confusing with other language syntax
3. What is the output of the following MATLAB code?
x = '123.45'; y = str2double(x); z = int32(y); disp(z);
medium
A. 123.45
B. '123.45'
C. Error
D. 123
Solution
Step 1: Convert string to double
str2double('123.45') converts the string to numeric double 123.45.
Step 2: Convert double to int32
int32(123.45) converts the double to integer by truncating the decimal part, resulting in 123.
Final Answer:
123 -> Option D
Quick Check:
str2double + int32 truncates decimals = 123 [OK]
Hint: int32 truncates decimals after str2double [OK]
Common Mistakes:
Expecting int32 to round instead of truncate
Thinking str2double returns string
Confusing output with original string
4. Identify the error in this MATLAB code snippet:
x = 65; y = str2double(x); disp(y);
medium
A. str2double cannot convert numeric input
B. x should be a string for str2double
C. Missing semicolon after disp(y)
D. disp cannot display numeric values
Solution
Step 1: Check input type for str2double
str2double expects a string input, but x is numeric (65).
Step 2: Identify the cause of error
Passing numeric x to str2double causes unexpected behavior or error because it is not a string.
Final Answer:
x should be a string for str2double -> Option B
Quick Check:
str2double needs string input [OK]
Hint: str2double requires string input, not numeric [OK]
Common Mistakes:
Passing numeric directly to str2double
Thinking disp needs semicolon
Believing disp can't show numbers
5. You have a cell array of strings representing numbers: data = {'10', '20.5', '30', '40.7'}. Which MATLAB code correctly converts all elements to a numeric array of doubles?
hard
A. numArray = cellfun(@str2double, data);
B. numArray = double(data);
C. numArray = int32(data);
D. numArray = str2double(data);
Solution
Step 1: Understand data type and conversion needed
data is a cell array of strings; we want a numeric double array.
Step 2: Use cellfun with str2double
cellfun(@str2double, data) applies str2double to each cell element, converting strings to doubles.
Step 3: Check other options
double(data) and int32(data) do not work on cell arrays directly; str2double(data) expects a string, not a cell array.
Final Answer:
numArray = cellfun(@str2double, data); -> Option A
Quick Check:
Use cellfun with str2double for cell string arrays [OK]
Hint: Use cellfun(@str2double, cellArray) for cell string to numbers [OK]
Common Mistakes:
Trying double or int32 on cell arrays directly
Using str2double on cell array without cellfun
Not converting strings inside cells individually
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.