En este módulo, aprenderemos cómo manejar archivos en MATLAB, lo cual es esencial para leer datos de archivos externos y guardar resultados de nuestras operaciones. Este conocimiento es crucial para trabajar con grandes conjuntos de datos y para la automatización de tareas.

Contenido

Lectura de Archivos

MATLAB proporciona varias funciones para leer archivos de diferentes formatos. Aquí cubriremos las funciones más comunes.

fopen y fclose

Estas funciones se utilizan para abrir y cerrar archivos.

fileID = fopen('data.txt', 'r'); % Abre el archivo en modo lectura
% ... operaciones de lectura ...
fclose(fileID); % Cierra el archivo

fscanf

Lee datos formateados de un archivo.

fileID = fopen('data.txt', 'r');
data = fscanf(fileID, '%f'); % Lee datos como números de punto flotante
fclose(fileID);

textscan

Lee datos formateados de un archivo en un formato más flexible.

fileID = fopen('data.txt', 'r');
data = textscan(fileID, '%f %f %s'); % Lee dos columnas de números y una de texto
fclose(fileID);

readtable

Lee datos tabulares de un archivo y los almacena en una tabla.

data = readtable('data.csv');

Escritura de Archivos

MATLAB también proporciona funciones para escribir datos en archivos.

fopen y fclose

Al igual que en la lectura, estas funciones se utilizan para abrir y cerrar archivos.

fileID = fopen('output.txt', 'w'); % Abre el archivo en modo escritura
% ... operaciones de escritura ...
fclose(fileID); % Cierra el archivo

fprintf

Escribe datos formateados en un archivo.

fileID = fopen('output.txt', 'w');
fprintf(fileID, 'El valor es: %f\n', 3.14159);
fclose(fileID);

writetable

Escribe una tabla en un archivo.

data = table([1; 2; 3], [4; 5; 6], 'VariableNames', {'A', 'B'});
writetable(data, 'output.csv');

Formatos de Archivos Comunes

Archivos de Texto

  • Extensión: .txt
  • Uso: Almacenar datos en formato de texto plano.
  • Funciones: fopen, fclose, fscanf, fprintf, textscan

Archivos CSV

  • Extensión: .csv
  • Uso: Almacenar datos tabulares en formato de texto separado por comas.
  • Funciones: readtable, writetable

Archivos MAT

  • Extensión: .mat
  • Uso: Almacenar variables de MATLAB.
  • Funciones: save, load
% Guardar variables en un archivo MAT
a = 1;
b = [1, 2, 3];
save('data.mat', 'a', 'b');

% Cargar variables desde un archivo MAT
load('data.mat');

Ejemplos Prácticos

Ejemplo 1: Leer un archivo de texto

fileID = fopen('data.txt', 'r');
data = fscanf(fileID, '%f');
fclose(fileID);
disp(data);

Ejemplo 2: Escribir en un archivo de texto

fileID = fopen('output.txt', 'w');
fprintf(fileID, 'El valor es: %f\n', 3.14159);
fclose(fileID);

Ejemplo 3: Leer un archivo CSV

data = readtable('data.csv');
disp(data);

Ejemplo 4: Escribir en un archivo CSV

data = table([1; 2; 3], [4; 5; 6], 'VariableNames', {'A', 'B'});
writetable(data, 'output.csv');

Ejercicios

Ejercicio 1: Leer y Mostrar Datos de un Archivo de Texto

  1. Crea un archivo de texto llamado numbers.txt con los siguientes contenidos:
    1.1
    2.2
    3.3
    4.4
    5.5
    
  2. Escribe un script en MATLAB que lea los números del archivo y los muestre en la consola.

Solución:

fileID = fopen('numbers.txt', 'r');
numbers = fscanf(fileID, '%f');
fclose(fileID);
disp(numbers);

Ejercicio 2: Escribir Datos en un Archivo CSV

  1. Crea una tabla en MATLAB con dos columnas: X y Y, donde X contiene los números del 1 al 5 y Y contiene los cuadrados de esos números.
  2. Guarda la tabla en un archivo CSV llamado squares.csv.

Solución:

X = (1:5)';
Y = X.^2;
data = table(X, Y, 'VariableNames', {'X', 'Y'});
writetable(data, 'squares.csv');

Conclusión

En esta sección, hemos aprendido cómo manejar archivos en MATLAB, incluyendo la lectura y escritura de archivos de texto y CSV, así como el uso de archivos MAT para almacenar variables de MATLAB. Estos conocimientos son fundamentales para trabajar con datos externos y para la automatización de tareas en MATLAB. En el próximo módulo, exploraremos cómo manejar grandes conjuntos de datos y técnicas avanzadas de optimización.

© Copyright 2024. Todos los derechos reservados