Как Вы эффективно создали бы массив ячеек строк, которые содержат числа (в моем особом случае, массиве ячеек маркировок для легенды).
Например:{'series 1', 'series 2', 'series 3'}
Я попробовал вещи вроде
sprintf('series %i', {1:10})
но по-видимому sprintf и массивы ячеек не играют по правилам вместе.
Что-то вроде этого работает, если я только хочу число, но не работает, если я хочу текст также.
cellstr(int2str([1:10]'))
Очевидно, это может быть сделано в цикле, но должна быть умная острота способ сделать это.
Функции INT2STR и STRCAT делают свое дело:
>> cellArray = strcat({'series '},int2str((1:3).')).'
cellArray =
'series 1' 'series 2' 'series 3'
Немного другой способ:
cellArray = cellstr( num2str((1:3)', 'series %d') )
или альтернативно
cellArray = strcat( num2str((1:3)', 'series %d'), {} )
с результатом:
cellArray =
'series 1'
'series 2'
'series 3'