MATLAB has a setfield and a rmfield, but not a "rename field". You need to write one for this problem.
Example
Suppose
s(1).foo = 1; s(1).bar = 'one'; s(2).foo = 2; s(2).bar = 'two';
and you want the field "bar" to be renamed "baz". Given the inputs s, oldField, and newField, you must return this output structure with all the data still in place.
s(1).foo = 1; s(1).baz = 'one'; s(2).foo = 2; s(2).baz = 'two';
[Problem from Matthew Simoneau]
Does "All the data still" mean, that the fields are not re-ordered? A lot of the solutions change the order of the fields.
When I run the test suite on my computer, this solution works. It passes the test suite.
This fails, if the fieldname to be replaced appears as part of another fieldname. Example: S.ab=1; S.a=2; renamefield(S, 'a', 'c')
36384 Solvers
Maximum running product for a string of numbers
817 Solvers
2111 Solvers
Find out missing number from a vector of 9 elements
207 Solvers
367 Solvers