How can I insert some missing rows to a matrix?
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Szabó-Takács Beáta
am 19 Sep. 2015
Kommentiert: Szabó-Takács Beáta
am 19 Sep. 2015
Dear All, I have a matrix A(10950,33087) where the values are stored (time,coordinates) during 30 year period. In this matrix the leap years are missing. I would like to insert colums in the leap years (29th of February) with value NaN. I tried to solve with the following way:
period={'01-Jan-2071';'31-Dec-2100'};dates=datevec([datenum(period{1}):datenum(period{2})]');
k=find(dates(:,2) ==2 & dates(:,3) ==29);
for i=1:10957
A_2(k,:)=nan;
A_2(i,:)=A(i,:);
end
It seems that A2 is same as A with NaN values in the leap years, but I am not sure that it is the best solution. Could someone write me if this way is correct or offer me a better method? Thank you for your help in advance!
0 Kommentare
Akzeptierte Antwort
Walter Roberson
am 19 Sep. 2015
A_3 = zeros(size(dates,1), size(A_2,2), class(A_2)); %same type, expanded size
lyidx = dates(:,2) ==2 & dates(:,3) ==29;
A_3(~lyidx,:) = A_2;
A_3(lyidx,:) = nan;
Weitere Antworten (0)
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!