Fill vector with missing values

1 visualización (últimos 30 días)
hdiba
hdiba el 20 de Jul. de 2016
Comentada: Andrei Bobrov el 20 de Jul. de 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

Respuesta aceptada

Andrei Bobrov
Andrei Bobrov el 20 de Jul. de 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 comentarios
hdiba
hdiba el 20 de Jul. de 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 el 20 de Jul. de 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);

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Functions en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by