readdomain_old.m
来自「麻省理工学院的人工智能工具箱,很珍贵,希望对大家有用!」· M 代码 · 共 58 行
M
58 行
function dmn=readDomain(fic)
%dmn=readDomain(fic)
%
%Funcion que lee los ficheros .cfg definidos en areaPattern con los que se han generado las CPs
%
%En la entrada:
% fic : nombre con ruta completa del fichero que se quiere leer
%
%En la salida:
% dmn : estructura con los campos
% lon : longitud (en grados) de cada uno de los nodos que definen el dominio
% lat : latitud (en grados) de cada uno de los nodos que definen el dominio
% lvl : niveles de presion (en mb) utilizados
% tim : horas de analisis utilizadas
% par : variables empleadas (en numeros, por ejemplo 129 es geopotencial
% nod : nodos del dominio que se utilizan
% src : ruta del lugar donde se almacenan los datos originales (en .grb)
% startDate : fecha de inicio de los datos
% endDate : fecha de fin de los datos
%
fid=fopen(fic,'rb');
if(fid<0)
error(['Opening: ' fic]);
end
s=fscanf(fid,'%c',inf);
fclose(fid);
dmn=struct('lon',[],'lat',[],'lvl',[],'tim',[],'par',[],'nod',[],'src',[],'startDate',[],'endDate',[]);
[T,R]=strtok(s);
while ~isempty(T)
[fld,r]=strtok(T,'=');
if(~isfield(dmn,fld))
error([fld ' : isn''t a parameter']);
end
[t,r]=strtok(r,',=');
while ~isempty(t)
if strcmp('lop',fld)
if(~isfield(dmn,fld))
error([t ' : isn''t a parameter']);
end
dmn=setfield(dmn,fld,[getfield(dmn,fld);t]);
elseif (strcmp('startDate',fld) | strcmp('endDate',fld))
dmn=setfield(dmn,fld,t);
elseif(strcmp('src',fld))
METEOLAB=getappdata(0,'METEOLAB');
path = strrep(t,'$METEOLAB_HOME',METEOLAB.home);
path=strrep(path,'\','/');
dmn=setfield(dmn,fld,path);
else
dmn=setfield(dmn,fld,[getfield(dmn,fld) str2num(t)]);
end
[t,r]=strtok(r,',=');
end
[T,R]=strtok(R);
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?