How To Generate Field Names from Variables

2 views (last 30 days)
Krzysztof
Krzysztof on 21 Nov 2013
The following code behaves rather unexpectedly to me:
r .ab = 'cd';
try assert (r .([ 'a'; 'b' ]))
catch e
assert (all (e .identifier == 'MATLAB:nonExistentField'))
end
assert (all (r .([ 'ax'; 'bx' ]) == 'cd'));
It seems that MATLAB considers only (fieldname (:, 1)), except when there is only one column, in which case it considers only (fieldname (1)). All this is undocumented. Isn’t that weird? I would expect MATLAB to error out with 'mustBeFieldName' in both cases instead.

Answers (0)

Categories

Find more on Startup and Shutdown in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!