Almacenamiento de datos en archivo con Matlab

Permítanme explicarles cómo guardar datos en un archivo usando Matlab y la manera de recargarlos posteriormente en la memoria.

¿Por qué es importante guardar datos? Al cerrar Matlab, se pierde toda la información almacenada en la memoria RAM correspondiente a su espacio de trabajo. Guardando estos datos en un archivo en el disco duro, se pueden recuperar fácilmente en una próxima sesión en Matlab. Esto ahorra la necesidad de reintroducir la información manualmente.

Procedimiento para guardar datos en un archivo

A continuación, les presento un ejemplo práctico.

Imaginen que tienen tres arreglos denominados M1, M2 y M3. Se generan en memoria con los siguientes comandos:

>> M1=[1 2 3; 4 5 6];
>> M2=[7 8 ; 9 1];
>> M3 = [ 3 4; 5 6; 8 9];

Para conservar todos los datos de su espacio de trabajo, empleen el comando "save", seguido del nombre del archivo deseado, de esta forma:

>> save filename.mat

Luego, pueden limpiar los datos del espacio de trabajo con el comando "clear" o cerrando y reabriendo Matlab.

>> clear

Al hacer esto, se borrará toda la información en la memoria y el espacio de trabajo de Matlab se reiniciará. Si intentan acceder a la matriz M1, Matlab no la reconocerá y mostrará un error. 

>> M1
Función o variable 'M1' no reconocida.

Para recargar los datos en la memoria, utilicen el comando "load" seguido del nombre del archivo:

>> load filename.mat

Este comando reintegrará los datos del archivo a su espacio de trabajo.

Al teclear nuevamente "M1", Matlab localizará la matriz en la memoria y mostrará su contenido.

>> M1
M1 =
1 2 3
4 5 6

Nota. En estos ejemplos hemos guardado matrices numéricas. Matlab permite guardar datos de diversos tipos: números, cadenas de texto, caracteres, imágenes y más.

Guardar objetos específicos

Es posible también guardar únicamente ciertos objetos de su espacio de trabajo. Para ello, deben especificar los objetos a conservar, como se muestra a continuación:

>> save filename2.mat M1

De esta manera, solo se almacenará la matriz M1 en el archivo "filename2.mat".

Para guardar M1 y M2 juntos, pueden emplear esta sintaxis:

>> save filename3.mat M1 M2

Como alternativa, esta otra sintaxis es igualmente válida: 

>> save("filename3.mat", "M1", "M2")

Nota. Para añadir más objetos al archivo, simplemente inclúyanlos al final del comando. Por ejemplo, para guardar los tres arreglos, escribirían save filename3.mat M1 M2 M3 o save("filename3.mat", "M1", "M2", "M3").

Además, pueden guardar todos los objetos que comiencen con una letra específica utilizando el carácter especial *.

Por ejemplo, para guardar objetos que empiecen con la letra M, escriban save filename3.mat M*.

>> save filename3.mat M*

Para cargar los datos en la memoria, empleen el comando load:

load nomefile2.mat

Cargar un objeto específico en la memoria

En ocasiones, cuando se tienen numerosos objetos almacenados en un archivo, puede ser necesario utilizar solo uno de ellos.

Matlab ofrece la posibilidad de cargar selectivamente el objeto requerido, sin necesidad de cargar el resto.

¿Y por qué es esto relevante? Cargar datos innecesarios consume espacio en la memoria del ordenador. Al cargar únicamente los datos requeridos, se utiliza menos memoria RAM, permitiendo que el computador funcione de manera más eficiente.

Para cargar un solo objeto, basta con indicar su nombre tras el del archivo. Por ejemplo, si guardaron las matrices M1, M2 y M3 en el archivo "filename.mat", para cargar solo la matriz M1, deberán escribir load filename.mat M1.

>> load filename.mat M1

Matlab abrirá el archivo y cargará solamente la matriz M1 en la memoria, omitiendo las demás.

Para cargar M1 y M2, escriban load filename.mat M1 M2.

>> load filename.mat M1 M2

En este caso, Matlab cargará las matrices M1 y M2, pero no la M3.

De forma alternativa, pueden utilizar la siguiente sintaxis de carga, que ofrece el mismo resultado: "load('filename.mat','M1','M2')".

>> load("filename.mat","M1","M2")

Para cargar tres o más objetos, simplemente añadan los objetos deseados al final del comando. Por ejemplo, para cargar tres matrices, escribirían load filename.mat M1 M2 M3.

También es posible cargar todos los objetos que empiecen con una letra determinada.

Por ejemplo, para cargar objetos que inicien con la letra M, escriban load filename.mat M*.

>> load filename.mat M*

Guardado de datos en formato binario

Matlab también les permite guardar datos en un archivo en formato binario.

Para guardar en formato binario, usen la instrucción "save" con la opción "-mat".

>> save -mat filename4.mat

Para cargar los datos de un archivo binario en la memoria, utilicen la instrucción "load".

>> load nomefile4.mat

¿Cuál es la utilidad de guardar datos en formato binario?

Este formato resulta especialmente útil cuando se desean procesar datos de Matlab con otros softwares.

Otras opciones de guardado

El comando "save" de Matlab ofrece también otras opciones útiles, como:

  • -append
    para agregar datos a un archivo existente sin eliminar los datos previos
  • -nocompression
    para guardar datos sin compresión
  • -ascii
    para guardar datos en formato de texto ASCII
  • -mat
    para guardar datos en formato binario
  • -struct
    para guardar datos de una estructura.

Para utilizar varias opciones en el comando "save", empleen la siguiente sintaxis: "save('-option1', ..., 'file', 'v1', ...)".

save ("-option1", ..., "file", "v1", ...)

Para conocer todas las opciones disponibles del comando "save", escriban "help save" en la línea de comandos.

>> help save

 
 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin

Archivos de Matlab

Lectura y escritura