Bird
Raised Fist0
MATLABdata~5 mins

Structures and field access in MATLAB - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a structure in MATLAB?
A structure in MATLAB is a data type that groups related data using named fields, allowing you to organize different types of data together like a real-world object.
Click to reveal answer
beginner
How do you create a structure with fields 'Name' and 'Age' in MATLAB?
You can create it like this:
person.Name = 'Alice';
person.Age = 30;
Click to reveal answer
beginner
How do you access the field 'Age' from a structure variable 'person'?
Use dot notation:
person.Age returns the value stored in the 'Age' field.
Click to reveal answer
intermediate
How can you check if a field exists in a structure?
Use the function isfield(structure, 'fieldname'). It returns true if the field exists, false otherwise.
Click to reveal answer
intermediate
What happens if you try to access a field that does not exist in a MATLAB structure?
MATLAB gives an error saying the field does not exist. You should check with isfield before accessing to avoid this.
Click to reveal answer
How do you add a new field 'Height' with value 170 to an existing structure 'person'?
Aperson.Height = 170;
Baddfield(person, 'Height', 170);
Cperson('Height') = 170;
Dperson->Height = 170;
Which function checks if a field exists in a structure?
Afieldexists()
Bhasfield()
Cisfield()
Dcheckfield()
What is the output of person.Name if person.Name = 'Bob';?
AName
BError
Cperson.Name
D'Bob'
How do you create an empty structure with fields 'X' and 'Y'?
Astruct(X, Y)
Bstruct('X', [], 'Y', [])
Cemptystruct('X', 'Y')
Dnewstruct('X', 'Y')
What happens if you try to access person.Weight but 'Weight' is not a field?
AThrows an error
BReturns empty
CReturns zero
DCreates the field automatically
Explain how to create a MATLAB structure and access its fields.
Think about how you name fields and get their values.
You got /3 concepts.
    Describe how to safely check if a field exists before accessing it in a structure.
    Use a function that returns true or false for field presence.
    You got /3 concepts.

      Practice

      (1/5)
      1. What is the correct way to access the field age from a structure person in MATLAB?
      easy
      A. person['age']
      B. person.age
      C. person->age
      D. person.age()

      Solution

      1. Step 1: Understand MATLAB structure field access

        In MATLAB, fields of a structure are accessed using dot notation without parentheses or brackets.
      2. Step 2: Identify correct syntax for field access

        The correct syntax is structure.field, so person.age is correct.
      3. Final Answer:

        person.age -> Option B
      4. Quick Check:

        Use dot notation for fields [OK]
      Hint: Use dot notation to access structure fields in MATLAB [OK]
      Common Mistakes:
      • Using parentheses like a function call
      • Using brackets like a dictionary
      • Using arrow notation from other languages
      2. Which of the following is the correct way to create a structure car with fields make and year in MATLAB?
      easy
      A. car = struct(make = 'Toyota', year = 2020);
      B. car = {make: 'Toyota', year: 2020};
      C. car = struct['make' => 'Toyota', 'year' => 2020];
      D. car = struct('make', 'Toyota', 'year', 2020);

      Solution

      1. Step 1: Recall MATLAB struct creation syntax

        MATLAB uses the struct function with pairs of field names and values as strings and values.
      2. Step 2: Match correct syntax

        car = struct('make', 'Toyota', 'year', 2020); uses struct('make', 'Toyota', 'year', 2020), which is correct MATLAB syntax.
      3. Final Answer:

        car = struct('make', 'Toyota', 'year', 2020); -> Option D
      4. Quick Check:

        Use struct('field', value, ...) to create structures [OK]
      Hint: Use struct('field', value) pairs to create structures [OK]
      Common Mistakes:
      • Using JSON or dictionary syntax
      • Using equal signs inside struct()
      • Using brackets instead of parentheses
      3. What is the output of the following MATLAB code?
      person.name = 'Alice';
      person.age = 30;
      disp(person.age);
      medium
      A. 'Alice'
      B. name
      C. 30
      D. Error: Undefined variable

      Solution

      1. Step 1: Understand structure field assignment

        The code assigns 'Alice' to person.name and 30 to person.age.
      2. Step 2: Identify what disp(person.age) shows

        The disp function prints the value of person.age, which is 30.
      3. Final Answer:

        30 -> Option C
      4. Quick Check:

        disp shows the value of the accessed field [OK]
      Hint: disp(struct.field) prints the field's value [OK]
      Common Mistakes:
      • Confusing field names with values
      • Expecting the field name instead of value
      • Syntax errors from missing semicolons
      4. Consider this MATLAB code snippet:
      data = struct('x', 10, 'y', 20);
      disp(data.z);
      What will happen when this code runs?
      medium
      A. Error: Reference to non-existent field 'z'.
      B. Displays 0
      C. Displays empty array []
      D. Displays 20

      Solution

      1. Step 1: Check structure fields

        The structure data has fields x and y, but no field z.
      2. Step 2: Accessing a non-existent field

        Trying to access data.z causes MATLAB to throw an error about the missing field.
      3. Final Answer:

        Error: Reference to non-existent field 'z'. -> Option A
      4. Quick Check:

        Accessing missing fields causes an error [OK]
      Hint: Access only existing fields; missing fields cause errors [OK]
      Common Mistakes:
      • Assuming missing fields return 0 or empty
      • Ignoring error messages
      • Confusing field names with variable names
      5. You have a structure array students with fields name and score. How do you create a new structure passed containing only students with score >= 50?
      hard
      A. passed = students([students.score] >= 50);
      B. passed = struct('name', students.name, 'score', students.score >= 50);
      C. passed = students.score >= 50;
      D. passed = students{students.score >= 50};

      Solution

      1. Step 1: Understand structure arrays and logical indexing

        In MATLAB, [students.score] creates an array of scores. Logical indexing selects elements where condition is true.
      2. Step 2: Apply logical indexing to filter students

        The expression students([students.score] >= 50) selects only students with scores 50 or above.
      3. Final Answer:

        passed = students([students.score] >= 50); -> Option A
      4. Quick Check:

        Use logical indexing on structure arrays [OK]
      Hint: Use logical indexing with [struct.field] to filter arrays [OK]
      Common Mistakes:
      • Trying to assign logical array directly
      • Using curly braces instead of parentheses
      • Creating new struct without filtering
      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