editing in string array

12 vues (au cours des 30 derniers jours)
ANKUR KUMAR
ANKUR KUMAR le 1 Nov 2017
Modifié(e) : KSSV le 1 Nov 2017
a={'10','7','5','9','11','12','12','4'}
I want to put 0 at the starting of all those whose length is 1. How can I do this easily?

Réponse acceptée

KSSV
KSSV le 1 Nov 2017
Modifié(e) : KSSV le 1 Nov 2017
a={'10','7','5','9','11','12','12','4'} ;
L = cellfun(@length,a) ;
idx = L==1 ;
a(idx) = strcat('0',a(idx)) ;
  3 commentaires
KSSV
KSSV le 1 Nov 2017
cellfun works on the cells.....it is nothing but a for loop on each cell. arrayfun works on rows/ cols of matrices.
Stephen23
Stephen23 le 1 Nov 2017
Modifié(e) : Stephen23 le 1 Nov 2017
More accurately:
  • cellfun applies the function to the contents of each cell of a cell array.
  • arrayfun applies the function to each element of any array (which could be numeric, cell, etc).
Use whichever suits your purpose.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Tags

Produits

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by