creating a repeated matrix

Asked by Sabbas on 1 Jul 2012
Latest activity Commented on by Sabbas on 2 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

0 Comments

Sabbas

Products

No products are associated with this question.

1 Answer

Answer by per isakson on 2 Jul 2012
Edited by per isakson on 2 Jul 2012
Accepted answer

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

1 Comment

Sabbas on 2 Jul 2012

Thank you!

per isakson

Contact us