comment convertir une cellule en chaîne de caractères en matlab
Supposons que j'ai une cellule
v = 'v' [576.5818] [3.0286] [576.9270]
'v' [576.5953] [3.1180] [576.8716]
'f' [ 56] [ 58] [ 52]
'f' [ 56] [ 58] [ 52]
et je veux convertir cette matrice de cellules à l'aide d'une chaîne de format pour chaque élément:' %.5f'
Comment puis-je faire cela? J'ai essayé la méthode suivante, mais j'obtiens une erreur:
f1 = @(x) sprintf(' %.5f',x);
cellfun(f1, num2cell(v),'UniformOutput', false)
j'obtiens une erreur ???
Error using ==> sprintf
Function is not defined for 'cell' inputs.
Error in ==> @(x)sprintf(' %.5f',x)
quelqu'un Peut-il m'aider merci d'avance
17
demandé sur
merlin2011
2012-11-07 00:03:19
4 réponses
Chaîne de caractères est un tableau de cellule
enfin, pas vraiment.. C'est une matrice, mais continuez à lire.
je suppose que la cellule de tableau est le plus mystique de type de données dans MATLAB. Donc, nous allons démystifier un peu ;-)
supposons
fruits = {...
'banana',...
'apple',...
'orange'...
}
tout d'Abord entier indexation n'est pas nécessaire pour les petits tableaux. Il est beaucoup mieux d'utiliser foreach