convert Cell to double

Hi,
I have C{1,1}<1500x1 cell> which contains data like:
'10/21/2013 13:11:34.0289993'
'10/21/2013 13:11:34.1289978'
'10/21/2013 13:11:34.2289962'
'10/21/2013 13:11:34.3290023'
'10/21/2013 13:11:34.4290008'
'10/21/2013 13:11:34.5289993'
'10/21/2013 13:11:34.6289978'
'10/21/2013 13:11:34.7289962'
I need to convert this cell to double,I used:
C =cellfun(@str2double,C,'un',0);
but it replaces all data with NaN !
can someone help me with that?
best, Navid

回答 (1 件)

Azzi Abdelmalek
Azzi Abdelmalek 2014 年 4 月 12 日
編集済み: Azzi Abdelmalek 2014 年 4 月 12 日

0 投票

D={'10/21/2013 13:11:34.0289993'
'10/21/2013 13:11:34.1289978'
'10/21/2013 13:11:34.2289962'
'10/21/2013 13:11:34.3290023'
'10/21/2013 13:11:34.4290008'
'10/21/2013 13:11:34.5289993'
'10/21/2013 13:11:34.6289978'
'10/21/2013 13:11:34.7289962'}
s=regexp(D,'\.','split')
a=cellfun(@(x) x{1},s,'un',0)
b=cellfun(@(x) x{2},s,'un',0)

6 件のコメント

Navid
Navid 2014 年 4 月 12 日
firstly thanks for your help,
I used:
F= datenum(C{1,1}(:,1),'mm/dd/yyyy HH:MM:SS');
but I got this error:
Error using datenum (line 179)
DATENUM failed.
Error in V2 (line 28)
F= datenum(C{1,1}(:,1),'mm/dd/yyyy HH:MM:SS');
Caused by:
Error using dtstr2dtnummx
Failed on converting date string to date number.
and one more thing,if you notice my data is not just date and time,after the time there is 7 digit number,I also need that.
I appreciate if help me with that.
Azzi Abdelmalek
Azzi Abdelmalek 2014 年 4 月 12 日
WHy D{1,1}(:,1) ?
Azzi Abdelmalek
Azzi Abdelmalek 2014 年 4 月 12 日
編集済み: Azzi Abdelmalek 2014 年 4 月 12 日
The 7 digit are double or char? for example 0289993 if you convert it to double, it becomes 6 digits 289993
Azzi Abdelmalek
Azzi Abdelmalek 2014 年 4 月 12 日
Look at edited answer
Azzi Abdelmalek
Azzi Abdelmalek 2014 年 4 月 12 日
What this has to do with your initial question?
Navid
Navid 2014 年 4 月 12 日
after getting this problem,I tried to overwrite the second column with the old values like this:
C =cellfun(@str2double,C,'un',0);
C(1,2)= dataArray(1,2);
VarName1 = cell2mat(C(:,1));
VarName1(isnan(VarName1)) = 0 ;
VarName2 = cell2mat(C(:,2));
VarName2(isnan(VarName2)) = 0 ;
but know for VarName1 every thing is ok but for VarName2 I get this error:
Error using cell2mat (line 53)
Cannot support cell arrays containing cell arrays or objects.
Error in Untitled2 (line 26)
VarName2 = cell2mat(C(:,2));
that's why I wanted to convert C{1,2} to double.

サインインしてコメントする。

カテゴリ

製品

タグ

質問済み:

2014 年 4 月 12 日

コメント済み:

2014 年 4 月 12 日

Community Treasure Hunt

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

Start Hunting!

Translated by