1
UNIDAD IZTAPALAPA
División: CBI Grado: Licenciatura
Título: Análisis de los movimientos respiratorios fetales
en diferentes etapas de la gestación.
ALUMNA: RUBÍ YANET ZÚÑIGA CASTILLO 2 0 1 3 2 2 2 8 7
ASESORA: MA. DEL ROCIO ORTIZ PEDROZA
UAM UNIDAD IZTAPALAPA SEPTIEMBRE/2006
6
MA. DEL ROCIO ORTIZ PEDROZA
PROYECTO TERMINAL
Análisis de los movimientos respiratorios fetales en
diferentes etapas de la gestación.
RUBÍ YANET ZÚNIGA CASTILLO
INTRODUCCIÓN
Desde 1930 se han realizado esfuerzos encaminados a conocer y comprender los
mecanismos que dan lugar a la compleja función de respirar desde el momento en que comienza la
vida, en este sentido se han realizado una gran diversidad de estudios orientados a conocer las
características anatómicas, funcionales y de control de los sistemas involucrados en la respiración
en diferentes etapas del desarrollo fetal y durante la transición entre la vida fetal y el nacimiento∗
La principal función posterior al nacimiento del sistema respiratorio es el intercambio de gases,
para lograr esto, los músculos respiratorios deben activarse rítmicamente. Los MRF son típicamente
discontinuos, no toman parte en el intercambio gaseoso y representan un costo para el feto en términos de la
utilización de oxigeno y sustrato. Se reconoce que los episodios de MRF rítmicos son una característica
normal en la vida del feto y que son importantes en la preparación del sistema respiratorio para su función
postnatal de intercambio gaseoso el cual debe operar de manera efectiva al momento del nacimiento.
1. ∗ Henderson Y.. How breathing begins at birth. Science. 85 (2195) p 89 – 90, 1937
7
La razón por la que en el presente trabajo se considera importante el estudio de los movimientos
respiratorios fetales (MRF), se da por la creciente utilidad clínica que se puede obtener al caracterizar dichos
movimientos de forma cualitativa y cuantitativa, obteniéndose así distintos rangos y variables, para este
propósito, se tomó en cuenta para el presente trabajo una de las variables más importantes, la edad gestacional
ya que influye de forma marcada en el comportamiento de las distintas variables y rangos aquí estudiados, es
decir que al obtener una caracterización de los MRF está información pueda ser usada como otra herramienta
para predecir, diagnosticar y vigilar el desarrollo adecuado del sistema respiratorio determinando la madurez
pulmonar, predecir nacimientos pretérmino, predecir la condición fetal y la evaluación del bienestar fetal.
En términos generales se cree que los MRF favorecen el crecimiento del pulmón y que cuando se
presentan condiciones uterinas no óptimas se pueden tener efectos en las estructuras y funciones de los
órganos respiratorios y que la recuperación postnatal pudiera ser restringidaΨ.
Un ejemplo claro de lo anterior es el análisis de 8 estudios realizados con el propósito de evaluar la
exactitud de la ausencia de MRF para poder predecir el nacimiento espontáneo pretérmino (328 mujeres), se
cree que la ausencia de MRF tiene el potencial para ser útil para predecir nacimientos pretérmino dentro de
los 7 días y las 48 horas de la prueba♣.
En el feto humano se pueden distinguir tres tipos de movimientos torácicos: los movimientos
respiratorios fetales propiamente dichos, el hipo y el jadeo. Los MRF se consideran análogos a los
movimientos respiratorios postnatales, y se deben a la activación rítmica del diafragma y se presentan de
manera episódica principalmente durante la última parte de la gestación. El jadeo es inducido por asfixia o
hipoxia y no se observa en fetos sanos, finalmente los episodios de hipo se pueden presentar comúnmente en
la mayor parte de la vida fetal y son particularmente comunes durante la gestación temprana iniciando a partir
de la semana ocho de gestación y representando el tipo predominante de movimiento de diafragma hasta la
semana veintiséis♦.
2. Ψ Harding R. Sustained alterations in postnatal respiratory function following suboptimal intrauterine conditions.
Reproduction Fertility and Development 7(3): 433-441. 1995 3. ♣ Honest H, Bachman LM, Sengupta R, Gupta JK, Kleijnen J, Khan KS. Accuracy of absence of fetal breathing
movements in predicting preterm birth; a systematic review. Ultrasound in obstetrics & gynecology. 24 (1). 94 – 100. 2004
4. ♦ James D. Fetal behaviour. Curent Obstetrics & Gynaecology. 7. 30 -35.1997
8
El análisis de la presencia de MRF para evaluar su comportamiento y patrones que puede
tener como se mostró en otros estudios por ejemplo que los movimientos abdominales se encontraron
con un 19% para edades gestacionales menores a la 20 SDG y en un 61% para casos entre 21 y 25
SDG. El movimiento torácico fue significativo después de la semana 21 de gestación de esto se
concluyó que los MRF son un fenómeno complejo con un patrón progresivo de desarrollo a lo largo
de la gestación (en una muestra de 1882 mujeres con embarazos no complicados con edades
gestacionales entre 14 y 40 SDG)∗.
Los MRF describen patrones muy variables en condiciones normales del desarrollo del
feto. Dawes et al. [1972(48)] Describió a los MRF como rápidos e irregulares y con una gran
variabilidad tanto en frecuencia como en profundidad. Se pueden presentar ráfagas de MRF muy
rápidas, alternadas con episodios de respiraciones regulares y lentas o con pausas de apnea de
diferente duración independientemente de la concentración de gases en sangre.
En el feto humano con 24 –28 SDG, la frecuencia promedio en el humano es de 42 – 44
esfuerzos inspiratorios por minuto mientras que para 34 – 38 SDG es de 45 a 57 esfuerzos
respiratorios por minutoΨ. La regularidad de los intervalos respiración –respiración observada por
Dornan en un estudio a 14 mujeres con embarazos sin complicaciones, fue mayor conforme avanzaba
la edad gestacional, y la frecuencia respiratoria promedio (respiraciones/minuto) disminuyó de 57.2 ±
1.3 para el grupo de 30 -33 SDG a 47.9 ± 0.8 para el grupo de 37 -40 SDG similarmente, la
profundidad del esfuerzo inspiratorio varía desde apenas percibirse un cambio hasta alcanzar valores
considerables de presión intratraqueal, flujo o desplazamiento torácico-abdominal♣.
Finalmente, la presencia de los MRF observada mediante ultrasonido modo B, durante el trabajo de
parto espontáneo se ha asociado con un nacimiento normal. En un estudio en el que se analizó la posible
utilidad de la evaluación de la presencia de los MRF para predecir un resultado al nacimiento favorable, se
realizaron en un total de 426 observaciones de los MRF mediante ultrasonido modo B en 124 mujeres con
embarazos de alto riesgo y 10 pacientes normales dentro de las 2 y 4 semanas previas al parto. Se encontró 5. ∗ Cosmi EV, Anceschi MM, Cosmi E, Piazze JJ, La Torre R. Ultrasonographic patterns of fetal breathing
movementes in normal pregnancy. International Journal of Gynecology and Ostetrics. 80 (3). 285 – 290. 2003. 6. Ψ Jansen A.H, Chernick V. Fetal breathing and development of control of breathing. The American Physiological
Society , 1991p.1431-1446 7. ♣ Dornan JC, Ritchie WK, Ruff S. The rate and regularity of breathing movements in the normal and growth-retarded
fetus. British Journal of Obstetrics and Gynecology( 91. 31-36. 1984).
9
una alta correlación entre la presencia o ausencia de MRF y el APGAR al primer minuto, así como una
relación también significativa entre la presencia de MRF y el peso al nacer, además la incidencia de cesárea
fue mayor cuando no se observaron MRF, sugiriendo la posible utilidad de medir los MRF como parte de la
evaluación del bienestar fetal antepartoΨ.
OBJETIVO
Este trabajo tiene como finalidad obtener una caracterización de los MRF de forma cualitativa y
cuantitativamente, tomando en cuenta la edad gestacional en la que se encuentre el feto ya que el poderlos
caracterizar de forma adecuada nos ayudará a dar un mejor seguimiento del desarrollo del sistema respiratorio
del feto y al mismo tiempo dar un seguimiento completo de la gestación ya que su utilidad clínica puede tener
grandes alcances como se describió en la introducción.
De aquí que en el presente trabajo se considere importante identificar el tipo de movimiento
encontrado, ya sea abdominal, toráxico o de ambos, ya que la cavidad torácica y la abdominal están separadas
por el diafragma y se consideró importante particularmente después de la semana treinta de gestación debido a
tienen el siguiente comportamiento temporal: el movimiento inspiratorio presenta un movimiento del
diafragma en dirección caudal acompañado por una retracción del tórax fetal con movimiento hacia dentro
máximo del esternón bajo. Durante la espiración, todas las estructuras regresan a su posición original en la
que permanecen durante periodos de reposo (apnea)£.
8. Ψ Ash KM, Morrison I, Manning FA. Observations of intrapartum fetal activities. American Journal of obstetrics and gynecology. 168 (3): 760 –764. 1993. Platt L, Manning F, Lemay M, Sipos L. Human fetal breathing: Relationship to fetal condition. Am. J. Obset Gynecol(132. 514 – 517) 1978. 9. £ Gennser G, Marsál K, Gullberg B. Ultrasonic measurement of fetal movements and breathing: Relevance of the 30 – min. recording time. En: Recent Advance in Prenatal Diagnosis, Eds C. Orlandi, P.E. Polani, L. Bovicelli, John Wiley & Sons, Chichester. 85-97. 1981
C
T
A
Figura 1. Esquema de un corte sagital fetal durante movimientos de la pared abdominal (A) y del tórax (T) asociados a los MRF. C es la posición del corazón.
10
DESARROLLO
I. Sujetos
El primer paso para comenzar nuestra caracterización fue reunir una muestra de setenta y tres mujeres con
embarazos de mediano o bajo riesgo las cuales estaban entre 20 a 40 semanas de gestación y se clasificaron
en cinco grupos por edad gestacional como se describe en la tabla 1, la distribución por grupo también se
muestra en dicha tabla.
TABLA 1.
II. Adquisición de imágenes y señales
Los MRF fueron observados utilizando un equipo de imagen por ultrasonido (Toshiba SSA-320A) con
un transductor de 3.5 Hz colocado en el abdomen materno de manera que se observara (en la medida de lo
posible) un corte sagital del tórax y el abdomen fetal. Las imágenes fueron almacenadas en cinta digital para
su posterior análisis. Simultáneamente se generó una señal asociada a los ciclos de los MRF utilizando un
marcador de eventos que fue activado por un observador de la imagen ultrasónica durante cada esfuerzo
inspiratorio. Dichas señales fueron adquiridas a una frecuencia de muestreo de 1000 Hz, por periodos de 5
minutos.
III. Desarrollo de la caracterización cualitativa.
Al hablar de una caracterización cualitativa nos referimos a la observación de ciertas cualidades de los movimientos
respiratorios fetales como la frecuencia, la estructura anatómica desplazada durante MRF, la profundidad del
movimiento así como la presencia de apnea, la importancia de cada una de las anteriores variables ha sido descrita antes
sin embargo adicionalmente a estos parámetros también se observó la presencia de la onda M, a la que se pretende
asociar la presencia de MRF para un estudio posterior de dichas imágenes.
Se grabó en tiempo real y simultáneamente el ultrasonido en modo “B” y en modo “M” (ver imagen 1).
11
El video de cada paciente evaluada fue analizado tomando en cuenta los grupos de edad gestacional antes mencionados
en el que se encontraba cada paciente.
Un claro ejemplo de lo que se observó en cada video se puede apreciar en imagen 2 de la cual se analizan
varios atributos de la misma, en la imagen en modo B podemos identificar el corazón que a su vez nos da una
clara referencia de la ubicación del tórax y por lo tanto podemos ubicar al abdomen con claridad, permitiendo
visualizar el desplazamiento de la estructura, su profundidad y en la parte superior izquierda también podemos
visualizar en primera instancia la fecha con día/mes/año y debajo de la misma la hora como hrs:min:seg cabe
mencionar que el segundero de la hora se observó para poder establecer el intervalo entre MRF y así
establecer de forma cualitativa la velocidad de la frecuencia, en el modo M observamos la presencia del
movimiento como pequeñas ondulaciones de la zona que marca el cursor que es la línea punteada que se
muestra en el modo B y este generalmente se desplazaba hacia la zona en donde ocurría un desplazamiento
para poder captar así dicho movimiento en el modo M.
Imagen 1 Del lado derecho se muestra la imagen de ultrasonido en modo B, que contiene un marcador punteado, el cual establece la línea de imagen en tiempo real sobre la que se observarán cambios perteneciente al modo M del ultrasonido contenido del lado izquierdo de la imagen.
Imagen 2 Es un ejemplo de foto analizada en la caracterización cualitativa, donde se observa la ubicación de tórax(elipse azul) guiados por la visualización del corazón (cuadro rojo) y a su vez poder identificar de esta manera el abdomen(elipse amarilla) y el tiempo existente entre MRF.
CORAZÓN
TORAX
ABDOMEN
DIA/MES/AÑO HRS:MIN:SEG
12
La forma en que se estableció cada parámetro fue la siguiente:
a) Presencia
En la presencia de MRF se tomaron los siguientes parámetros cualitativos: positivo, algunos o
dudosos, los movimientos dudosos se consideraron cuando el desplazamiento de una estructura respiratoria
(abdomen, tórax o diafragma) era apenas perceptible, con poca definición y además poco profunda, algunos
cuando se registraron pocos movimientos durante el registro y estos eran demasiado esporádicos y positivos
cuando existió un desplazamiento de la estructura respiratoria perceptible con claridad y bien definida de
ellos. Además de la presencia de estos movimientos también se observaron ciertos tipos de movimientos
torácicos como lo son el hipo, el jadeo y el MRF identificado con anterioridad, la forma en la que se
estableció la existencia de estos movimientos fue la siguiente: para hipo se identificó con cierta forma de onda
“M” en forma de espiga muy marcada y rápida de tal forma que se hacia muy clara y definida además de ver
que en el modo B el feto parecía brincar al tiempo que este “hipaba” como se muestra en la imagen 3 en la
cual vemos la forma de onda que se generaba cuando el feto hipaba esta forma de onda observada se podía
observar hacia abajo o hacia arriba según la posición del feto.
Para establecer la presencia de jadeo solo se observó la profundidad del movimiento y se estableció que
cuando esta era muy profunda había jadeo, finalmente para establecer la existencia de MRF se tomó el mismo
criterio descrito para positivo en la presencia de movimientos.
Imagen 3 En esta foto del video de ultrasonido observamos a la derecha la forma de onda que se origina cuando el feto tiene hipo la cual fue tomada como referencia para clasificar dicho registro con presencia de hipo.
13
b) Estructura anatómica predominante durante el movimiento.
Los movimientos se clasificaron en abdominales, toráxicos o ambos, lo primero que se hacia para esto era que al
comenzar a ver el video se identificaba donde se ubicaba el tórax, el abdomen ó el diafragma, debido a que el
diafragma se lograba observar en pocas ocasiones lo mismo que cuando no se distinguía con claridad si lo que
se movía era el abdomen o el tórax a estos dos sucesos se les colocó en la clasificación de ambos, finalmente
como para distinguir la procedencia de cada movimiento bastaba con observar si lo que se movía era el
abdomen, el tórax o ambos.
c) Onda “M”. La razón de observar su existencia se hace presente en el análisis cuantitativo ya que en un futuro podría ocupar el lugar
del marcador de eventos siendo más exacta para la obtención de resultados cuantitativos. Para identificar la posible
utilidad de la imagen en modo M se clasificó como apreciable, dudosa ó no existente de acuerdo al comportamiento de la
onda en relación al movimiento, es decir está onda existe durante todo el registro y dentro de la misma se aprecia el
movimiento natural de la respiración de la madre y se intentó relacionar el cambio de la forma de onda asociado al
movimiento respiratorio fetal es decir si al momento de observar un MRF observaba un cambio claro en la forma de
onda M relacionado a este movimiento se clasificaba como clara o apreciable, mientras que si se daba un MRF y la forma
de onda no tenia un cambio significativo se clasificó como dudosa y si por otro lado se daba un MRF y no se apreciaba
cambio alguno en la forma de onda relacionado con el movimiento se clasificaba como no existente.
d) Frecuencia de los MRF
Dependiendo de la rapidez del desplazamiento torácico o abdominal asociado a los MRF se clasificaron en normal, lenta,
alta ó intermitente. El intervalo medido en cada una de estas no es exacto ya que es solo de forma cualitativa y este se
obtuvo de observar el segundero que acompañaba a la hora en la esquina superior derecha del video, es decir que sí se
observaba un MRF y antes de que transcurriera un segundo se observaba otro MRF en repetidas ocasiones la frecuencia
se clasificó como alta, sí entre un MRF y otro había un intervalo aproximado de un segundo ó un poco mas de un
segundo se clasificó como frecuencia normal, sí por otro lado el intervalo entre MRF y MRF era de dos a tres segundos
entonces la frecuencia era lenta y finalmente si ocurría un MRF y transcurrían mas de tres segundos en ocurrir otro MRF
e incluso en ocasiones pasaban minutos ó el tiempo entre MRF y MRF era tan variable que no se podía colocar en
ninguna de las tres clasificaciones anteriores se le clasificaba como intermitente.
e) Profundidad del esfuerzo inspiratorio.
Dependiendo de la amplitud del desplazamiento del tórax ó abdomen asociado al MRF en la imagen observando si esta
se percibía de forma clara, poco perceptible ó muy evidente se le clasifico en normal, poco profundo o muy profundo
respectivamente.
14
IV. Desarrollo de la caracterización cuantitativa
La forma de onda generada por el observador que activó el marcador de eventos consiste de una onda
cuadrada mostrada en la imagen 4, la cual corresponde a dos diferentes estados, el primero de ellos corresponde al
periodo de esfuerzo inspiratorio el cual se identifica cuando el marcador tiene un valor de uno, es decir la onda cuadrada
se encuentra en alto y el segundo de ellos corresponde al periodo de reposo al que identificamos cuando nuestro
marcador se encuentra en cero, es decir cuando nuestra onda cuadrada se encuentra en un bajo. Dicha señal comenzaba
en alto (con un valor aproximado de tres volts) o en bajo dependiendo de cómo había sido alimentado el circuito
asociado al marcador por lo que para estandarizar las señales de manera que el bajo (cero volts) se pudiera asociar al
reposo y el alto (en uno) al esfuerzo inspiratorio se normalizaron e invirtieron aquellas señales que comenzaba en alto.
Para las señales generadas por un observador al activar un marcador durante los MRF se
procesaron con MATLAB, creándose así tres funciones que integraran el programa principal el cual tiene
como objetivo cargar y procesar la señal § y exportar los resultados obtenidos a Exel de forma ordenada para
su posterior análisis estadístico. La primera de estas tres funciones se llama procesa esta función a su vez ya
contiene otra función llamada apnea la cual también es descrita, a la función procesa se le dan tres parámetros
el primero de ellos es la señal, el segundo de ellos es la frecuencia de muestreo, y el tercer parámetro que se
pasa es el tiempo en segundos para considerar la apnea y se encarga de procesar la señal, donde, la imagen 5
muestra los distintos pasos hechos durante el procesamiento que será descrito a continuación:
1) Normalización de la señal del marcador.
El primer paso fue asegurarnos de tener una señal que oscilara en los valores lógicos de uno y cero,
empezando en cero por lo que si la señal comenzaba en uno, se requería invertirla posteriormente se procedió
§ El programa principal se encuentra en el anexo 3 al final de este trabajo.
PERIODO DE REPOSO
PERIODO DE ESFUERZO INSPIRATORIO
Imagen 4 Muestra la señal generado por el observador que activó el marcador de eventos obteniéndose así la presente señal cuadrada ya normalizada mostrándonos los estados correspondientes al periodo inspiratorio en verde y el periodo de reposo en rojo.
15
a derivar la señal para identificar los cambios de nivel es decir detectar cuando ésta era máxima y cuando era
mínima finalmente se trabajó sobre la señal derivada ya que al identificar estos máximos y mínimos como un
uno para el máximo y un menos uno para el mínimo podemos identificar de una forma más sencilla los
diferentes intervalos y parámetros que deseamos cuantificar de nuestra señal como los intervalos inspiratorios
que van de uno a menos uno entre otros que se mencionan posterior mente.
Una vez obtenida la derivada de las señales se obtuvieron las siguientes mediciones:
2) Tiempo Inspiratorio Promedio [Tiprom].
Es la duración promedio de la fase inspiratoria de todos los esfuerzos inspiratorios ocurridos
durante el registro. Para calcular este valor lo primero que se hizo fue identificar el tiempo inspiratorio [Ti]
como se muestra en la imagen 6 y después sumar todos estos Ti y dividirlos entre el numero de Ti ocurridos
en el registro.
Imagen 5 A) muestra la señal original generada por el observador. B) muestra la señal normalizada en 1 y 0. C) muestra que al iniciar la señal en 1 esta es invertida. D) nos muestra la señal derivada mostrando donde ocurre un máximo y donde un mínimo.
Imagen 6 Muestra el Tiempo inspiratorio tanto en la señal cuadrada como en la derivada.
16
Una vez que se obtuvo un vector con todos los valores de los tiempos inspiratorios se obtuvo la
desviación estándar.
3) Tiempo Espiratorio Promedio [Teprom].
Es la duración promedio de la fase espiratoria, de todos los MRF durante el registro. Este
resultado se obtuvo de identificar los Tiempos espiratorios [Te] mostrados en la imagen 7, sumarlos y
dividirlos entre el número de tiempos espiratorios ocurridos durante el registro.
Igual que en anterior al obtener el vector con todos los valores de tiempos espiratorios se obtuvo la
desviación estándar de los mismos.
4) Frecuencia Inspiratoria Promedio [FII] y la Frecuencia Espiratoria Promedio [FEE].
Para obtener la FII y la FEE fue necesario identificar en primera instancia el intervalo inspiración-inspiración
y el intervalo espiración-espiración respectivamente, los cuales se muestran en la imagen 8, el inverso de
dichos intervalos dió lugar a las frecuencias inspiratorias (FII) y espiratoria (FEE) instantáneas.
Posteriormente se obtuvo el promedio correspondiente aplicando la siguiente fórmula
NFRECPROMFREC ∑=_ , donde la FREC fue sustituida por la FII o la FEE.
Al igual que en los datos anteriores se obtuvo la desviación estándar de cada uno de las frecuencias.
Imagen 7 Se muestra el tiempo espiratorio tanto en la señal cuadrada como en la derivada.
Imagen 8 Se muestra el intervalo inspiratorio-inspiratorio y el intervalo espiratorio-espiratorio, los cuales son usados para obtener la frecuencia ya que se pueden obtener en segundos.
17
5) Duración de un Episodio y Tiempo de Apnea.
Un episodio se refiere a todos los MRF sucesivos que se tienen antes de que se presente una apnea es decir
que no existan MRF durante tres segundos como se muestra en la imagen 9 y a esos tres segundos o más
detectados entre episodio y episodio se identificaron como apnea.
Cada una de estas mediciones antes descritas, se realizan dentro de la función procesa que llama el
programa principal.♣
Finalmente la tercer y última función de este programa es xlswrite y es la encargada de exportar a
Exel de forma ordenada los resultados, para la que fue necesario crear una matriz con lo datos a exportar
ordenados ya que lo que en realidad exporta es una matriz que podemos formar según nuestros intereses y no
tiene limitación en dimensiones, de las dos funciones anteriores es importante aclarar que la presente función
no fue programada en este proyecto, es decir, que se encontró como una función de Matlab no incluida en el
software, sin embargo se puede bajar sin costo adicionalΨ, en el presente trabajo se adjunta el algoritmo así
como su sintaxis encontradas en la página antes mencionada♠.
Resultados cualitativos.
Para lograr hacer un análisis cualitativo adecuado fue necesario tomar en cuenta el hecho de que cada uno de
los cinco grupos en los que fueron clasificados los pacientes constan de una población distinta, por lo que cualquier
comparación entre un grupo y otro para observar cambios a lo largo de la gestación se complica, por esta razón se hizo
necesario tomar el número de pacientes de un grupo y tratarlo como un todo es decir tomarlo como un 100% de esta
manera todos tienen un cien por ciento, los resultados por tanto se decidieron presentar en porcentajes para hacer
posible las comparaciones y observar de forma sencilla el comportamiento de los MRF de la semana 20 a la 40 y
facilitar la caracterización, para obtener cada porcentaje se uso la siguiente formula:
♣ Se puede observar el programa completo de esta función en el anexo 1al final del presente trabajo. Ψ Pagina de la que se puede bajar la función xlswrite www.mathworks.com ♠ Esta información se encuentra al final del trabajo en el anexo 2
Imagen 9 Aquí se muestra el tiempo de apnea que separa a dos episodios durante el mismo registro.
18
100#% ×=PacTotal
PacPac
%Pac: es el porcentaje de pacientes que presentaron algún patrón determinado.
#Pac: representa el número de pacientes que presentaron dicho patrón.
Total Pac: representa el número de pacientes que conforman el 100% del grupo.
A continuación se presentan los resultados obtenidos de la evaluación cualitativa de los MRF:
En el análisis de presencia se observaron los comportamientos mostrados en la tabla 1, en la que observamos el
número de pacientes que conforma a cada grupo y el porcentaje de pacientes que presentan cada comportamiento. TABLA 1. Presencia de MRF
NUM DE PAC. GRUPO ALGUNOS POSITIVO DUDOSO
N-15 1 20% 73.33% 6.66% N-9 2 11.00% 66.66% 22.22%
N-14 3 14.28% 71.42% 14.28% N-20 4 0.00% 100.00% 0.00% N-15 5 6.66% 93.33% 0.00%
De la misma manera la figura 1 muestra el porcentaje de pacientes que presentaron cada una de las clases de presencia
por grupo.
PRESENCIA DE LOS MRF
0%
20%
40%
60%
80%
100%
120%
1 2 3 4 5
GRUPO
POR
CEN
TA ALGUNOS
POSITIVO
DUDOSO
Figura 1. Porcentaje de pacientes de cada grupo de edad gestacional con presencia clara (positivo), dudosa (dudoso) o casi ausente (algunas) de MRF.
Para el análisis de la estructura anatómica desplazada durante MRF se desplazaron las estructuras abdominales y
torácicas o ambas según se muestra en la tabla 2. TABLA 2. Estructura anatómica desplazada durante el MRF
NUM DE
PAC. GRUPO ABDOMINAL TORÁCICO AMBOS
N-15 1 73.33% 20% 6.66%
N-9 2 44.44% 22.22% 33.33%
N-14 3 85.71% 7.14% 7.14%
N-20 4 70% 15% 15%
N-15 5 60% 13.33% 26.66%
19
La figura 2 muestra el porcentaje de pacientes que presentaron el desplazamiento de dichas estructuras.
Figura 2. Porcentaje de pacientes con movimientos predominantemente abdominales, torácicos o ambos para cada grupo de edad gestacional.
Con relación al análisis de la frecuencia se clasificaron en cuatro categorías que nos muestra la tabla 3 en la que podemos
observar el porcentaje de cada grupo en cada categoría. TABLA 3. La frecuencia del MRF
NUM DE
PAC. GRUPO NORMAL LENTA INTERMITENTE ALTA
N-15 1 0% 60% 40% 0%
N-9 2 22.22% 44.44% 22.22% 11.11%
N-14 3 14.28% 21.43% 35.71% 28.57%
N-20 4 70% 5% 10% 15%
N-15 5 66.66% 13.33% 6.66% 13.33%
En relación con la tabla 3 podemos ver de forma gráfica estos porcentajes en la figura 3.
FRECUENCIA DEL MRF.
0%
10%
20%
30%
40%
50%
60%
70%
80%
1 2 3 4 5
GRUPO
POR
CEN
TAJE
NORMAL
LENTA
INTERMITENTE
ALTA
Figura 3. Porcentaje de pacientes con rapidez de los MRF normal (≈1 seg.), lenta (<<1 seg.), intermitente (variable) o alta (2 seg. < F <3 seg. ).
20
Continuando con el análisis de profundidad del MRF podemos observar los comportamientos mostrados en la tabla 4,
misma de la que se extrae la figura 4 en la que se muestra el porcentaje de pacientes por grupo que presentan estos
comportamientos. TABLA 4.Profundidad del MRF
PROFUNDIDAD DEL MRF
0.00%10.00%
20.00%30.00%
40.00%50.00%60.00%
70.00%80.00%
90.00%100.00%
1 2 3 4 5
GRUPO
POR
CEN
TAJ
NORMAL
POCO PROF.
MUY PROF.
Figura 4.Porcentaje de pacientes con cada grado de profundidad del esfuerzo inspiratorio para cada grupo de edad gestacional. En cuanto a la visualización de la onda M, el análisis arrojó los comportamientos establecidos en la tabla 5, misma en la
que podemos observar el porcentaje de pacientes por grupo que se tiene en cada comportamiento. TABLA 5.Visualización de la onda M
Los datos de está tabla los podemos observar de forma gráfica en la figura 5.
VISUALIZACION DE LA ONDA 'M'
0.00%
10.00%
20.00%
30.00%
40.00%
50.00%
60.00%
70.00%
80.00%
1 2 3 4 5
GRUPO
POR
CEN
TAJE
SE APRECIA
NO SE APRECIA
ES DUDOSA
Figura 5. Porcentaje de pacientes por grupo de edad gestacional para las que fue posible obtener una imagen en modo M representativa
de los MRF.
21
Finalmente se decidió analizar de forma particular la clasificación de los movimientos torácicos originándose
la tabla 6, en la cual se nos muestra los tipos de movimientos torácicos que existen y el porcentaje de ellos
presentados en cada uno de nuestros grupos durante el presente estudio.
Tabla 6. Tipos de Movimientos torácicos registrados.
NUM DE PAC. GRUPO HIPO JADEO MRF
N-15 1 40% 13.33% 46.66% N-9 2 22.22% 0.00% 77.77%
N-14 3 14.28% 0.00% 85.71% N-20 4 0.00% 0.00% 100.00% N-15 5 0.00% 13.33% 86.66%
De la misma manera esta tabla es representada de forma gráfica en la figura 6.
TIPOS DE MOV. TORACICOS
0%
20%
40%
60%
80%
100%
120%
1 2 3 4 5
GRUPO
PORCEN
TAJ
HIPO
JADEO
MRF
Figura 6. Porcentaje de pacientes por grupo de edad gestacional con cada tipo de movimiento torácico.
Resultados cuantitativos
A partir del procesamiento de las señales generadas por un observador al activar un
marcador de eventos se obtuvieron los siguientes parámetros: el tiempo inspiratorio medio
(TPO_MED_INSP), la desviación estándar del tiempo Inspiratorio ( STD_TPO_INSP), la
frecuencia inspiración-inspiración media (FREC_MEDII), la desviación estándar de la frecuencia
inspiración-inspiración (STD_FII), el tiempo espiratorio medio (TPO_EXP_MED), la desviación
estándar del tiempo espiratorio (TPO_STD_EXP), la frecuencia media espiración-espiración
(FREC_MEDEE), la desviación estándar de la frecuencia espiración-espiración (STD_FEE), la
duración total de los periodos de apnea medida en minutos por cada registro considerando a la
apnea como la ausencia de MRF por tres segundos o más (MIN_APNEA), y el número de episodios
ubicados en cada registro, entendiendo por episodio a la ráfaga de movimientos detectados antes de
que se presente apnea (EPISODIO), cada uno de estos parámetros están contenidos en las tablas
que se presentaran en esta sección, cada una de estas tablas además contendrán el número de
22
pacientes analizadas y un promedio obtenido de cada grupo para una visualización gráfica, el
número de pacientes analizadas en cada grupo es distinto al analizado en la caracterización
cualitativa debido a que en algunos casos durante los cinco minutos del registro de movimientos por
el observador no se produjo movimiento alguno y en otros casos se tomaron dos o tres registros de
una misma paciente en la misma etapa gestacional, cada uno de estos tiene resultados propios y
aislados que se muestran en las tablas mismas que contienen una columna de nombre en donde se
colocaron las iniciales de cada paciente para identificarlas con facilidad.
Para el grupo uno se analizaron siete pacientes distintas de las cuales cuatro tienen dos registros distintos
mismos que se pueden observar en la tabla 7, que además nos muestra los parámetros que se describieron al
principio de esta sección♣. Tabla 7. Muestra los valores de los parámetros antes descritos para el grupo uno (20-24 semanas de gestación).
En el grupo dos podemos observar en la tabla 8, un total de nueve registros de seis diferentes pacientes. Tabla 8. Muestra los valores de los parámetros antes descritos para el grupo dos (24 semanas 1 día-28 SDG).
La tabla 9 se muestra diez diferentes registros sobre siete pacientes con hasta tres registros por paciente y
cada una debidamente identificada.
♣ Es importante resaltar el número de pacientes de cada grupo en el análisis cualitativo y cuantitativo son diferentes debido a los registros obtenidos de forma adecuada para su procesamiento, sin embargo se busca que los resultados de ambos estudios se complementen.
23
Tabla 9. Muestra los valores de los parámetros antes descritos para el grupo tres (28 semanas 1 día-32 SDG).
Las siguientes trece pacientes son analizadas en la tabla 10 correspondiente al grupo cuatro en donde se
encuentran hasta tres registros de la misma paciente. Tabla 10. Muestra los valores de los parámetros antes descritos para el grupo cuatro (32 semanas 1 día-36 SDG).
En la tabla 11 se muestran los resultados de los 15 registros de las 9 pacientes con las que se conforma este
grupo. Tabla 11. Muestra los valores de los parámetros antes descritos para el grupo cinco (36 semanas 1 día-40 SDG).
24
Finalmente para poder visualizar de forma más clara y comparativa el comportamiento de la
frecuencia, el tiempo de apnea y los intervalos respiratorios observando los cambios de comportamiento de
los MRF entre la semana 20 y la 40, se graficó el promedio de las frecuencias de cada grupo tanto
inspiratorias como espiratorias como se aprecia en la figura 7, el tiempo promedio de apnea por grupo
observable en la figura 8 y los intervalos respiratorios en la figura 9, además se adjuntó la tabla 12 la cual nos
muestra de forma sintética los resultados de los promedios de cada grupo con el mismo orden que mostraron
las tablas anteriores y las mismas variables solo se agregó una columna extra que muestra la diferencia
existente entre los intervalos inspiratorio y espiratorios (DIF DE TPO I-E), con el fin de facilitar el análisis
de los resultados obtenidos.
Tabla 12. Muestra el promedio obtenido de cada grupo al tiempo que incluye una columna en la que observamos la diferencia entre el
intervalo inspiratorio y el intervalo espiratorio.
FRECUENCIAS
0.000
0.200
0.400
0.600
0.800
1.000
1.200
1 2 3 4 5
GRUPOS
HER
T FREC EXP MED
FREC INSP MED
Figura7. Promedio de las frecuencias inspiratorias medias por grupos (en rosa) y promedio de las frecuencias espiratorias medias por
grupos (en lila).
Figura 8. Tiempo promedio de apnea durante los diferentes registros graficados por grupo.
25
Figura 9 .El promedio de los intervalos inspiratorios organizados por grupo y el promedio de los intervalos espiratorios organizados por
grupo.
Análisis de los resultados cualitativos.
La presencia de MRF es observable desde la 20 SDG a la 40 SDG, siendo estos más constantes y
visibles en la semanas 32 a la 40 de gestación como se muestra en la figura y tabla 1, apreciando que el hipo
es un tipo de movimiento torácico que solo se aprecia en las semanas de la 20 SDG a la 32 SDG, para
desaparecer a medida que se acerca el termino del embarazo observables en la figura y tabla 6
correspondiente a los movimientos torácicos. De tal forma que al principio del embarazo el hipo es
común y normal aún cuando en teoría se da a lo largo del embarazo aquí apreciamos con claridad
que en las últimas ocho semanas de gestación el hipo comienza a ser poco común.
Como podemos observar en la figura 2 el movimiento abdominal es predominante en
cualquier edad gestacional, ya que en esté análisis se comienza desde la semana 20, teniendo un
máximo en el grupo tres siendo las semanas 28-32 en las que se aprecia mayor actividad abdominal,
mientras los movimientos torácicos alcanzan su mayor porcentaje en las semanas 24-28.
La gráfica 3muestra que en las primeras SDG se encontró una frecuencia baja muy marcada
ya que es lo que predomina en los dos primeros grupos, después en el tercer grupo se observa una
frecuencia intermitente, finalmente la frecuencia se va normalizando conforme se avanza a la
semana 32 de gestación y mantenerse así hasta el término del embarazo como se puede observar en
la figura 3.
La profundidad de la inspiración que se aprecia en el modo B del ultrasonido en todo
momento muestra ser poco profunda en todas las edades gestacionales. Mientras en el último grupo
26
gestacional una profundidad inspiratoria normal y la poco profunda tienen una diferencia
porcentual de solo el 6.66% siendo estas muy parecidas (observadas en la figura 4 y el la tabla 4).
La visualización de de la onda M es apreciable de forma clara durante casi todo nuestro estudio
excepto de la semana 24 SDG a la 28 SDG en donde el porcentaje predominante indica que esta no puede ser
visualizada ver figura 5.
Análisis de los resultados cuantitativos.
Una de las principales características que se perciben en estos resultados a primera vista es el
decreciente valor de la apnea que se presenta registro a registro conforme se van aumentando las
semanas de gestación de tal forma que en el último grupo los periodos de apnea son
significativamente más cortos que en el grupo uno indicando la maduración del sistema
respiratorio, también es posible notar que el valor del intervalo espiratorio es en general mayor al
intervalo inspiratorio ver figura 9, sin embargo a medida que avanza la edad gestacional del feto la
diferencia existente entre cada uno de estos intervalos va disminuyendo de 1.071 seg. hasta
disminuir a .302 seg. como se puede observar en la tabla 12.
Es interesante ver como en estos resultados al igual que en el análisis cualitativo en términos
de frecuencias respiratorias coinciden notablemente ya que la frecuencia va aumentando conforme
avanza la gestación hasta alcanzar una frecuencia normal en las últimas semanas. Como se puede
observar en la figura 7 la frecuencia inspiratoria y espiratoria suelen ser muy parecidas y cercanas
desde la 20 SDG a la 40 SDG, presentando una frecuencia inspiratoria que va desde .750 Hz a los
1.012 Hz y una frecuencia espiratoria que va desde .745 Hz a los .984 Hz como se puede observar
en la tabla 12.
27
CONCLUSIONES
En el presente trabajo se logró constatar la presencia de MRF desde la semana 20 a la 40,
evidenciando en está caracterización algunas de las teorías ya presentadas por otros autores sobre la
presencia de hipo entre la semana 20 y 32 de gestación. Durante la caracterización de estos movimientos
se percibió de forma clara la maduración del sistema respiratorio conforme avanza la edad gestacional,
evidencia de esto es la normalización de la frecuencia conforme avanza el embarazo, así como la
disminución significativa de los tiempos de apnea que son parte del resultado de la maduración no solo del
sistema respiratorio sino también de diversos sistemas que ayuda a coordinar de cierta forma los
movimientos mecánicos necesarios para respirar de forma adecuada.
Al percibir que la estructura predominantemente desplazada sea el abdomen a un cuando percibimos
movimientos propiamente torácicos como el hipo presentado entre la semana 20 a la 32 que involucra
nuestros primeros tres grupos puede ser muy contradictorio, sin embargo al ser más perceptible el
movimiento abdominal que el torácico y al poder relacionar ambos con el desplazamiento del diafragma y
tomando en cuenta el contraste del video, es posible que se logrará percibir con mayor facilidad el
movimiento del abdomen y por lo tanto se visualizo en la mayoría de estos casos un desplazamiento
abdominal.
También es importante resaltar que el uso de la onda M podría ser posible durante ciertos intervalos
tomando en cuanta que esta no podría ser usada de forma continua y que además al igual que nuestro
marcador de eventos tendría un error de tipo humano ya que el marcador de la onda M debe de estar justo
en el lugar donde ocurre el movimiento para que este se vea realmente reflejado sobre nuestra onda M y
esto no es muy fácil ya que no sabemos en que momento ocurrirá el movimiento y el feto tiende a moverse
constantemente haciendo esto un poco más complicado.
Acerca del marcador que se utilizo durante está caracterización se hizo un estudio del mismo para
saber sí este tenía la validez necesaria y se encontró que los datos o frecuencias dados por nuestro marcador
no tiene una diferencia estadísticamente significativa que lo desacredite en relación a un transductor
colocado en el tórax de un adulto razón por la que se considera valida la presente caracterización.
28
ANEXO 1
Función procesa
funcion[INSP_MED,STD_INS,FREC_INSP_MED,STD_FREC_INSP,EXP_MED,STD_EXP,FREC_EXP_MED,STD_FREC_
EXP,min_apnea,STD_EPI,EPISODIO]=procesa(resp,FREC,TLIM);
A=round(resp); %REDONDEO LOS VALORES DE LA SEÑAL PARA TENER VALORES ENTEROS
figure
subplot(4,1,1),plot(A),grid,title('REDONDEADA'),axis([0,10000,-1,3]) %GRAFICO LA SEÑAL REDONDEADA
minimo=min(A); %IDENTIFICO EL VALOR MINIMO DE LA SEÑAL PARA TOMARLO COMO REFERENCIA
PARA CONVERTIR TODOS ESOS VALORES A CERO
[maximo,pos]=max(A); %IDENTIFICO EL VALOR MAXIMO PARA CONVERTIR ESTOS VALORES A UNO
for k=1:1:length(A) %HACE LA CONVERCION DE LA SEÑAL A UNOS Y CEROS DEACUERDO A LOS VALORES
IDENTIFICADOS
if A(k)==maximo %PREVIAMENTE Y ASIGNANDO UNOS Y CEROS A LOS VALORES DE LA SEÑAL
A(k)=1;
end
if A(k)==minimo
A(k)=0;
end
end
subplot(4,1,2),plot(A),grid,title('CONV. A UNOS Y CEROS'),axis([0,10000,-1,2]) %VERIFICO DE FORMA GRAFICA
LA CONVERCION
%A UNOS Y CEROS DE LA SEÑAL
if A(1)==1 %IDENTIFICO SI LA SEÑAL EMPIEZA EN CERO, QUE ES COMO DEBE DE ESTAR, SI NO ES
ASI ENTRA AL IF PARA
for y=1:1:length(A) %INVERTIR LA SEÑAL Y HACER EL AÑALISIS CORRECTO.
if A(y)==1
A(y)=0;
else
A(y)=1;
end
end
end
subplot(4,1,3),plot(A),grid,title('MRF DE AOA23 INVERTIDA'),axis([0,10000,-1,2]) %RECTIFICO DE FORMA GRAFICA
QUE SE INVIRTIO
% LA SEÑAL
29
B=diff(A); %DERIVO LA SEÑAL Y LE CAMBIO LA ETIQUETA
subplot(4,1,4),plot(B),grid,title('DERIVADA DE MRF DE txt'),axis([0,10000,-2,2]) %GRAFICO LA DERIVADA DE LA
SEÑAL
ONES=find(B==1); %ENCUENTRO LOS UNOS POSITIVOS DE LA SEÑAL Y LOS GUARDO EN EL VECTOR ONES
ONE_NEG=find(B==-1);%ENCUENTRO LOS UNOS NEGATIVOS DE LA SEÑAL Y LOS GAUARDO EN EL VECTOR
ONE_NEG
NUM_INSP=length(ONES) %IDENTIFICO LA LONGITUD DE AMBOS VECTORES PARA ESTABLECER EL TOPE DE
MI FOR
NUM=length(ONE_NEG)
MTR=[]; %INICIALIZO LOS VECTORES QUE OCUPARE
TPO=[];
EXPIRA=[];
TPO2EXP=[];
F=NUM-1;
E_FIN=[];
W=1;
Q=1;
G_IN=[];
G_IN(1)=ONES(1); % SE INICIALIZA LA MATRIZ CON EL QUE SIEMPRE VA A SER SU PRIMER VALOR QUE
CONTENDRA EL INICIO DE LOS EPISODIOS
Y=2; % SE ACTUALIZA E INICIALIZA EL VALOR DEL CONTADOR
%SE LLENARAN LA MATRICES DE TIEMPO INSPIRATORIO, EXPIRATORIO Y LA DE LOS
%EPISODIOS RESPIRATORIOS DE CADA SEÑAL REALIZANDO LOS CALCULOS NECESARIOS
for i=1:1:F
MTR(i)=ONE_NEG(i)-ONES(i); %INSPIRATORIO
TPO(i)=MTR(i)/FREC; %TIEMPO INSPIRATORIO EN SEGUNDOS (X MUESTRA)
j=i+1;
DETEC_CEROS(i)=ONES(j)-ONE_NEG(i);
if DETEC_CEROS(i)<FREC*TLIM
EXPIRA(W)=DETEC_CEROS(i)/FREC; %TIEMPO EXPIRATORIO POR MUESTRA EN SEGUNDOS
W=W+1;
end
if DETEC_CEROS(i)>=FREC*TLIM %EPISODIOS
E_FIN(Q)=ONE_NEG(i);
G_IN(Y)=ONES(j)+1;
Y=Y+1;
30
Q=Q+1;
end
end
INSP_MED=mean(TPO) %PERIODO MEDIO DE INSPIRACION
STD_INS=std(TPO) %DESVIACION STANDART DE LA INSPIRACION MEDIA
FREC_INSP_MED=1/INSP_MED %FRECUENCIA INSPIRATORIA
STD_FREC_INSP=std(1./TPO) %DESVIACION STANDART DE LA FRECUENCIA
EXP_MED=mean(EXPIRA) %PERIODO MEDIO DE EXPIRACION
STD_EXP=std(EXPIRA) %DESVIACION STANDART DE LA EXPIRACION
FREC_EXP_MED=1/EXP_MED %FREC EXPIRATORIA
STD_FREC_EXP=std(1./EXPIRA) %DESVIACION STANDART DE LA FRECUENCIA
A=A(:);
x=A'; %PARA CAMBIAR A RENGLON NUESTRO VECTOR (CAMBIA A LO CONTRARIO DE COMO LO TENGO)
tapnea=apneaR(x,1,length(x),FREC); %FUNCION QUE NOS DA EL TIEMPO TOTAL DE APNEA EN EL REGISTRO
seg_apnea=tapnea/FREC %TIEMPO TOTAL DE APNEA EN EL REGISTRO EN SEGUNDOS
min_apnea=seg_apnea/60 % TIMPO TOTAL DE APNEA EN EL REGISTRO EN MINUTOS
CUENTA=length(E_FIN);
E_FIN(CUENTA+1)=ONE_NEG(NUM);
CUEN=length(G_IN);
EPI=E_FIN-G_IN % CALCULO DE LOS EPISODIOS
STD_EPI=std(EPI)
if ONES(1)<TLIM*FREC %SE VE SI EL TIEMPO DE INACTIVIDAD AL PRINCIPIO DE LA SENAL YA SE
CONSIDERO COMO APNEA
T=length(A)-tapnea-ONES(1); %DE NO SER ASI SE QUITA DICHO TIEMPO PUES NO PERTENECE A NINGUN
EPISODIO RESP AL PRINCIPIO DE LA SENAL
else
T=length(A)-tapnea;
end
Q=length(A)-ONE_NEG(NUM);
if Q<3*FREC %SE QUITA LA ULTIMA PARTE DE LA SENAL A MENOS QUE YA SE HAYA
CONSIDERADO EN APNEA
QT=T-Q
else
QT=T
end
31
TT=sum(EPI)
EPISODIO=EPI/FREC %DURACION DE CADA EPISODIO EN SEGUNDOS
End
En la segunda de estas tres funciones es apneaR como se ha comentado está contenida dentro
de la función procesa y se le deben dar cuatro parámetros, el primero de ellos es la señal, el segundo
de ellos es la muestra donde se empezará el análisis, el segundo de ellos es el número de muestras a
analizar y el último es la frecuencia de muestreo de la señal.
Función apneaR
function [tapnea]=apneaR(resp,i,j,frec);
zero(1)=1;
zero=[zero find(resp(i:j))];
zero(length(zero)+1)=j-i+1;
exp=diff(zero);
[ind]=find(exp>=frec*3);
tapnea=sum(exp(ind));
32
ANEXO 2
xlswrite
Escribir el archivo de hoja de balance del Microsoft Excel (.xls)
Sintaxis
• estado del xlswrite
• (“nombre de fichero”, M)
• (“nombre de fichero”, M, hoja)
• (“nombre de fichero”, M, “gama”)
• (“nombre de fichero”, M, hoja, “gama”) = xlswrite (“nombre de fichero”,…)
• [estado, mensaje] = xlswrite (“nombre de fichero”,…)
• gama de la hoja del nombre de fichero M del xlswrite
•
Descripción
xlswrite (“nombre de fichero”, M) escribe la matriz M al nombre de fichero del archivo
del Excel. Está la matriz de entrada M m-por-n numérico, carácter, o arsenal de célula,
donde m < 65536 y n < 256. Los datos de la matriz se escriben a la primera hoja de
trabajo en el archivo, empezando la célula A1.
xlswrite (“nombre de fichero”, M, hoja) escribe la matriz M a la hoja especificada de la
hoja de trabajo en el nombre de fichero del archivo. La discusión de la hoja puede ser un
valor escalar positivo, doble que representa el índice de la hoja de trabajo, o una
sentencia protegida que contiene el nombre de la hoja.
Si no existe la hoja, una hoja nueva se agrega en el extremo de la colección de la hoja de
trabajo. Si la hoja es un índice más grande que el número de hojas de trabajo, se añaden
las hojas vacías hasta que el número de hojas de trabajo en el libro de trabajo iguala la
33
hoja. En cualquier caso, MATLAB genera un amonestador indicando que ha agregado
una hoja de trabajo nueva.
xlswrite (“nombre de fichero”, M, “gama”) escribe la matriz M a una región rectangular
especificada por la gama en la primera hoja de trabajo del nombre de fichero del archivo.
Especificar la gama usando uno de los formatos siguientes de la sentencia protegida:
• Una designación de la célula, tal como “D2”, indicar la esquina izquierda
superior de la región para recibir los datos de la matriz.
• Dos designaciones de la célula se separaron por dos puntos, tales como “D2:
H4”, indicar dos esquinas de oposición de la región para recibir los datos de la
matriz. La gama “D2: H4” representa la región rectangular 3 by-5 entre las dos
esquinas D2 y H4 en la hoja de trabajo.
La entrada de la gama no es caso sensible y no utiliza la notación del Excel A1. (Véase la
ayuda en el Excel para más información sobre esta notación.)
El tamaño definido por la gama debe caber el tamaño de M o contener solamente la
primera célula, (e.g., “A2”). Si la gama es más grande que el tamaño de M, el Excel llena
el resto de la región de #N/A. Si la gama es más pequeña que el tamaño de M, sólo el
sub-matriz que cabe en gama se escribe al archivo especificado por nombre de fichero.
El xlswrite (“nombre de fichero”, M, hoja, “gama”) escribe la matriz M a una región
rectangular especificada por la gama en la hoja de la hoja de trabajo del nombre de
fichero del archivo. Ver los dos formatos anteriores de la sintaxis para la explicación adicional
de las entradas de la hoja y de la gama.
Estado = xlswrite (“nombre de fichero”,…) vuelve el estado de terminación de la operación del
escribir en estado. Si el escribir terminado con éxito, estado es igual a 1 lógico (verdad). Si no, el
estado es 0 lógico (falso). A menos que especifiques una salida para el xlswrite, no se exhibe
ningún estado en la ventana del comando.
[estado, mensaje] = xlswrite (“nombre de fichero”,…) vuelve cualquier mensaje de la advertencia
o de error generado por la operación del escribir en el mensaje de la estructura de MATLAB. La
estructura del mensaje tiene dos campos:
• mensaje -- Secuencia que contiene el texto del mensaje de la advertencia o de error
34
• identificador -- Secuencia que contiene el identificador de mensaje para la advertencia o
el error
La gama de la hoja del nombre de fichero M del xlswrite es el formato de comando para el
xlswrite, demostrando su uso con todas las discusiones de la entrada especificadas. Al usar este
formato, debes especificar la hoja como secuencia (por ejemplo, renta o Sheet4). Si el nombre de
la hoja contiene caracteres de espacio, entonces las comillas se requieren alrededor de la secuencia
(por ejemplo, “renta 2002”).
Observar la funcionalidad antedicha depende de tener Microsoft Excel como servidor de
COM. En la ausencia del Excel, la matriz M se escribe como archivo de texto en formato
Coma-Separado del valor (CSV). En este modo, se no hacen caso las discusiones de la
hoja y de la gama.
Ejemplos
Ejemplo 1 -- Escribir datos numéricos a la hoja de trabajo del defecto
Escribir un vector de 7 elementos al archivo testdata.xls del Microsoft Excel. Por el defecto, los
datos son escritos a las células A1 con G1 en la primera hoja de trabajo en el archivo:
• xlswrite (“testdata”, [12.7 5.02 -98 63.9 0 -.2 56])
•
Ejemplo 2 -- Escribir datos mezclados a una hoja de trabajo específica
Este ejemplo escribe el texto mezclado siguiente y los datos numéricos al archivo tempdata.xls:
• d = {“Tiempo”, “temperatura”; 12 98; 13 99; 14 97};
•
Xlswrite de la llamada, especificando la hoja de trabajo etiquetada temperaturas, y la región dentro
de la hoja de trabajo para escribir los datos a. La matriz 4 by-2 será escrita a la región rectangular
que empieza la célula E1 en su esquina izquierda superior:
• s = xlswrite (“tempdata.xls”, d, “temperaturas”, “E1”)
• s =1
35
El estado s de la salida demuestra que la operación del escribir tuvo éxito. Los datos aparecen
como se muestra aquí en el archivo de salida:
• Temperatura 12
• de Tiempo 98
• 13 99
• 14 97
Ejemplo 3 -- Adición de una hoja de trabajo nueva al archivo
Ahora escribir los mismos datos a una hoja de trabajo que todavía no exista en
tempdata.xls. En este caso, MATLAB añade una hoja nueva al libro de trabajo,
llamándola por el nombre que proveíste en la discusión de la entrada de las hojas,
“NewTemp”. MATLAB exhibe un amonestador indicando que ha agregado una hoja de
trabajo nueva al archivo:
• advertencia del xlswrite (“tempdata.xls”, d, “NewTemp”, “E1”): Hoja de
trabajo especificada agregada.
Si no deseas ver estas advertencias, puedes evitarlo usando el comando indicado en el
mensaje arriba:
• cuidado de MATLAB: xlswrite: AddSheet
Ahora intentar el comando otra vez, este vez que crea otra hoja de trabajo nueva,
NewTemp2. Aunque el mensaje no se exhibe este vez, puedes inmóvil recuperar lo y su
identificador de la segunda discusión de la salida, m:
• [mmsg del estado] = xlswrite (“tempdata.xls”, d, “NewTemp2”, “E1”);
• msg= mensaje de los msg: “Agregó la hoja de trabajo especificada.”
identificador: “MATLAB: xlswrite: AddSheet”
36
function xlswrite(varargin);
% xlswrite Easily create an Excel spreadsheet from MATLAB
%
% xlswrite(m,header,colnames,filename) creates a Microsoft Excel spreadsheet using
% the MATLAB ActiveX interface. Microsoft Excel is required.
%
%Inputs:
% m Matrix to write to file
% (Optional):
% header String of header information. Use cell array for multiple lines
% DO NOT USE multiple row character arrays!!
% colnames (Cell array of strings) Column headers. One cell element per column
% filename (string) Name of Excel file. If not specified, contents will
% be opened in Excel.
%
% Modified by A. Sprenger (14.06.2005):
% Write multiple matrizes in one workbook
% xlswrite(m, header, colnames, filename, ...
% m, header, colnames, ...
% m, header, colnames, ...
%
% if header is a string, it is used as a label for the sheet
% if header is a cell array, it is used as a header on the the sheet.
%
% ex:
% m = rand(100,4);
% header = 'my data';
% %header{1} = 'first line'; %This will give
% %header{2} = 'second line'; % 2 header lines
% colnames = {'Ch1','Ch2','Ch3','Ch4'};
%
% xlswrite(m,header,colnames,'myfile.xls');
% will save the spreadsheet as myfile.xls. The user
% will never see Excel
% xlswrite(m,header,colnames);
% will open Excel with these contents in a new spreadsheet.
%
if nargin == 0; errordlg('Error', 'No data available'); return; end
m = varargin{1};
if nargin > 1; header = varargin{2}; else; header = []; end;
if nargin > 2; colnames = varargin{3}; else; colnames = []; end;
if nargin > 3; filename = varargin{4}; end;
% Scott Hirsch
% The MathWorks
% This is provided free, no warranty, ...
37
% Copied from ActiveX example in documentation
[nr,nc] = size(m);
if nc>256
error('Matrix is too large. Excel only supports 256 columns');
end;
% Open Excel, add workbook, change active worksheet,
% get/put array, save.
% First, open an Excel Server.
Excel = actxserver('Excel.Application');
%If the user does not specify a filename, we'll make Excel visible
%If they do, we'll just save the file and quit Excel without ever making
% it visible
if nargin<4
set(Excel, 'Visible', 1); %You might want to hide this if you autosave the file
end;
% Insert a new workbook.
Workbooks = Excel.Workbooks;
Workbook = invoke(Workbooks, 'Add');
% if there are more than 3 sheets to be created, add some sheets
if nargin > 10
for i = 1 : (nargin - 10) / 3
invoke(Excel.ActiveWorkBook.Sheets, 'Add');
end
end
% Make the first sheet active.
Sheets = Excel.ActiveWorkBook.Sheets;
sheet1 = get(Sheets, 'Item', 1);
invoke(sheet1, 'Activate');
% Get a handle to the active sheet.
Activesheet = Excel.Activesheet;
%Write header
if nargin<2 | isempty(header)
nhr=0;
elseif iscell(header)
nhr = length(header); %Number header rows
for ii=1:nhr
ActivesheetRange = get(Activesheet,'Range',['A' num2str(ii)],['A' num2str(ii)]);
set(ActivesheetRange, 'Value', header{ii});
38
end;
else
nhr = 0; %nhr = 1; %Number header rows
%ActivesheetRange = get(Activesheet,'Range','A1','A1');
set(Activesheet, 'Name', header);
%set(ActivesheetRange, 'Value', header);
end;
%Add column names
if nargin>2 & ~isempty(colnames)
nhr = nhr + 1; %One extra column name
ncolnames = length(colnames);
for ii=1:ncolnames
colname = localComputLastCol('A',ii);
% cellname = [char(double('A')+ii-1) num2str(nhr+1)];
cellname = [colname num2str(nhr)];
ActivesheetRange = get(Activesheet,'Range',cellname,cellname);
set(ActivesheetRange, 'Value', colnames{ii});
end;
end;
% Put a MATLAB array into Excel.
FirstRow = nhr+1; %You can change the first data row here. I start right after the headers
LastRow = FirstRow+nr-1;
FirstCol = 'A'; %You can change the first column here
LastCol = localComputLastCol(FirstCol,nc);
ActivesheetRange = get(Activesheet,'Range',[FirstCol num2str(FirstRow)],[LastCol num2str(LastRow)]);
set(ActivesheetRange, 'Value', m);
if nargin > 4
for ii2 = 0 : (nargin - 4) / 3 - 1
m = varargin{ii2 * 3 + 5};
header = varargin{ii2 * 3 + 6};
colnames = varargin{ii2 * 3 + 7};
[nr,nc] = size(m);
sheet1 = get(Sheets, 'Item', ii2 + 2);
invoke(sheet1, 'Activate');
% Get a handle to the active sheet.
Activesheet = Excel.Activesheet;
%Write header
if isempty(header)
nhr=0;
elseif iscell(header)
39
nhr = length(header); %Number header rows
for ii=1:nhr
ActivesheetRange = get(Activesheet,'Range',['A' num2str(ii)],['A' num2str(ii)]);
set(ActivesheetRange, 'Value', header{ii});
end;
else
nhr = 0; %nhr = 1; %Number header rows
%ActivesheetRange = get(Activesheet,'Range','A1','A1');
set(Activesheet, 'Name', header);
%set(ActivesheetRange, 'Value', header);
end;
%Add column names
if ~isempty(colnames)
nhr = nhr + 1; %One extra column name
ncolnames = length(colnames);
for ii=1:ncolnames
colname = localComputLastCol('A',ii);
% cellname = [char(double('A')+ii-1) num2str(nhr+1)];
cellname = [colname num2str(nhr)];
ActivesheetRange = get(Activesheet,'Range',cellname,cellname);
set(ActivesheetRange, 'Value', colnames{ii});
end;
end;
% Put a MATLAB array into Excel.
FirstRow = nhr+1; %You can change the first data row here. I start right after the headers
LastRow = FirstRow+nr-1;
FirstCol = 'A'; %You can change the first column here
LastCol = localComputLastCol(FirstCol,nc);
ActivesheetRange = get(Activesheet,'Range',[FirstCol num2str(FirstRow)],[LastCol num2str(LastRow)]);
set(ActivesheetRange, 'Value', m);
end;
end;
% If user specified a filename, save the file and quit Excel
if nargin > 3
if ~isempty(varargin{4}),
%invoke(Workbook, 'SaveAs', [pwd filesep filename]);
invoke(Workbook, 'SaveAs', filename);
invoke(Excel, 'Quit');
[pathstr,name,ext] = fileparts(filename);
disp(['Excel file ' name '.xls has been created.']);
end;
end;
%Delete the ActiveX object
40
delete(Excel);
function LastCol = localComputLastCol(FirstCol,nc);
% Comput the name of the last column where we will place data
%Input
% FirstCol (string) name of first column
% nc total number of columns to write
%Excel's columns are named:
% A B C ... A AA AB AC AD .... BA BB BC ...
FirstColOffset = double(FirstCol) - double('A'); %Offset from column A
if nc<=26-FirstColOffset %Easy if single letter
%Just convert to ASCII code, add the number of needed columns, and convert back
%to a string
LastCol = char(double(FirstCol)+nc-1);
else
ng = ceil(nc/26); %Number of groups (of 26)
rm = rem(nc,26)+FirstColOffset; %How many extra in this group beyond A
LastColFirstLetter = char(double('A') + ng-2);
LastColSecondLetter = char(double('A') + rm-1);
LastCol = [LastColFirstLetter LastColSecondLetter];
end;
ANEXO 3
41
archivos={'aoa23','aoa24'}; %VECTOR EJEMPLO DEL QUE SE METE
grupos=agrupa(archivos);
n_archivos=length(archivos);
exel=[];
for i=1:n_archivos
%carga cada uno de los archivos
archivo=archivos{i};
k=length(archivo);
iniciales=archivo(1:k-1);
registro=archivo(k);
%carga los valores de RR los vectores de respiracion y movimientos corporales
[RR,resp,movcorp,flag]=cargardatos(registro,iniciales);
FREC=1000; %FRECUENCIA A LA QUE FUE MUESTREADA LA SEÑAL EN LA ADQUISICION
[INSP_MED,STD_INS,FREC_INSP_MED,STD_FREC_INSP,EXP_MED,STD_EXP,FREC_EXP_MED,STD_FREC_EXP,min_apnea,
STD_EPI,EPISODIO]=procesa(resp,FREC,3)
exel(i,1)=i; %ARMA LA MATRIZ QUE SE MANDA A EXEL
exel(i,2)=INSP_MED;
exel(i,3)=STD_INS;
exel(i,4)=FREC_INSP_MED;
exel(i,5)=STD_FREC_INSP;
exel(i,6)=EXP_MED;
exel(i,7)=STD_EXP;
exel(i,8)=FREC_EXP_MED;
exel(i,9)=STD_FREC_EXP;
exel(i,10)=min_apnea;
exel(i,11)=STD_EPI;
exel(i,12)=length(EPISODIO);
end
m =exel;
header = 'RUBI ZUÑIGA'; % This is some introductory information at the top of my spreadsheet.
colnames =
{'NOMBRE','INSP_MED','STD_INS','FREC_INSP_MED','STD_FREC_INSP','EXP_MED','STD_EXP','FREC_EXP_MED','STD_FRE
C_EXP','min_apnea','STD_EPI','NUM_EPI'};
xlswrite(m,header,colnames,'GRUPO1.xls');