Matlab - Necesito ayudar para crear una grilla

 
Vista:

Necesito ayudar para crear una grilla

Publicado por Diego (1 intervención) el 14/04/2020 03:00:32
Primero decirles que siempre leo los temas cuando quedo atrapado en algo y han sido de muy buena ayuda, por lo mismo les escribo.

Actualmente estoy tratando de hacer una grilla a traves de datos satelitales .nc (son muuuchos) y los necesito en un grilla o matriz de 3 dimensiones para poder trabajarlos [datos,lat,lon].

Los datos tienen nombres tipo IMOS_SRS-Surface-Waves_MW_CRYOSAT-2_FV02_001S-000E-DM00.nc - IMOS_SRS-Surface-Waves_MW_CRYOSAT-2_FV02_001S-001E-DM00.nc Solo cambian los nombres de los valores antes de las coordenadas por lo que hice el siguiente script.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
files=dir('*.nc');
Cant_archivos=length(files);
Hs=zeros(3982,90,360); % 3982 datos el 1er archivo y el segundo 4064
HsKu=zeros(3982,90,360);
 
 
 
for A=1:Cant_archivos;
    B=files(A).name;
    nc_dump(B);
 
    La=str2num(B(42:44));
    Lo=str2num(B(47:49))+1;
 
    tiempo=nc_varget(B,'TIME');
 
    altura=nc_varget(B,'SWH_C');
    alturaKU=nc_varget(B,'SWH_KU_CAL');
    fecha=tiempo+datenum(1985,1,1);
 
    [y,m,d]=datevec(fecha);
    Ymin=min(y);
    Ymax=max(y);
    Mmin=min(m);
    Mmax=max(m);
 
    C=mean(altura);
    D=mean(alturaKU);
 
    if C==NaN;
        Hs(:,La,Lo)=zeros(length(altura),1);
    else
        Hs(:,La,Lo)=altura;
    end
 
    if D==NaN;
        HsKu(:,La,Lo)=isnan(alturaKU);
    else
        HsKu(:,La,Lo)=alturaKU;
    end
 
end

Mi problema y no se como solucionarlo, es que el segundo archivo tiene distinta cantidad de datos (3982 datos el 1er archivo y el segundo 4064) y probablemente el tercero también tenga distinta cantidad. Hay alguna forma de crear una matriz mas grande y de alguna forma "rellenar lo que falte" con NaN o ceros ? Por cierto estoy con matlab 2017
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder