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.

27
demandé sur olamundo 2012-08-28 21:50:20

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'))')
28
répondu Peter 2012-08-28 17:59:05

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'
11
répondu Kavka 2012-08-28 18:30:42

maintenant, après MATLAB 2016b, vous pouvez simplement utiliser

s = [12 25 34 466 55]; 
string(s)
8
répondu Roun 2016-11-05 23:05:28
['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)

0
répondu Vish 2012-08-28 17:59:16