Check for missing entry in data points with certain rule

Hello,
I have a matrix of time series as attached, in which the first column is the year, 2nd month, 3rd is day, 4th and 5th columns are the values. Currently, I have attached a sample of only the year 1960, likewise I have years till 2000 with values. I want to check whether there is atleast 6-months of data entry and at least 20-days entries for each month. If this satisfy this rule certain calculation will be performed, otherwise it will move to next year. I tried the code in foll.way, however, it is giving me time series of only January instead of January to December.
[unqMonth,~,Month_ID] = unique(QYrly(:,2));
Monly = size(unqMonth,1)>=6; % Check for atleast 6-months of data entry
Dly = histc(QYrly(:,2),unqMonth)>=20; % Checks for atleast 20 days entries for each month
Qout = QYrly(ismember(Month_ID,find(Monly)) & ismember(Month_ID,find(Dly)),:);
Any help?

1 件のコメント

Poulomi Ganguli
Poulomi Ganguli 2017 年 9 月 6 日
編集済み: Poulomi Ganguli 2017 年 9 月 6 日
Ok I solved it using a simple loop:
if (Monly==1 & any(Dly ~= 0))
QOut = QYrly;
else QOut = [];
end

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

回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeCreating and Concatenating Matrices についてさらに検索

質問済み:

2017 年 9 月 6 日

編集済み:

2017 年 9 月 6 日

Community Treasure Hunt

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

Start Hunting!

Translated by