How can I insert some missing rows to a matrix?
1 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Walter Roberson
2015-9-19
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;
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!