Split numerical double array to multiple columns?

3 ビュー (過去 30 日間)
Kate
Kate 2017 年 3 月 22 日
コメント済み: the cyclist 2017 年 3 月 23 日
Hey guys,
I'm sure there's a simple workaround for this but I can't seem to find it. I have data with the following format
whos data
Name Size Bytes Class Attributes
data 1095x9 78840 double
data(1:10, 1)
ans =
20090101
20090102
20090103
20090104
20090105
20090106
20090107
20090108
20090109
20090110
It's currently in the format of yearmonthday, but I would like to pull them apart to look at year, month, day. How do I pull, for example, the first 4 numbers from a double array?

採用された回答

the cyclist
the cyclist 2017 年 3 月 22 日
Like this?
data = [
20090101
20090102
20090103
20090104
20090105
20090106
20090107
20090108
20090109
20090110]
year = floor(data/10000)
month = floor((data-year*10000)/100)
day = data-year*10000-month*100
  2 件のコメント
Kate
Kate 2017 年 3 月 22 日
Floor, thats what I was looking for, thanks! I was doing a bunch of num2str, str2num messiness. Thanks :)
the cyclist
the cyclist 2017 年 3 月 23 日
Glad it helped. The best form of thanks is to upvote and/or accept answers that you've found helpful. This rewards the contributor, and can guide future users to helpful answers.

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

その他の回答 (1 件)

Kate
Kate 2017 年 3 月 22 日
Yep! This also works but it's very inefficient in my mind:
w=num2str(data(:, 1));
yr=str2num(w(:, 1:4))
month=str2num(w(:, 5:6));
day=str2num(w(:, 7:8));

カテゴリ

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

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by