how to set multiple fields in a struct without using a loop

Hello guys, I have the next problem, I want to make something like this:
A={'A1';'A2';'A3'};
them make B=somefunction(B,A); and obtain this:
B =
A1: []
A2: []
A3: []
Any idea?

 Accepted Answer

A = {'A1';'A2';'A3'};
your_struct = cell2struct(repmat({[]},3,1),A);
Please accept an answer if it helped you.

1 Comment

It's better:
A = {'A1';'A2';'A3'};
your_struct = cell2struct(repmat({[]},size(A,1),1),A);

Sign in to comment.

More Answers (1)

for i=1:size(A,1)
B.(A{i})=[];
end
But this answer has a loop, and I don't know if there's another way more efficent.

Categories

Community Treasure Hunt

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

Start Hunting!