Saltar al contenido principal

# 11.5: Ejercicio- La línea de comandos de Matlab y la variable EEG

$$\newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} }$$

$$\newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}}$$

$$\newcommand{\id}{\mathrm{id}}$$ $$\newcommand{\Span}{\mathrm{span}}$$

( \newcommand{\kernel}{\mathrm{null}\,}\) $$\newcommand{\range}{\mathrm{range}\,}$$

$$\newcommand{\RealPart}{\mathrm{Re}}$$ $$\newcommand{\ImaginaryPart}{\mathrm{Im}}$$

$$\newcommand{\Argument}{\mathrm{Arg}}$$ $$\newcommand{\norm}[1]{\| #1 \|}$$

$$\newcommand{\inner}[2]{\langle #1, #2 \rangle}$$

$$\newcommand{\Span}{\mathrm{span}}$$

$$\newcommand{\id}{\mathrm{id}}$$

$$\newcommand{\Span}{\mathrm{span}}$$

$$\newcommand{\kernel}{\mathrm{null}\,}$$

$$\newcommand{\range}{\mathrm{range}\,}$$

$$\newcommand{\RealPart}{\mathrm{Re}}$$

$$\newcommand{\ImaginaryPart}{\mathrm{Im}}$$

$$\newcommand{\Argument}{\mathrm{Arg}}$$

$$\newcommand{\norm}[1]{\| #1 \|}$$

$$\newcommand{\inner}[2]{\langle #1, #2 \rangle}$$

$$\newcommand{\Span}{\mathrm{span}}$$ $$\newcommand{\AA}{\unicode[.8,0]{x212B}}$$

$$\newcommand{\vectorA}[1]{\vec{#1}} % arrow$$

$$\newcommand{\vectorAt}[1]{\vec{\text{#1}}} % arrow$$

$$\newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} }$$

$$\newcommand{\vectorC}[1]{\textbf{#1}}$$

$$\newcommand{\vectorD}[1]{\overrightarrow{#1}}$$

$$\newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}}$$

$$\newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}}$$

$$\newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} }$$

$$\newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}}$$

$$\newcommand{\avec}{\mathbf a}$$ $$\newcommand{\bvec}{\mathbf b}$$ $$\newcommand{\cvec}{\mathbf c}$$ $$\newcommand{\dvec}{\mathbf d}$$ $$\newcommand{\dtil}{\widetilde{\mathbf d}}$$ $$\newcommand{\evec}{\mathbf e}$$ $$\newcommand{\fvec}{\mathbf f}$$ $$\newcommand{\nvec}{\mathbf n}$$ $$\newcommand{\pvec}{\mathbf p}$$ $$\newcommand{\qvec}{\mathbf q}$$ $$\newcommand{\svec}{\mathbf s}$$ $$\newcommand{\tvec}{\mathbf t}$$ $$\newcommand{\uvec}{\mathbf u}$$ $$\newcommand{\vvec}{\mathbf v}$$ $$\newcommand{\wvec}{\mathbf w}$$ $$\newcommand{\xvec}{\mathbf x}$$ $$\newcommand{\yvec}{\mathbf y}$$ $$\newcommand{\zvec}{\mathbf z}$$ $$\newcommand{\rvec}{\mathbf r}$$ $$\newcommand{\mvec}{\mathbf m}$$ $$\newcommand{\zerovec}{\mathbf 0}$$ $$\newcommand{\onevec}{\mathbf 1}$$ $$\newcommand{\real}{\mathbb R}$$ $$\newcommand{\twovec}[2]{\left[\begin{array}{r}#1 \\ #2 \end{array}\right]}$$ $$\newcommand{\ctwovec}[2]{\left[\begin{array}{c}#1 \\ #2 \end{array}\right]}$$ $$\newcommand{\threevec}[3]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \end{array}\right]}$$ $$\newcommand{\cthreevec}[3]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \end{array}\right]}$$ $$\newcommand{\fourvec}[4]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}$$ $$\newcommand{\cfourvec}[4]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}$$ $$\newcommand{\fivevec}[5]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}$$ $$\newcommand{\cfivevec}[5]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}$$ $$\newcommand{\mattwo}[4]{\left[\begin{array}{rr}#1 \amp #2 \\ #3 \amp #4 \\ \end{array}\right]}$$ $$\newcommand{\laspan}[1]{\text{Span}\{#1\}}$$ $$\newcommand{\bcal}{\cal B}$$ $$\newcommand{\ccal}{\cal C}$$ $$\newcommand{\scal}{\cal S}$$ $$\newcommand{\wcal}{\cal W}$$ $$\newcommand{\ecal}{\cal E}$$ $$\newcommand{\coords}[2]{\left\{#1\right\}_{#2}}$$ $$\newcommand{\gray}[1]{\color{gray}{#1}}$$ $$\newcommand{\lgray}[1]{\color{lightgray}{#1}}$$ $$\newcommand{\rank}{\operatorname{rank}}$$ $$\newcommand{\row}{\text{Row}}$$ $$\newcommand{\col}{\text{Col}}$$ $$\renewcommand{\row}{\text{Row}}$$ $$\newcommand{\nul}{\text{Nul}}$$ $$\newcommand{\var}{\text{Var}}$$ $$\newcommand{\corr}{\text{corr}}$$ $$\newcommand{\len}[1]{\left|#1\right|}$$ $$\newcommand{\bbar}{\overline{\bvec}}$$ $$\newcommand{\bhat}{\widehat{\bvec}}$$ $$\newcommand{\bperp}{\bvec^\perp}$$ $$\newcommand{\xhat}{\widehat{\xvec}}$$ $$\newcommand{\vhat}{\widehat{\vvec}}$$ $$\newcommand{\uhat}{\widehat{\uvec}}$$ $$\newcommand{\what}{\widehat{\wvec}}$$ $$\newcommand{\Sighat}{\widehat{\Sigma}}$$ $$\newcommand{\lt}{<}$$ $$\newcommand{\gt}{>}$$ $$\newcommand{\amp}{&}$$ $$\definecolor{fillinmathshade}{gray}{0.9}$$

Un script de Matlab es simplemente una serie de comandos de Matlab que se almacenan en un archivo de texto. Ejecutar un script equivale a escribir los comandos en la línea de comandos de Matlab. Entonces, vamos a comenzar ejecutando algunos comandos desde la línea de comandos.

Para comenzar, salga de EEGLAB si ya se está ejecutando. Luego, escriba clear all en la línea de comandos de Matlab (es decir, en el símbolo del panel Ventana de comandos de Matlab). Esto borra todo de la memoria de Matlab, lo cual es bueno hacer cuando estás iniciando una nueva tarea por primera vez. Cuando borras las variables, todo lo que estaba en el panel Workspace de Matlab debería desaparecer. Otro comando agradable de limpieza es clc, que despeja la ventana de comandos para que no te distraiga con lo que pasó antes.

Por cierto, Matlab no hace nada con un comando hasta que presionas la tecla Retorno (que en su lugar puede estar etiquetada Enter en tu teclado). Cuando digo que debes escribir algo en la línea de comandos de Matlab, debes seguirlo con Return o Enter. Si aún no presionaste Return/Enter después de borrar todo, hazlo ahora mismo.

Ahora inicie EEGLAB escribiendo eeglab en la línea de comandos, establezca la carpeta Chapter_11 para que sea la carpeta actual y cargue el conjunto de datos llamado 1_N170.set en EEGLAB. Ahora debería ver un conjunto de variables en el panel Espacio de trabajo, como se muestra en la Captura de pantalla 11.1. Esto incluye EEG, que EEGLAB utiliza para almacenar el conjunto de datos actual, y ALLEEG, que EEGLAB utiliza para almacenar todos los conjuntos de datos que están disponibles en la memoria. ERPLAB también crea las variables ERP y ALLERP correspondientes para contener el ERPset actual y todos los ERPSets disponibles.

Se puede ver el contenido de una variable escribiendo su nombre en la línea de comandos. ¡Vamos a probarlo! Escriba EEG en la línea de comandos (seguido de la tecla Retorno, por supuesto). Los nombres de variables en Matlab distinguen entre mayúsculas y minúsculas, así que asegúrese de escribir EEG y no eeg o Eeg. Una vez que escriba esto, el contenido de la variable EEG se mostrará en la Ventana de Comandos. La captura de pantalla 11.2 muestra las primeras líneas.

EEG es una variable complicada que contiene muchos campos individuales (puede aprender sobre los detalles escribiendo help eeg_checkset en la línea de comandos). Por ejemplo, el campo denominado EEG.setName almacena el nombre del conjunto de datos, que se muestra en EEGLAB > Conjuntos de datos. Cambiemos el nombre del conjunto de datos. Para ello, escriba eeg.setName = 'Mi primer dataset personalizado'. (Tenga en cuenta que el periodo al final de la oración no forma parte del comando que debe escribir. Yo uso negritas para indicar el texto exacto que debes escribir.) Matlab luego volverá a imprimir toda la variable EEG en la Ventana de Comandos, y podrás ver que el nombre ha cambiado.

Aquí hay un par de cosas importantes a tener en cuenta sobre el comando que acaba de ingresar:

• Matlab utiliza comillas simples para indicar texto literal. Si no usó las comillas y en su lugar había escrito eeg.setName = Mi primer conjunto de datos personalizado, Matlab habría asumido que Mi primer conjunto de datos personalizado era una secuencia de cuatro nombres de variables (My, First, Custom y Dataset). Consulte el cuadro de texto a continuación para obtener una pista sobre comillas simples.
• La mayoría de los comandos de Matlab devuelven una o más variables, y el valor de las variables devueltas se imprime ordinariamente en la Ventana de Comandos. Puede suprimirlo colocando un punto y coma al final del comando. Para ver esto en acción, escriba x = 1 (seguido de la tecla Retorno), y luego escriba x = 2; (nuevamente seguido de la tecla Retorno).
• Cuando cambie el nombre del conjunto usando la línea de comandos, no verá el nuevo nombre del conjunto en el menú Conjuntos de datos. El motivo de esto se explicará más adelante en esta sección.

También puede ver el contenido de una variable haciendo doble clic en el nombre de la variable en el panel Workspace de Matlab. Intente hacer doble clic en la variable EEG en este panel. Debería aparecer un nuevo panel Variables en Matlab, mostrándole los campos de la variable EEG. Uno de esos campos se denomina times, y contiene la latencia en milisegundos de cada punto de tiempo en el conjunto de datos. Haga doble clic en él para ver su contenido; se abrirá una nueva pestaña etiquetada EEG.Times, y verá una lista muy amplia de valores de latencia. El EEG se muestreó a 250 Hz, por lo que el primer punto es de 0 ms, el segundo punto es de 4 ms, el tercer punto es de 8 ms, etc.

##### Cotizaciones Individuales

Haga clic en la pestaña para la estructura de EEG y eche otro vistazo al campo de tiempos. Al lado del nombre de los tiempos, deberías ver 1 x 170750 doble. El término double es utilizado por Matlab (y muchos otros lenguajes de programación) para referirse a un número que se almacena en notación científica (por ejemplo, X por 10 Y) usando el doble de precisión ordinaria (y por lo tanto el doble de la cantidad de espacio de almacenamiento). La parte de 1 x 170750 indica que Eeg.times es una matriz de estos números de doble precisión con 1 fila y 170750 columnas. Si vuelves a la pestaña de EEG.times, verás que tiene una fila y 170750 columnas (una columna por cada punto de datos en el conjunto de datos).

En la pestaña que muestra la variable EEG, verás una variable llamada data, que aparece como 33 x 170750 double. Esta variable almacena los voltajes reales en el conjunto de datos. Tiene 33 filas (una por cada canal) y 170750 columnas (una por cada punto de tiempo). Esa es una forma bastante natural de almacenar datos de EEG, ¿no?

Cuando comienzas a escribir guiones, es fácil confundirte acerca de las filas versus las columnas de una matriz. Me parece útil mirar la matriz en el panel Variables para recordarme qué dimensión son las filas y cuáles son las columnas.

Haga clic en la pestaña para la estructura de EEG y eche otro vistazo al campo de tiempos. Al lado del nombre de los tiempos, deberías ver 1 x 170750 doble. El término double es utilizado por Matlab (y muchos otros lenguajes de programación) para referirse a un número que se almacena en notación científica (por ejemplo, X por 10 Y) usando el doble de precisión ordinaria (y por lo tanto el doble de la cantidad de espacio de almacenamiento). La parte de 1 x 170750 indica que Eeg.times es una matriz de estos números de doble precisión con 1 fila y 170750 columnas. Si vuelves a la pestaña de EEG.times, verás que tiene una fila y 170750 columnas (una columna por cada punto de datos en el conjunto de datos).

En la pestaña que muestra la variable EEG, verás una variable llamada data, que aparece como 33 x 170750 double. Esta variable almacena los voltajes reales en el conjunto de datos. Tiene 33 filas (una por cada canal) y 170750 columnas (una por cada punto de tiempo). Esa es una forma bastante natural de almacenar datos de EEG, ¿no?

Cuando comienzas a escribir guiones, es fácil confundirte acerca de las filas versus las columnas de una matriz. Me parece útil mirar la matriz en el panel Variables para recordarme qué dimensión son las filas y cuáles son las columnas.

This page titled 11.5: Ejercicio- La línea de comandos de Matlab y la variable EEG is shared under a CC BY 4.0 license and was authored, remixed, and/or curated by Steven J Luck directly on the LibreTexts platform.