Comment puis-je convertir [12 25 34 466 55]
en un tableau de chaînes ['12' '25' '34' '466' '55']
? Les fonctions de conversion que je connais convertissent ce tableau en une chaîne représentant l’ensemble du tableau.
Un tableau de chaînes doit être un tableau de cellules. Cela dit:
s = [12 25 34 466 55]
strtrim(cellstr(num2str(s'))')
Utiliser arrayfun
avec num2str
fonctionnerait comme suit:
>> 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)
Dans MATLAB, ['12' '25' '34' '466' '55'] est identique à une chaîne contenant ces nombres. C'est-à-dire:
['12' '25' '34' '466' '55']
ans =
12253446655
J'ai besoin de plus de contexte ici pour ce que vous essayez d'accomplir, mais si vous voulez toujours pouvoir accéder à chaque numéro sous forme de chaîne, un tableau de cellules est probablement la meilleure approche que vous puissiez adopter:
A = [1 2 3]
num2cell(num2str(A))
(Bien sûr, vous devrez toujours supprimer les espaces perdus des années)