How to extract cell array in matlab

1 回表示 (過去 30 日間)
Mr Smart
Mr Smart 2011 年 11 月 21 日
Hello.. Anyone does know? I need to extract from cell array (1x1 cell). For example > '22.11.2011 13:58:56.16' from this (1x1 cell).I want to extract time in second (:56) .How can I do. Thanks.

採用された回答

Fangjun Jiang
Fangjun Jiang 2011 年 11 月 21 日
c={'22.11.2011 13:58:56.16','22.11.2011 13:58:40.16'};
d=datevec(c);
floor(d(:,6))
  1 件のコメント
Mr Smart
Mr Smart 2011 年 11 月 22 日
Thanks for help :)

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

その他の回答 (3 件)

Sven
Sven 2011 年 11 月 21 日
If you have strings of dates, use datevec as follows:
[Y, M, D, H, MN, S] = datevec('22.11.2011 13:58:56.16');
You'll notice that S has the value "56.1600", so floor(S) gives you the seconds
  1 件のコメント
Mr Smart
Mr Smart 2011 年 11 月 22 日
Thanks you, Sven

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


Andrei Bobrov
Andrei Bobrov 2011 年 11 月 21 日
out = datevec({'22.11.2011 13:58:56.16'},'dd.mm.yyyy HH:MM:SS')
out = out(end)
OR
out = sprintf(':%d',out(end))
  4 件のコメント
Andrei Bobrov
Andrei Bobrov 2011 年 11 月 22 日
@Sven: Walter :)
Mr Smart
Mr Smart 2011 年 11 月 22 日
Thanks to you also . :)

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


Walter Roberson
Walter Roberson 2011 年 11 月 21 日
> datestr(datenum({'22.11.2011 13:58:56.16'},'dd.mm.yyyy HH:MM:SS.FFF'),':SS')
ans =
:56
>> char(cellfun(@(T) T(end-5:end-3), {'22.11.2011 13:58:56.16'},'Uniform',0))
ans =
:56
  2 件のコメント
Walter Roberson
Walter Roberson 2011 年 11 月 22 日
Based upon the previous answers, the following should also work:
datestr(datevec({'22.11.2011 13:58:56.16'}),':SS')
Mr Smart
Mr Smart 2011 年 11 月 22 日
Thanks you, Walter

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

カテゴリ

Help Center および File ExchangeProgramming についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by