Cuando proceso datos en MATLAB uso estructuras. El uso de estructuras hace engorroso el acceso a los datos pero me facilita el manejo de los metadatos. Para cada variable creo una estructura con el campo data donde almaceno el valor de la variable; el resto de los campos de la estructura contienen los metadatos de la variable.
Contents
Variables individuales
Supongamos que queremos graficar una serie de tiempo de la marea. Usaremos las estructuras Tiempo y Altura.
% Inicializar clear, close all % Se define la variable independiente Tiempo.data = linspace(0,24); Tiempo.units = 'hr'; Tiempo.long_name = 'Tiempo'; Tiempo.standard_name = 'time'; Tiempo.axis = 'T'; % Se define la variable dependiente Altura.data = sin(Tiempo.data/24*2*pi); Altura.units = 'm'; Altura.long_name = 'Altura del Nivel del Mar'; Altura.standard_name = 'sea_surface_height';
Atributos globales
Conviene incluir las estructuras de ambas variables en una estructuras que contenga los atributos globales de la serie de tiempo.
% Incluir ambas variables Marea.Tiempo=Tiempo; Marea.Altura=Altura; % Definir atributos globales Marea.Metadata.title = 'Serie de tiempo de la marea'; Marea.Metadata.institution = 'GECI'; Marea.Metadata.source = 'Datos sintéticos'; Marea.Metadata.history = [datestr(now,30) ' Versión inicial']; Marea.Metadata.references = 'http://evaristor.blogspot.com/search/label/MATLAB'; Marea.Metadata.comment = 'Guía de estilo para MATLAB: Estructuras'; % Graficado plot(Marea.Tiempo.data,Marea.Altura.data) xlabel([Marea.Tiempo.long_name ' (' Marea.Tiempo.units ')']); ylabel([Marea.Altura.long_name ' (' Marea.Altura.units ')']); title(Marea.Metadata.title)