How can I insert some missing rows to a matrix?
    6 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Szabó-Takács Beáta
 el 19 de Sept. de 2015
  
    
    
    
    
    Comentada: Szabó-Takács Beáta
 el 19 de Sept. de 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 comentarios
Respuesta aceptada
  Walter Roberson
      
      
 el 19 de Sept. de 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;
Más respuestas (0)
Ver también
Categorías
				Más información sobre Creating and Concatenating Matrices 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!