editing in string array

6 visualizzazioni (ultimi 30 giorni)
ANKUR KUMAR
ANKUR KUMAR il 1 Nov 2017
Modificato: KSSV il 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?

Risposta accettata

KSSV
KSSV il 1 Nov 2017
Modificato: KSSV il 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 Commenti
KSSV
KSSV il 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 il 1 Nov 2017
Modificato: Stephen23 il 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.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Tag

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by