I wanna create vector of structures

4 visualizzazioni (ultimi 30 giorni)
Jonghun Yun
Jonghun Yun il 31 Lug 2015
Modificato: Azzi Abdelmalek il 31 Lug 2015
Why
"for i=1:10 vec(i)=struct('a',i, 'b',20-i, 'c',i+3); end"
does not work?
How can I correct it to create vectors of structures?
  1 Commento
Stephen23
Stephen23 il 31 Lug 2015
Modificato: Stephen23 il 31 Lug 2015
for k = k:-1:1
X(k).a = k;
X(k).b = 20-k;
X(k).c = k+3;
end

Accedi per commentare.

Risposte (2)

Azzi Abdelmalek
Azzi Abdelmalek il 31 Lug 2015
Modificato: Azzi Abdelmalek il 31 Lug 2015
ii=1:10
vec=struct('a',num2cell(ii),'b',num2cell(20-ii),'c',num2cell(ii+3))

Muthu Annamalai
Muthu Annamalai il 31 Lug 2015
You may also try, in addition to Azzi's code,
ii=1:10;
vec = arrayfun ( @(i) struct('a',i, 'b',20-i, 'c',i+3), ii );
depending on your stylistic preference.

Categorie

Scopri di più su Structures in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by