Problem 1689. Determine which fields have been modified in a structure

Given two input structures (s1, s2), determine which field values have been modified in s2 compared to s1. Your output should be a cell array of appropriate fieldnames and a cell array of the corresponding s2 field values. If s1 and s2 are identical (i.e. no values have been changed), return [] for both outputs.

Example

Suppose

s1.foo = 1;
s1.bar = 2;
s1.baz = 3;

and

s2.foo = 1;
s2.bar = 0;
s2.baz = 3;

then the correct output is

f = {'bar'}
v = {0}

Assumptions

  • Inputs are scalar structures
  • Inputs have identical fieldnames
  • Field values can be numeric arrays, strings, or cell arrays
  • The ith cell in output f corresponds to the ith cell in output v

Solution Stats

51.02% Correct | 48.98% Incorrect
Last Solution submitted on Mar 11, 2023

Problem Comments

Solution Comments

Show comments

Problem Recent Solvers20

Suggested Problems

More from this Author44

Problem Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!