创建具有相同前缀+顺序索引的 char 类型元胞数组的更简单代码?
Simpler code to create a cell array of char type with the same prefix + sequential indices?
我想创建一个具有相同前缀 + 顺序索引的元胞数组,例如 {'a1','a2','a3','a4','a5'}
。
下面的代码可以生成所需的输出,但我想应该有更短的代码可以做到。
>> strcat('a',arrayfun(@num2str,1:5,'UniformOutput',false))
ans =
1×5 cell array
{'a1'} {'a2'} {'a3'} {'a4'} {'a5'}
如果有人可以分享想法以更简单、更优雅的方式制作它,我们将不胜感激。
这并不完全相同,但如果您使用新的(不再那么新的)字符串数组,您可以:
"a" + (1:5)
这个returns:
ans =
1×5 string array
"a1" "a2" "a3" "a4" "a5"
一般来说,对于某些事情,“新”字符串比旧的 char 数组使用起来更方便。如果要操作单个字符,最好继续使用 char 数组,但对于一般的字符串操作,尤其是一次操作多个字符串,字符串数组提供更好的功能。
我想创建一个具有相同前缀 + 顺序索引的元胞数组,例如 {'a1','a2','a3','a4','a5'}
。
下面的代码可以生成所需的输出,但我想应该有更短的代码可以做到。
>> strcat('a',arrayfun(@num2str,1:5,'UniformOutput',false))
ans =
1×5 cell array
{'a1'} {'a2'} {'a3'} {'a4'} {'a5'}
如果有人可以分享想法以更简单、更优雅的方式制作它,我们将不胜感激。
这并不完全相同,但如果您使用新的(不再那么新的)字符串数组,您可以:
"a" + (1:5)
这个returns:
ans =
1×5 string array
"a1" "a2" "a3" "a4" "a5"
一般来说,对于某些事情,“新”字符串比旧的 char 数组使用起来更方便。如果要操作单个字符,最好继续使用 char 数组,但对于一般的字符串操作,尤其是一次操作多个字符串,字符串数组提供更好的功能。