I wanna create vector of structures

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 Kommentar

Stephen23
Stephen23 am 31 Jul. 2015
Bearbeitet: Stephen23 am 31 Jul. 2015
for k = k:-1:1
X(k).a = k;
X(k).b = 20-k;
X(k).c = k+3;
end

Melden Sie sich an, um zu kommentieren.

Antworten (2)

Azzi Abdelmalek
Azzi Abdelmalek am 31 Jul. 2015
Bearbeitet: Azzi Abdelmalek am 31 Jul. 2015

1 Stimme

ii=1:10
vec=struct('a',num2cell(ii),'b',num2cell(20-ii),'c',num2cell(ii+3))
Muthu Annamalai
Muthu Annamalai am 31 Jul. 2015

0 Stimmen

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.

Kategorien

Gefragt:

am 31 Jul. 2015

Bearbeitet:

am 31 Jul. 2015

Community Treasure Hunt

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

Start Hunting!

Translated by