editing in string array

13 Ansichten (letzte 30 Tage)
ANKUR KUMAR
ANKUR KUMAR am 1 Nov. 2017
Bearbeitet: KSSV am 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?

Akzeptierte Antwort

KSSV
KSSV am 1 Nov. 2017
Bearbeitet: KSSV am 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 Kommentare
KSSV
KSSV am 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 am 1 Nov. 2017
Bearbeitet: Stephen23 am 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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Tags

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by