You are on page 1of 15

Contenido

Fopen, fclose, fscanf, fread, etc. ........................................................................................3


Importacin y exportacin de datos ..............................................................................10
Sesin 5: Tratamiento de
archivo de datos

Fopen, fclose, fscanf, fread, etc.

En la sesin 3 de este nivel (Argumentos de entrada y salida)


vimos una forma de entrar datos o imprimir resultados a travs
de funciones como fprintf, disp, display, input y sprintf.

En esta sesin se conocern otras formas de intercambiar


datos entre el Matlab y diversos programas o aplicaciones.

Veremos que Matlab dispone de comandos de entrada y


salida que actan sobre ficheros y que permiten abrir y cerrar
ficheros e importar y exportar datos.

Fopen:

Sirve para abrir archivos, su sintaxis es la siguiente:

[fid,texto] = fopen(filename', c)

donde fid es un valor de retorno que sirve como identificador


del fichero, texto es un mensaje para caso de que se produzca
un error, y c es un carcter (o dos) que indica el tipo de
operacin que se desea realizar.

Las opciones ms importantes son las siguientes:


Caracter Funcin
r Abre archivo para lectura.
r+ Abre archivo para lectura y escritura.
w Borra el contenido del archivo
existente o crea un nuevo archivo y
lo abre para escritura.
w+ Idntico a w nicamente que el
archivo se abre para lectura y
escritura.
a Crea y abre un nuevo archivo o abre
un archivo.
a+ Idntico que a nicamente que el
archivo es abierto para lectura y
escritura.

Cuando por alguna razn el fichero no puede ser abierto, se


devuelve un (-1). En este caso el valor de retorno texto puede
proporcionar informacin sobre el tipo de error que se ha
producido.

Fclose:

La funcin fclose sirve para cerrar los archivos que hemos


creado o lo que hemos abierto para la escritura.

Despus de realizar las operaciones de lectura y escritura


deseadas, el fichero se puede cerrar con la funcin fclose en
la forma siguiente:

st = fclose(fid)

donde st es un valor de retorno para posibles condiciones de


error. Si se quieren cerrar a la vez todos los ficheros abiertos
puede utilizarse el comando:

st = fclose('all')
Para abrir el archivo en excel:
Luego nos sale una ventana en la cual debemos presionar S.

Con lo cual se abre nuestro archivo de excel

Fscanf:

Sintaxis:

[A, cont]=fscan(fid,cadena de control, tamao)

Lee datos con el formato especificado del fichero abierto con


el identificador fid (devuelto por la funcin fopen), y los escribe
en A, cont es el nmero de datos ledos; tamao es un
argumento opcional que puede indicar el tamao del vector
o matriz a leer. La cadena de control va encerrada entre
comillas simples, y contiene los especificadores de formato
para las variables:
Cadena de Especificacin
control
%s para cadenas de caracteres.
%d para variables enteras.
%f para variables de punto flotante.

Ejemplo:

Dado el siguiente archivo datos.txt, que se encuentra en el


current folder. Leer su contenido de variables enteras.
Nota: Si deseamos leer nuevamente el mismo fichero,
debemos rebobinarlo pues de lo contrario se llevara a error.
Para ello usamos frewind.
Fread:

Lee un archivo abierto con una precisin indicada

Sintaxis:

A=fread(fid), lee todos los datos en el formato binario del


archivo especificado por fid y lo guarda en el vector A.

A=fread(fid,tamao), lee el nmero de elementos especificado


por tamao del archivo especificado por fid

Las funciones fread y fwrite son anlogas a fscanf y fprintf, pero


en vez de escribir en un fichero de texto (ASCII), lo hacen en un
fichero binario que no es legible directamente por el usuario.
Aunque dichos ficheros no se pueden leer y/o modificar con
un editor de texto, tienen la ventaja de que las operaciones de
lectura y escritura son mucho ms rpidas, eficientes y precisas.
Importacin y exportacin de datos

Importar datos de otras aplicaciones

Existen varias formas de pasar datos de otras aplicaciones


como por ejemplo de Excel a MATLAB. Podemos enumerar las
siguientes:

Podemos crear un fichero *.m con un editor de textos.

Podemos utilizar el Copiar y Pegar para copiar datos de la


aplicacin original y depositarlos entre los corchetes de una
matriz o vector, en una lnea de comandos de MATLAB.
Podemos leer un flat file escrito con caracteres ASCII. Un flat
file es un fichero con filas de longitud constante separadas con
Intro, y varios datos por fila separados por blancos. Estos
ficheros pueden ser ledos desde MATLAB con el comando
load. Si se ejecuta load datos.txt el contenido del flat file se
deposita en una matriz con el nombre datos. Por ejemplo,
creando un fichero llamado flat.txt que contenga las lneas:

El comando A=load('flat.txt') leer estos valores y los asignar


a la matriz A.
- Utilizando el Current Folder

Si tenemos un fichero .txt, .data,... y lo hemos situado en el


directorio actual de trabajo en Matlab, pinchando sobre l
con el botn derecho tenemos la opcin Import Data.

Luego nos sale una ventana, como se muestra a continuacin


Escogemos entre las opciones brindadas para importar y
presionamos el botn import selection, luego las variables
sern importadas al workspace de Matlab.
Exportar datos a otras aplicaciones:

Los resultados de MATLAB se pueden exportar a otras


aplicaciones como Word o Excel. Vemos algunas formas:

Utilizar las funciones fopen, fwrite. Estas funciones son


anlogas a fscanf y fprintf, pero en vez de leer o escribir en un
fichero de texto (ASCII), lo hacen en un fichero binario, no
legible directamente por el usuario. Aunque dichos ficheros no
se pueden leer y/o modificar con un editor de textos, tienen la
ventaja de que las operaciones de lectura y escritura son
mucho ms rpidas, eficientes y precisas (no se pierden
decimales al escribir). Esto es particularmente significativo para
grandes ficheros de datos.

La funcin diary crea un registro de entrada del teclado y la


salida de texto resultante, con algunas excepciones. La salida
del diary es un archivo ASCII, adecuado para la bsqueda de,
impresin, la inclusin en la mayora de los informes y otros
documentos. Si no especifica el nombre de archivo, el software
MATLAB crea un archivo llamado diary en la carpeta actual.

El comando diary off suspende la ejecucin de diary y diary on


la reanuda. El simple comando diary pasa de on a off y
viceversa. Para poder acceder al fichero filename.txt con
block de notas o Word es necesario que diary est en off.
Luego abrimos el documento trabajo.doc que hemos creado
y se encontrara las sentencias ejecutadas con diary.

You might also like