assign cell arrays to struct

20 views (last 30 days)
René Lampert
René Lampert on 28 May 2022
Answered: Stephen23 on 28 May 2022
Dear all,
is it somehow possible to assign cell arrays to the "field" and "value" variables within a struct, like test=struct(field,value) where "field" and "value" are cell arrays ?
Thanks

Accepted Answer

Stephen23
Stephen23 on 28 May 2022
You could use CELL2STRUCT :
fnm = {'hello','world'};
val = {[1,NaN],[1,4,9]};
S2 = cell2struct(val,fnm,2)
S2 = struct with fields:
hello: [1 NaN] world: [1 4 9]
or a comma-separated list:
tmp = [fnm;val]; % the orientation is important!
S1 = struct(tmp{:})
S1 = struct with fields:
hello: [1 NaN] world: [1 4 9]

More Answers (1)

Image Analyst
Image Analyst on 28 May 2022
ca = {1, 'abc', rand(1,4)}
ca = 1×3 cell array
{[1]} {'abc'} {[0.3876 0.4122 0.2440 0.2197]}
test.myField = ca
test = struct with fields:
myField: {[1] 'abc' [0.3876 0.4122 0.2440 0.2197]}

Categories

Find more on Structures in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!