Fill vector with missing values

2 Ansichten (letzte 30 Tage)
hdiba
hdiba am 20 Jul. 2016
Kommentiert: Andrei Bobrov am 20 Jul. 2016
Hello, i have vectors that represent the day-,month and year values.As you can see in the example below, the day an month vectors do not start with 1, what would be 1. Januar. The vector also dont end with 31 and 12, what would be 31. December. Does anyone have any suggestion how i can first check what is the starting value of day and month and thenn fill the missing valuse, so i have a complete year? thanks a lot!
Day: Month: Year:
6 8 1993
7 8 1993
8 8 1993
9 8 1993
. . .
. . .
. . .
3 11 1993

Akzeptierte Antwort

Andrei Bobrov
Andrei Bobrov am 20 Jul. 2016
yyear = [Year,Month,Day];
y1 = datevec(datenum([Year(1) 1 1]):datenum([Year(1) 12 31]));
y1 = y1(:,1:3);
missing_values = y1(~ismember(y1,yyear,'rows'),:);
  2 Kommentare
hdiba
hdiba am 20 Jul. 2016
Thanks a lot. I have another variable with entries for the days, for example: measurement of rainfall on every day.. now that i've filled the missing dates, i would like to add zero values for the rainfall for the added dates? can u help?
Andrei Bobrov
Andrei Bobrov am 20 Jul. 2016
yourdata = [Year,Month,Day,rainfall];% rainfall - vector with data of rainfall
y1 = datevec(datenum([Year(1) 1 1]):datenum([Year(1) 12 31]));
y1 = y1(:,1:3);
t = ismember(y1,yourdata(:,1:3),'rows');
out = [y1,zeros(size(y1,1),1)];
out(t,4) = yourdata(:,end);

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Functions finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by