Time conversion in a table

2 vues (au cours des 30 derniers jours)
012786534
012786534 le 1 Sep 2016
Commenté : 012786534 le 2 Sep 2016
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!

Réponse acceptée

Azzi Abdelmalek
Azzi Abdelmalek le 1 Sep 2016
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 commentaire
012786534
012786534 le 2 Sep 2016
Huh. Pretty neat, Mr. Abdelmalek

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Data Type Conversion 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