How do I change a 2D char array to double array

1 vue (au cours des 30 derniers jours)
Seung Woo Ham
Seung Woo Ham le 1 Juin 2018
Commenté : Seung Woo Ham le 1 Juin 2018
I have a char array like this
val =
'1,106,54,40;421,389,234,21 '
'592,391,259,20;2174,391,240,20 '
'1,40,28,29;2863,1,139,36;2471,386,247,24;3224,1,114,30;3654,1,95,38;3780,76,60,29;1579,391,101,20'
This is 2D char array. For example,
val(1,1) = '1'
val(1,2) = ','
What I want to do is transforming this to double array
[1,106,54,40;421,389,234,21] (This case will be 2×4 double array)
[592,391,259,20;2174,391,240,20] (Also 2×4 double array)
[1,40,28,29;2863,1,139,36;2471,386,247,24;3224,1,114,30;3654,1,95,38;3780,76,60,29;1579,391,101,20] (7×4 double array)
My array may have empty row in 2D char array too. For example,
''
This has to be 0×0 double array
How can I do this? Thank you so much!
  2 commentaires
Seung Woo Ham
Seung Woo Ham le 1 Juin 2018
Actually, my 2D char array is much larger than this. So I have to use a loop function to handle this.
Stephen23
Stephen23 le 1 Juin 2018
@Seung Woo Ham: do the matrices always have four columns?

Connectez-vous pour commenter.

Réponse acceptée

KSSV
KSSV le 1 Juin 2018
val = {'1,106,54,40;421,389,234,21 ' '592,391,259,20;2174,391,240,20 ' '1,40,28,29;2863,1,139,36;2471,386,247,24;3224,1,114,30;3654,1,95,38;3780,76,60,29;1579,391,101,20' };
iwant = cellfun(@str2num,val,'un',0)
  1 commentaire
Seung Woo Ham
Seung Woo Ham le 1 Juin 2018
Wow... You are a real MVP. Thank You!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Characters and Strings dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by