Matlab: convertir le tableau de nombre de tableau de chaînes de caractères
Comment puis-je convertir [12 25 34 466 55]
pour un tableau de chaînes de caractères ['12' '25' '34' '466' '55']
? Les fonctions de conversion que je connais convertissent ce tableau en une chaîne représentant le tableau entier.
4 réponses
Un tableau de chaînes doit être un tableau de cellules. Qui a dit:
s = [12 25 34 466 55]
strtrim(cellstr(num2str(s'))')
en utilisant arrayfun
avec num2str
devrait fonctionner:
>> A = [12 25 34 466 55]
A =
12 25 34 466 55
>> arrayfun(@num2str, A, 'UniformOutput', false)
ans =
'12' '25' '34' '466' '55'
maintenant, après MATLAB 2016b, vous pouvez simplement utiliser
s = [12 25 34 466 55];
string(s)
['12' '25' '34' '466' '55']
ans =
12253446655
j'ai besoin de plus de contexte ici pour ce que vous essayez d'accomplir, mais en supposant que vous voulez toujours être en mesure d'accéder à chaque nombre individuel comme une chaîne, Un tableau de cellules est probablement la meilleure approche que vous pouvez prendre:
A = [1 2 3]
num2cell(num2str(A))
(bien sûr, vous devez toujours supprimer les espaces errants de l'ans)