Bird
Raised Fist0
MATLABdata~5 mins

Structure arrays in MATLAB - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a structure array in MATLAB?
A structure array is a data type that groups related data using named fields. Each element in the array can have the same fields but different values.
Click to reveal answer
beginner
How do you create a structure array with fields 'Name' and 'Age' for two people?
Use the syntax:
s(1).Name = 'Alice'; s(1).Age = 30;
s(2).Name = 'Bob'; s(2).Age = 25;
Click to reveal answer
beginner
How do you access the 'Age' of the second element in a structure array s?
Use s(2).Age to get the age of the second element.
Click to reveal answer
intermediate
Can structure arrays have fields that are themselves arrays or other structures?
Yes, fields in a structure array can hold any data type, including arrays, other structures, or even function handles.
Click to reveal answer
intermediate
How do you add a new field 'Height' to all elements of an existing structure array s?
You can add a new field by assigning it to each element, for example:
[s.Height] = deal(170);
This sets the 'Height' field to 170 for all elements.
Click to reveal answer
What does s(3).Name represent in a structure array s?
AThe 'Name' field of the third element in s
BThe third character of the string in s.Name
CThe third element of the field 'Name' in s
DThe number of elements in s
How do you initialize an empty structure array with fields 'Name' and 'Age'?
As = struct('Name', {}, 'Age', {});
Bs = struct('Name', [], 'Age', []);
Cs = [];
Ds = struct();
Which command adds a field 'City' with value 'NY' to the first element of s?
As.City(1) = 'NY';
Bs.City = {'NY'};
Caddfield(s, 'City', 'NY');
Ds(1).City = 'NY';
If s is a structure array, what does [s.Age] return?
AAn error because fields cannot be concatenated
BThe 'Age' field of the first element only
CAn array of all 'Age' values from each element in s
DA cell array of 'Age' values
Can structure arrays in MATLAB store different data types in different fields?
ANo, all fields must have the same data type
BYes, each field can hold different data types
COnly numeric types are allowed
DOnly strings are allowed
Explain how to create and access elements in a structure array in MATLAB.
Think about how you store and get data like a contact list.
You got /4 concepts.
    Describe how to add a new field to all elements of an existing structure array.
    Imagine adding a new column to a table for everyone.
    You got /3 concepts.

      Practice

      (1/5)
      1. What is a structure array in MATLAB used for?
      easy
      A. To perform matrix multiplication
      B. To store only numeric arrays
      C. To group related data with different types under named fields
      D. To create loops for iteration

      Solution

      1. Step 1: Understand the purpose of structure arrays

        Structure arrays allow grouping of different types of data under named fields.
      2. Step 2: Compare options with the definition

        Only To group related data with different types under named fields correctly describes this use; others describe unrelated concepts.
      3. Final Answer:

        To group related data with different types under named fields -> Option C
      4. Quick Check:

        Structure arrays = group data by fields [OK]
      Hint: Remember: structures group different data types by names [OK]
      Common Mistakes:
      • Thinking structures only hold numeric data
      • Confusing structures with loops or matrices
      2. Which of the following is the correct way to create a structure array with fields 'Name' and 'Age' in MATLAB?
      easy
      A. person = struct('Name', 'Alice', 'Age', 30);
      B. person = struct(Name = 'Alice', Age = 30);
      C. person = struct['Name', 'Alice', 'Age', 30];
      D. person = struct{'Name', 'Alice', 'Age', 30};

      Solution

      1. Step 1: Recall MATLAB struct syntax

        MATLAB uses struct('field1', value1, 'field2', value2) to create structures.
      2. Step 2: Check each option's syntax

        person = struct('Name', 'Alice', 'Age', 30); uses correct parentheses and quotes. Options B, C, D use invalid syntax.
      3. Final Answer:

        person = struct('Name', 'Alice', 'Age', 30); -> Option A
      4. Quick Check:

        struct uses parentheses and quotes [OK]
      Hint: Use parentheses and quotes with struct() [OK]
      Common Mistakes:
      • Using square or curly brackets instead of parentheses
      • Omitting quotes around field names
      3. What is the output of the following MATLAB code?
      student(1).Name = 'John';
      student(1).Score = 85;
      student(2).Name = 'Jane';
      student(2).Score = 92;
      disp(student(2).Name);
      medium
      A. Jane
      B. John
      C. 85
      D. 92

      Solution

      1. Step 1: Understand structure array indexing

        student(2) accesses the second element; .Name accesses the 'Name' field.
      2. Step 2: Identify the value stored in student(2).Name

        It is 'Jane' as assigned in the code.
      3. Final Answer:

        Jane -> Option A
      4. Quick Check:

        student(2).Name = 'Jane' [OK]
      Hint: Use index and field name to get value [OK]
      Common Mistakes:
      • Confusing index 1 and 2
      • Accessing Score instead of Name
      4. Identify the error in this MATLAB code snippet:
      car.Make = 'Toyota';
      car(1).Model = 'Corolla';
      car(1).Year = 2020;
      medium
      A. Field names must be numeric
      B. Missing semicolon after first line
      C. Mixing scalar and array structure assignment causes error
      D. No error, code runs fine

      Solution

      1. Step 1: Analyze structure assignment styles

        First line creates scalar structure car with field Make. Next lines assign to car(1), valid for scalar structures.
      2. Step 2: Understand MATLAB structure array rules

        MATLAB allows indexing scalar structures and dynamically adding fields; no error occurs.
      3. Final Answer:

        No error, code runs fine -> Option D
      4. Quick Check:

        Scalar struct indexing + field addition works [OK]
      Hint: Scalar structures can be indexed like arrays [OK]
      Common Mistakes:
      • Thinking scalar and array assignments cannot mix
      • Believing field names must be numeric
      • Assuming missing semicolons cause errors
      5. Given a structure array books with fields Title and Pages, how do you create a new structure array shortBooks containing only books with less than 100 pages?
      hard
      A. shortBooks = books(books.Pages < 100);
      B. shortBooks = books([books.Pages] < 100);
      C. shortBooks = books{books.Pages < 100};
      D. shortBooks = books(books.Pages > 100);

      Solution

      1. Step 1: Extract numeric array of Pages

        Use [books.Pages] to get all Pages values as a numeric array.
      2. Step 2: Use logical indexing to filter

        Compare with < 100 to get logical indices, then index books with these.
      3. Step 3: Check syntax correctness

        shortBooks = books([books.Pages] < 100); correctly uses parentheses and logical indexing; others are incorrect.
      4. Final Answer:

        shortBooks = books([books.Pages] < 100); -> Option B
      5. Quick Check:

        Logical indexing with [books.Pages] works [OK]
      Hint: Use [struct.field] for numeric indexing [OK]
      Common Mistakes:
      • Using curly braces {} instead of parentheses ()
      • Forgetting to use brackets [] around field extraction
      • Using wrong comparison operator
      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