Problem: Given a prefix say 'foo', generate a cell array of strings in Matlab such that each string has a number appended to it.
Ans:
Ans:
>> n=5; cas = cellstr([repmat('foo', n, 1), num2str([1:n]')]) cas = 'foo1' 'foo2' 'foo3' 'foo4' 'foo5'Spaces are automatically appended when the appended numbers have wider range.
>> n=10; cas = cellstr([repmat('foo', n, 1), num2str([1:n]')]) cas = 'foo 1' 'foo 2' 'foo 3' 'foo 4' 'foo 5' 'foo 6' 'foo 7' 'foo 8' 'foo 9' 'foo10'Adding another string at the top of the array is easy
>> n=10; cas = [{'raju'}; cellstr([repmat('foo', n, 1), num2str([1:n]')])] cas = 'raju' 'foo 1' 'foo 2' 'foo 3' 'foo 4' 'foo 5' 'foo 6' 'foo 7' 'foo 8' 'foo 9' 'foo10'which can also be done by
>> n=10; cas = cellstr([repmat('foo', n, 1), num2str([1:n]')]); cas2 = [{'raju'}; cas] cas2 = 'raju' 'foo 1' 'foo 2' 'foo 3' 'foo 4' 'foo 5' 'foo 6' 'foo 7' 'foo 8' 'foo 9' 'foo10'
No comments:
Post a Comment