如何将[12 25 34 466 55]
转换为字符串数组['12' '25' '34' '466' '55']
? 我所知道的转换函数只能将该数组转换为代表整个数组的一个字符串。
如何将[12 25 34 466 55]
转换为字符串数组['12' '25' '34' '466' '55']
? 我所知道的转换函数只能将该数组转换为代表整个数组的一个字符串。
字符串数组必须是一个单元格数组。
s = [12 25 34 466 55]
strtrim(cellstr(num2str(s'))')
现在在MATLAB 2016b之后,你可以简单地使用
s = [12 25 34 466 55];
string(s)
可以使用arrayfun
与num2str
一起来实现:
>> A = [12 25 34 466 55]
A =
12 25 34 466 55
>> arrayfun(@num2str, A, 'UniformOutput', false)
ans =
'12' '25' '34' '466' '55'
arrayfun(@num2str, A, 'UniformOutput', false)
呢?同样的概念、同样的输出,但可以避免"from-cell"和"to-cell"的转换。 - gevang['12' '25' '34' '466' '55']
ans =
12253446655
我需要更多的上下文信息来了解你要实现什么,但是假设你想要仍然能够将每个单独的数字作为字符串进行访问,那么使用一个单元数组可能是你可以采取的最佳方法:
A = [1 2 3]
num2cell(num2str(A))
num2cell
和 num2str
的顺序。使用 cellfun(@num2str,num2cell(s),'UniformOutput',false)
可以很好地完成工作。 - Doresoom从R2016b开始,还有一个compose函数:
>> A = [12 25 34 466 55]
A =
12 25 34 466 55
>> compose("%d", A)
ans =
1×5 string array
"12" "25" "34" "466" "55"'''