Hi all, Let's say I have a table and one of my variable is a mix of numbers and NaNs, like so: [1010, NaN, 1256, NaN, 1345...]. Now, I want to convert the numbers into hours-minute format (HH:MM) and keep the same number of rows so the output looks like this : [10:10, NaN, 12:56, NaN, 13:45 ...]. Any ideas? Thanks again, you guys are great!

 採用された回答

Azzi Abdelmalek
Azzi Abdelmalek 2016 年 9 月 1 日

1 投票

a=[1010, NaN, 1256, NaN, 1345]
idx=isnan(a)
a(idx)=0
out=arrayfun(@(x) datestr(datenum(sprintf('%04d',x),'HHMM') ,'HH:MM') ,a,'un',0)
out(idx)={nan}

1 件のコメント

012786534
012786534 2016 年 9 月 2 日
Huh. Pretty neat, Mr. Abdelmalek

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

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File Exchange で Data Type Conversion についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by