petroleo

Páginas: 5 (1148 palabras) Publicado: 30 de septiembre de 2014
Tema 8: Tratamiento de datos. Ficheros
1. Introducción
En el tema anterior hemos visto una forma de entrar datos o imprimir resultados
a través de funciones como input o disp. En este tema se estudiarán otras formas de
intercambiar datos entre el Matlab y diversos programas o aplicaciones.
Veremos que Matlab dispone de comandos de entrada y salida que actúan
sobre ficheros y que permitenabrir y cerrar ficheros e importar y exportar datos.

2. Importar y exportar datos
Antes de estudiar opciones más complejas, es interesante comentar que la
opción de copiar y pegar (Copy/Paste) puede ser adecuada en muchos casos. Por
ejemplo, copiar elementos de Excel y depositarlos en Matlab entre corchetes funciona
con frecuencia.
Nota: Esta opción puede generar problemas por ejemplo, segúnse hayan introducido
los números decimales.

2.1. Utilizando el Current Directory
Si tenemos un fichero .txt, .data,... y lo hemos situado en el directorio actual de
trabajo en Matlab, pinchando sobre él con el botón derecho tenemos la opción Import
Data (figura 28). Se abre entonces un menú donde se nos ofrecen posibilidades como
elegir entre varios separadores de columnas. Si todo estácomo queremos la pestaña
Next crea una variable con el nombre del fichero y el contenido del mismo que ya
puede ser usada en la sesión de trabajo (figura 29).
Esta opción de Matlab nos permite trabajar de forma muy simple en caso de
ficheros de datos adecuados.

75

Figura 28

Figura 29

2.2. Comandos

Comandos fopen, fclose y fprintf
Estos comandos sirven para abrir y cerrarficheros.

Para abrir un fichero, se utiliza el siguiente comando:
variable = fopen(‘fichero’,’permiso’) donde:
-

variable es el nombre de la variable que guarda el identificador del fichero.

-

‘fichero’ especifica el nombre externo y la dirección del archivo.

-

‘permiso’ indica el modo de apertura del fichero:
r abre un fichero existente para lectura.

76

r+ abre un ficheroexistente para lectura y escritura.
w crea un fichero nuevo para escritura.
w+ crea un fichero nuevo para lectura y escritura.
Destacar que este comando lo que hace es poner en contacto el programa con
un fichero, no lo visualiza en pantalla. Para trabajar con ficheros lo primero será abrirlo
y lo último cerrarlo.

Para cerrar un fichero se utiliza la función: fclose(fid) que cierra elfichero de
identificador fid y devuelve 1 si el cierre es correcto y 0 si es incorrecto.

Para escribir en un fichero se utiliza el comando: fprintf(fid,’format’,A,….) que
escribe los elementos especificados en A (que en general es una matriz) en el fichero
de identificador fid (previamente abierto) con el formato especificado en ‘format’. Así, la
función fprintf dirige su salida a un ficheroindicado por el indicador.

Formato de datos:
%d Enteros.
%f Reales con punto fijo.
%e Reales con formato exponencial.
%g Utiliza uno de los formatos anteriores; el que dé la mayor precisión en el
menor espacio.
Si se utiliza el comando fprintf(‘format’,A,….) la escritura de datos se realiza en
la pantalla.

Ejemplo:
Creamos un fichero ASCII de nombre “resultados” que contiene los valoresde la
función exponencial para valores de la variable entre 0 y 1 separados una décima y lo
representamos en la pantalla.
>>x=0:.1:1
>>y=[x;exp(x)];
>>fid=fopen(‘resultado.txt’,’w’);
>> fprintf(fid,’%6.2f

%12.8f \n’, y);

Este programa escribiría en el fichero resultado.txt los siguientes valores:
0.00

1.00000000

0.10

1.10517092

0.20

1.22140276

0.30

1.3498588177

........
1.00

2.71828183

Comando fscanf
La lectura de datos a partir de un fichero ASCII se realiza mediante los
comandos:
[A,cont]=fscanf(fid,’formato’) que lee datos con el formato especificado del
fichero abierto con el identificador fid, en un vector columna de nombre A. cont
es el número de datos leídos.
[A,cont]=fscanf(fid,’formato’,size) que lee datos con el formato...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Petroleo
  • Petroleo
  • Petroleo
  • Petroleo
  • Petroleo
  • Petroleo
  • Petroleos
  • petroleo

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS