function inventario(EEG) % INVENTARIO Resumen de un dataset de EEGLAB, antes de tocar nada. % inventario(EEG) imprime forma, duracion, estado y conteo de eventos. % Funciona tanto si EEG.event.type es numerico como si es texto. % % Solucion del ejercicio 3 del curso "MATLAB para potenciales evocados". fprintf('\n--- %s ---\n', EEG.setname); fprintf('canales : %d\n', size(EEG.data, 1)); fprintf('muestreo : %g Hz\n', EEG.srate); if isfield(EEG, 'trials') && EEG.trials > 1 fprintf('estado : epocado, %d epocas de %d muestras\n', ... EEG.trials, EEG.pnts); else fprintf('estado : continuo, %.1f minutos\n', EEG.pnts / EEG.srate / 60); end if ~isfield(EEG, 'event') || isempty(EEG.event) fprintf('sin eventos\n'); return end tipos = {EEG.event.type}; % celda: sirve para ambos casos if isnumeric(EEG.event(1).type) tipos = cellfun(@num2str, tipos, 'UniformOutput', false); end unicos = unique(tipos); fprintf('eventos : %d en total, %d codigos distintos\n', ... numel(tipos), numel(unicos)); for k = 1:numel(unicos) fprintf(' %-6s %4d veces\n', unicos{k}, sum(strcmp(tipos, unicos{k}))); end end