如何构建包含数字的字符串的单元格数组

Ken*_*ena 8 string matlab

您将如何有效地构建包含数字的字符串的单元格数组(在我的特定情况下,为图例的标签的单元格数组).

例如:{'series 1', 'series 2', 'series 3'}

我已经尝试过各种各样的事情了

sprintf('series %i', {1:10})
Run Code Online (Sandbox Code Playgroud)

但显然sprintf和单元阵列并不能很好地协同工作.

如果我只想要这个数字,这样的东西就有效,但如果我想要文本也不行.

cellstr(int2str([1:10]'))
Run Code Online (Sandbox Code Playgroud)

显然,它可以在一个循环中完成,但必须有一个聪明的单行方式来做到这一点.

Ben*_*_11 12

我知道它已经有4年了,但是我遇到了未记录的函数sprintfc,它用于完全按照你想要的方式执行:

CellArray = sprintfc('series %i',1:3);

CellArray = 

    'series 1'    'series 2'    'series 3'
Run Code Online (Sandbox Code Playgroud)

嗯...这对我认为的人可能有用.


gno*_*ice 6

函数INT2STRSTRCAT可以解决这个问题:

>> cellArray = strcat({'series '},int2str((1:3).')).'

cellArray = 

    'series 1'    'series 2'    'series 3'
Run Code Online (Sandbox Code Playgroud)