Guía de estilo para MATLAB: Estructuras

Publicado el 07 marzo 2015 por Evaristor
Guía de estilo para MATLAB: Estructuras

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)


Published with MATLAB® R2013a