Monografias.com > Computación > Software
Descargar Imprimir Comentar Ver trabajos relacionados

Experimentación con bases de datos de señales cardiológicas




Enviado por Pablo Turmero



    Monografias.com
    Matrices   MATLAB trabaja esencialmente con un solo tipo de
    objetos – una matriz numérica rectangular con
    elementos que pueden ser complejos- todas las variables
    representan matrices. Las matrices 1-por-1 son interpretadas como
    escalares y las matrices con sólo una fila o columna son
    interpretadas como vectores. Las matrices pueden ser incorporadas
    a MATLAB en diversas formas: Ingresadas por una lista
    explícita de elementos. Generadas por sentencias o
    funciones incorporadas (built-in). Creadas en un archivo M.
    Cargadas desde archivos de datos externos.

    Monografias.com
    Ingresadas por una lista explícita de elementos. Por
    ejemplo, una u otra de las sentencias A = [1 2 3; 4 5 6; 7 8 9] Y
    A = [ 1 2 3 4 5 6 7 8 9 ] crean la matriz 3-por-3 y la asigna a
    la variable A. Inténtelo. Los elementos dentro de una fila
    de una matriz pueden estar separados por comas así
    también como por un espacio.

    Monografias.com
    Generadas por sentencias o funciones incorporadas (built-in).
    Funciones incorporadas (built-in) como rand o magic, por citar
    algunas, proveen una forma fácil de crear matrices con las
    cuales experimentar. El comando rand(n) creará una matriz
    n-por-n con elementos generados aleatoriamente con
    distribución uniforme entre 0 y 1, mientras que rand(m,n)
    creará una matriz m-por-n Como segundo ejemplo, magic(n)
    creará una matriz de enteros la cual es un cuadrado
    mágico (filas y columnas tienen la misma suma)

    Monografias.com
    Creadas en un archivo M. MATLAB puede ejecutar una secuencia de
    sentencias almacenadas sobre archivos de disco. Tales archivos
    son llamados “M-files” porque deben tener
    extensión “.m”. Hay dos clases de archivos M:
    script y function. Los archivos script son frecuentemente usados
    para ingresar datos en una gran matriz, en un archivo de este
    tipo los errores pueden ser fácilmente editados. Si, por
    ejemplo, se ingresa en un archivo de disco data.m a través
    de un simple editor como Notepad (Block de notas) con la
    siguiente estructura A = [ 1 2 3 4 ; 5 6 7 8 ] Se obtiene

    Monografias.com
    Cargadas desde archivos de datos externos En ocasiones, los datos
    pueden estar presentes en archivos externos con distintas
    extensiones pero en formato ascii. Para recuperarlos desde Matlab
    en forma de matriz se utiliza función load. A modo de
    ejemplo, cree desde el Bloc de Notas un archivo con la siguiente
    estructura y denomínelo data.txt: Recupere los datos en la
    matriz datos con la instrucción

    Monografias.com
    Carga de una matriz a un archivos de datos externo Esta es la
    operación inversa a la anterior. Aquí los datos
    están presentes en una variable interna en forma de matriz
    y se pretende guardarla en un archivo externo con alguna
    extensión, pero en formato ascii. Para lograr esto desde
    Matlab, se utiliza función save. A modo de ejemplo, cree
    la siguiente matriz de datos: Abriendo ahora el archivo creado
    (matriz.txt) con el Block de notas, se puede visualizar el
    contenido de la matriz

    Monografias.com
    Para guardar todo el contenido del espacio de trabajo (workspace)
    se utiliza el comando save. Por ejemplo, save c:datossesion
    guarda todo el contenido del espacio de trabajo en el archivo
    sesion.mat (MATLAB añade automáticamente la
    extensión mat, de ahí que los archivos así
    generados se conozcan como archivos MAT). Es posible guardar
    sólo variables concretas especificando el nombre de las
    mismas después del nombre del archivo. Por ejemplo, save
    c:datossesion x y z sólo guarda las variables x, y y z
    en el archivo sesion.mat. Por defecto los datos se almacenan en
    formato binario (no legible por nosotros), pero es posible
    hacerlo en formato ASCII (legible, como ya se ha visto)
    añadiendo el modificador -ascii al final de la
    instrucción. Archivos binarios (.mat)

    Monografias.com
    Se define una matriz numérica asignada a una variable M:
    Archivos binarios (Ejemplos)

    Monografias.com
    Dada una matriz numérica asignada a una variable M, de m
    filas y n columnas, se pueden definir submatrices tales como:
    Seccionamiento de una matriz

    Monografias.com
    Los vectores son casos particulares de matrices (una sola columna
    o una sola fila). Ejemplo: >> i=1:3; % Se define un rango
    de valores para el índice i v(i)=i.^2 % Se crea el vector
    fila v cuyos elementos son i2. v = 1 4 9 El punto posterior a la
    i indica que cada elemento del “vector” i se debe
    elevar al cuadrado. De otro modo (de no tener el punto)
    intentaría elevar dicho “vector” al cuadrado,
    lo que no sería posible ya que las dimensiones del mismo
    son 1 x 3. Creación de vectores

    Monografias.com
    Se hará mención a dos herramientas que
    permitirán trabajar más eficientemente con Matlab.
    La primera es la alternativa de dejar una "traza" documental
    mediante el software Word de las operaciones realizadas con
    Matlab. Para ello se ejecuta el comando notebook Una vez
    ejecutado el mismo, se abre una hoja de Word que permite actuar
    interactivamente con Matlab. Esto es, se escribe en el Procesador
    de Texto (Word) una sentencia válida de Matlab y
    accionando las teclas ctrl+enter se ejecuta la sentencia
    apareciendo el resultado en Word. De este modo se puede componer
    un documento "vivo" desde el procesador que “trace”
    todas las acciones realizadas. Funciones de graficación en
    MATLAB

    Monografias.com
    La segunda alternativa es la creación de una
    función, para usarla posteriormente por su nombre. Hay dos
    opciones, pudiéndose elegir cualquiera de ellas sin mengua
    en su acción. Una de ellas, como la sentencia que se
    muestra debajo, crea una función llamada sqr que encuentra
    el cuadrado de un número. Cuando se llama esa
    función, MATLAB asigna el valor que se pasa en la variable
    x, y luego usa x en la ecuación x.^2: >> sqr = @(x)
    x.^2; Para ejecutar la función sqr escriba, por ejemplo
    >> a = sqr(5) a = 25 Funciones de graficación en
    MATLAB

    Monografias.com
    Ezplot Función graficadora de fácil uso.
    ezplot(fun) grafica la expresión fun(x) sobre el dominio
    default -2p < x < 2p. >> ezplot('sin(x)’)
    Funciones de graficación en MATLAB

    Monografias.com
    >> ezplot('x^2',[-2,2]) Funciones de graficación en
    MATLAB >> ezplot('(x^2)/4+(y^2)/9-1',[-3,3],[-3,3])

    Monografias.com
    PLOT(X,Y) grafica el vector Y versus el vector X. si X o Y es una
    matriz, entonces el vector es graficado versus las filas o
    columnas de la matriz, lo que se alinea.   >> x=[1 2 3
    4];y=[2 4 8 16;1 2 3 4]; >> plot(x,y) Funciones de
    graficación en MATLAB

    Monografias.com
    Se pueden obtener varios tipos de líneas, símbolos
    y colores con PLOT(X,Y,S) donde S es una cadena de caracteres
    hecha desde un elemento desde las siguientes 3 columnas: b blue .
    point – solid g green o circle : dotted r red x x-mark -. dashdot
    c cyan + plus — dashed m magenta * star (none) no line y yellow
    s square k black d diamond w white v triangle (down) ^ triangle
    (up) < triangle (left) > triangle (right) p pentagram h
    hexagram Funciones de graficación en MATLAB

    Monografias.com
    Funciones de graficación en MATLAB X=[1 2 3 4];Y=[2 4 8
    16]; plot(X,Y,'b+:') Grafica una línea de puntos (:) azul
    (b) con un signo más (+) en cada punto dato

    Monografias.com
    Existen además otras funciones orientadas a añadir
    títulos al gráfico, a cada uno de los ejes, a
    dibujar una cuadrícula auxiliar, a introducir texto, etc.
    Estas funciones son las siguientes: title('título')
    añade un título al dibujo xlabel('tal')
    añade una etiqueta al eje de abscisas. Con xlabel off
    desaparece ylabel('cual') añade una etiqueta al eje de
    ordenadas. Con ylabel off desaparece text(x,y,'texto') introduce
    'texto' en el lugar especificado por las coordenadas x e y. Si x
    e y son vectores, el texto se repite por cada par de elementos.
    Si texto es también un vector de cadenas de texto de la
    misma dimensión, cada elemento se escribe en las
    coordenadas correspondientes gtext('texto') introduce texto con
    ayuda del ratón: el cursor cambia de forma y se espera un
    clic para introducir el texto en esa posición legend()
    define rótulos para las distintas líneas o ejes
    utilizados en la figura. Para más detalle, consultar el
    Help grid activa la inclusión de una cuadrícula en
    el dibujo. Con grid off desaparece la cuadrícula Funciones
    de graficación en MATLAB

    Monografias.com
     donde m y n son el número de subdivisiones en filas
    y columnas, e i es la subdivisión que se convierte en
    activa. Las subdivisiones se numeran consecutivamente empezando
    por las de la primera fila, siguiendo por las de la segunda, etc.
    COMANDO SUBPLOT Una ventana gráfica se puede dividir en m
    particiones horizontales y n verticales, con el objeto de
    representar múltiples gráficos en ella. Cada una de
    estas subventanas tiene sus propios ejes, aunque otras
    propiedades son comunes a toda la figura. La forma general de
    este comando es: subplot(m,n,i)

    Monografias.com
     Sean las siguientes en Matlab >> x=0:0.01:pi;
    >> y=sin(x); z=cos(x); w=exp(-x*.1).*y; v=y.*z;
    subplot(2,2,1), plot(x,y) subplot(2,2,2), plot(x,z)
    subplot(2,2,3), plot(x,w) subplot(2,2,4), plot(x,v) COMANDO
    SUBPLOT

    Monografias.com
    Otras funciones gráficas bar() crea diagramas de barras
    barh() diagramas de barras horizontales bar3() diagramas de
    barras con aspecto 3-D bar3h() diagramas de barras horizontales
    con aspecto 3-D pie() gráficos con forma de
    “tarta” pie3() gráficos con forma de
    “tarta” y aspecto 3-D area() similar plot(), pero
    rellenando en ordenadas de 0 a y stairs() función
    análoga a bar() sin líneas internas errorbar()
    representa sobre una gráfica –mediante barras–
    valores de errores hist() dibuja histogramas de un vector rose()
    histograma de ángulos (en radianes)

    Monografias.com
    El archivo que contiene los datos está en el disco
    rígido C en la carpeta llamada “datos”, con el
    nombre “dat10.txt” y ha sido obtenido desde el
    recurso ubicado en www.physionet.org. >> load
    c:datosdat10.txt En la variable dat10 quedan almacenados los
    valores contenidos en el archivo. Para conocer la
    dimensión del arreglo, se tipea: >> size(dat10) ans
    = 17101 3 Lo que implica que dat10 tiene 17101 filas y 3
    columnas. La primera columna indica el instante en que se toma la
    muestra y las otras dos, las tensiones de dos derivaciones del
    ECG. Graficación desde un archivo ascii

    Monografias.com
    A partir de estos datos, se puede graficar la salida de la
    primera graficación (contra el tiempo) de la siguiente
    manera: >> x=dat10(:,1); % lee la columna 1 (en seg) y la
    guarda en x >> y=dat10(:,2); % lee la columna 2 (en mV) y
    la guarda en y >> plot(x(1:1000),y(1:1000))
    Graficación desde un archivo ascii

    Monografias.com
    La Transformada de Fourier de una señal permite analizar
    sus composición frecuencial. Considerando la señal
    anterior (y), se ejecutan las siguientes instrucciones: >>
    H=abs(fft(y-mean(y))); % Trans. De Fourier en valor absoluto
    >> plot(H(1:5000)) Transformada de Fourier de una
    señal

    Monografias.com
    Como se puede observar en el gráfico anterior, en el eje
    de abscisas se representan los índices de cada muestra.
    Para que quede en frecuencia (Hz) es necesario conocer con
    qué tasa de muestreo ha sido adquirida la señal.
    Esto es posible hacerlo desde la primera columna observando el
    tiempo entre muestra y muestra. >> Fs=1/(x(3601)-x(1))*3600
    % análisis de 3600 muestras Fs = 360 Dado que la
    expresión de la Transformada Discreta de Fourier
    está dada por: Transformada de Fourier de una señal
    Donde N es la longitud de la señal y Fs la frecuencia de
    muestreo (la recíproca del tiempo de muestreo T).

    Monografias.com
    En base a lo expuesto, modificando la escala horizontal del
    gráfico se logra que las abscisas se expresen en Hz.
    >> i=1:5000;plot(i*Fs/length(y),H(i)) Transformada de
    Fourier de una señal

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter