Data extraction of dates

1 回表示 (過去 30 日間)
Asanka Subasinghe
Asanka Subasinghe 2020 年 3 月 24 日
コメント済み: Walter Roberson 2020 年 3 月 25 日
I have a column of data with rainfall on each day, from 2004 to 2016. I want to be able to extract the rainfall data for each day and store that data into columns of months for each year. I have created a loop that finds the end day of all months from 2004 to 2016, but am having trouble now extracting the information.
[SL: formatted question as text not code]
  2 件のコメント
Mohammad Sami
Mohammad Sami 2020 年 3 月 24 日
編集済み: Mohammad Sami 2020 年 3 月 24 日
Create a vector to store the index of the days (rows) you want to extract. Then you can simply subset.
Asanka Subasinghe
Asanka Subasinghe 2020 年 3 月 24 日
I need some sort of loop because theres more than 4000 data points

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

回答 (1 件)

Walter Roberson
Walter Roberson 2020 年 3 月 24 日
編集済み: Walter Roberson 2020 年 3 月 24 日
Dv = Dates(:) ;
Output = accumarray([day(Dv), month(Dv), year(Dv)-2003], Rainfall(:), [31 12 13], [], nan);
The result will be a 3d array with one pane for each year, with rows being day numbers, columns being month numbers. Unused entries such as shorter months or missing data will be set to nan
  6 件のコメント
Asanka Subasinghe
Asanka Subasinghe 2020 年 3 月 25 日
clc;clear all;close all
filename='Data Q2 (2).xlsx';
data=(readtable(filename))
dandenongnum=data(:,2);
dandenongdate=data(:,1);
Dv=dandenongdate;
Output = accumarray([day(Dv), month(Dv), year(Dv)-2003], dandenongnum, [31 12 13], [], nan);
Walter Roberson
Walter Roberson 2020 年 3 月 25 日
clc;clear all;close all
filename='Data Q2 (2).xlsx';
data=(readtable(filename))
dandenongnum=data{:,2};
dandenongdate=data{:,1};
Dv=dandenongdate;
Output = accumarray([day(Dv), month(Dv), year(Dv)-2003], dandenongnum, [31 12 13], [], nan);

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

カテゴリ

Help Center および File ExchangeDates and Time についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by