creating a repeated matrix

15 Ansichten (letzte 30 Tage)
Sabbas
Sabbas am 1 Jul. 2012
HI all,
I have the following code
k1=repmat({'S1'}, [3,1]) ;
k2=repmat({'S2'}, [3,1]) ;
k3=repmat({'S3'}, [3,1]) ;
k4=repmat({'S4'}, [3,1]) ;
k5=repmat({'S5'}, [3,1]) ;
k6=repmat({'S6'}, [3,1]) ;
ktotal= [k1; k2;k3;k4;k5;k6];
Is it possible to create "ktotal" with a more clever way? Probably with a loop?
thank you in advance

Akzeptierte Antwort

per isakson
per isakson am 2 Jul. 2012
Bearbeitet: per isakson am 2 Jul. 2012
This is a more "clever" way:
ixs = repmat( [1:6], [3,1] );
ktotal = arrayfun( @(ii) sprintf('S%u',ii), ixs(:), 'uni', false );
However, a for-loop is probably the "best" way:
ktotal = cell( 6*3, 1 );
for ii = 1:6
ix = 3*(ii-1)+1;
ktotal( ix : ix+2 ) = {sprintf('S%u',ii)};
end

Weitere Antworten (0)

Kategorien

Mehr zu Creating and Concatenating Matrices 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