How to create a struct from a cell array of fieldnames and a cell array of values?

How can you take a cell array array of fieldnames and a cell array of values, and convert them into a structure without looping?
names = {'f1', 'f2'};
values = {1 2};
structure = struct(???)

 Accepted Answer

args=[names;values];
structure = struct(args{:})

1 Comment

Brilliant! I couldn't figure out how to make the fieldnames and values alternate, but your solution is the key :) Thanks Matt!

Sign in to comment.

More Answers (1)

cell2struct(values,names,2)

2 Comments

I always find the cell2struct syntax tricky. I figured that it should be possible, but gave up. Thanks!
It is not documented but even slightly faster, to omit the 3rd input dimension, when values and names are {nx1} cells.

Sign in to comment.

Categories

Products

Community Treasure Hunt

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

Start Hunting!