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

3 Ansichten (letzte 30 Tage)
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?
  4 Kommentare
José-Luis
José-Luis am 6 Jun. 2014
B is a struct with fields A1, A2 and A3?

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

José-Luis
José-Luis am 6 Jun. 2014
Bearbeitet: José-Luis am 6 Jun. 2014
A = {'A1';'A2';'A3'};
your_struct = cell2struct(repmat({[]},3,1),A);
Please accept an answer if it helped you.

Weitere Antworten (1)

Lisandro Jimenez
Lisandro Jimenez am 6 Jun. 2014
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.

Kategorien

Mehr zu Structures finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by