Documentation

Esta página fue traducida utilizando traducción automática. Vea la versión original en inglés de esta página.

save

Guardar variables del espacio de trabajo en un archivo

Syntax

save(filename)
save(filename,variables)
save(filename,variables,fmt)
save(filename,variables,version)
save(filename,variables,version,'-nocompression')
save(filename,variables,'-append')
save(filename,variables,'-append','-nocompression')
save filename

Description

example

save(filename) guarda todas las variables del espacio de trabajo actual en un archivo binario con formato de MATLAB® (archivo MAT) denominado filename. Si filename existe, save sobrescribe el archivo.

example

save(filename,variables) guarda solo las variables o los campos de un array de estructura especificados por variables.

example

save(filename,variables,fmt) guarda con el formato de archivo especificado por fmt. El argumento variables es opcional. Si no especifica variables, la función save guarda todas las variables en el espacio de trabajo.

example

save(filename,variables,version) guarda en la versión de archivo MAT especificada por version. El argumento variables es opcional.

example

save(filename,variables,version,'-nocompression') guarda las variables en el archivo MAT sin comprimir. El indicador '-nocompression' solo admite la versión 7.3 del archivo MAT. Por lo tanto, debe especificar version como '-v7.3'. El argumento variables es opcional.

example

save(filename,variables,'-append') agrega nuevas variables a un archivo existente. Si una variable ya existe en un archivo MAT, save lo sobrescribe con el valor del espacio de trabajo.

Para los archivos ASCII, '-append' agrega datos al final del archivo.

Para anexar a un archivo MAT de la versión 6, también debe incluir '-v6' como argumento de entrada.

example

save(filename,variables,'-append','-nocompression') agrega nuevas variables a un archivo existente sin comprimir. El archivo existente debe ser un archivo MAT de la versión 7.3.

example

save filename es la forma del comando de la sintaxis. La forma de comando requiere menos caracteres especiales. No es necesario escribir paréntesis ni entrecomillar la entrada con comillas simples o dobles. Separe las entradas con espacios en lugar de comas.

Por ejemplo, para guardar un archivo denominado test.mat, estas instrucciones son equivalentes:

save test.mat      % command form
save('test.mat')   % function form

Puede incluir cualquiera de las entradas descritas en las sintaxis anteriores. Por ejemplo, para guardar la variable denominada X:

save test.mat X       % command form
save('test.mat','X')  % function form

No utilice la forma de comando cuando algunas de las entradas, como filename, sean variables.

Examples

collapse all

Guarde todas las variables del espacio de trabajo en un archivo MAT binario, test.mat. Si filename es una variable, utilice la sintaxis de función.

filename = 'test.mat';
save(filename)

De lo contrario, también puede utilizar la sintaxis de comando.

save test.mat

Quite las variables del espacio de trabajo y, a continuación, recupere los datos con la función load.

clear
load('test.mat')

Cree y guarde dos variables, p y q, en un archivo denominado pqfile.mat.

p = rand(1,10);
q = ones(10);
save('pqfile.mat','p','q')

MATLAB® guarda las variables en el archivo, pqfile.mat, en la carpeta actual.

También puede utilizar la sintaxis de comando para guardar las variables, p y q.

save pqfile.mat p q

Cree dos variables, guárdelas en un archivo ASCII y, a continuación, visualice el contenido del archivo.

p = rand(1,10);
q = ones(10);
save('pqfile.txt','p','q','-ascii')
type('pqfile.txt')

La función type muestra el contenido del archivo.

Como alternativa, utilice la sintaxis de comando para la operación save.

save pqfile.txt p q -ascii

Cree una estructura, s1, que contenga tres campos, a, b y c.

s1.a = 12.7;
s1.b = {'abc',[4 5; 6 7]};
s1.c = 'Hello!';

Guarde los campos de la estructura s1 como variables individuales en un archivo denominado newstruct.mat.

save('newstruct.mat','-struct','s1');

Compruebe el contenido del archivo mediante la función whos.

disp('Contents of newstruct.mat:')
Contents of newstruct.mat:
whos('-file','newstruct.mat')
  Name      Size            Bytes  Class     Attributes

  a         1x1                 8  double              
  b         1x2               262  cell                
  c         1x6                12  char                

Cree dos variables y guárdelas en un archivo MAT de la versión 7.3 denominado example.mat.

A = rand(5);
B = magic(10);
save('example.mat','A','B','-v7.3')

También puede utilizar la sintaxis de comando para la operación save.

save example.mat A B -v7.3

Cree dos variables y guárdelas, sin compresión, en un archivo MAT de la versión 7.3 denominado myFile.mat.

A = rand(5);
B = magic(10);
save('myFile.mat','A','B','-v7.3','-nocompression')

Como alternativa, utilice la sintaxis de comando para la operación save.

save myFile.mat A B -v7.3 -nocompression

El indicador '-nocompression' facilita un almacenamiento más rápido para aquellas variables que superan los 2 GB o aquellas que no se benefician de la compresión.

Guarde dos variables en un archivo MAT. A continuación, añada una tercera variable al mismo archivo.

p = rand(1,10);
q = ones(10);
save('test.mat','p','q')

Visualice el contenido del archivo MAT.

whos('-file','test.mat')
  Name       Size            Bytes  Class     Attributes

  p          1x10               80  double              
  q         10x10              800  double              

Cree una nueva variable, a, y anéxela al archivo MAT.

a = 50;
save('test.mat','a','-append')

Visualice el contenido del archivo MAT.

whos('-file','test.mat')
  Name       Size            Bytes  Class     Attributes

  a          1x1                 8  double              
  p          1x10               80  double              
  q         10x10              800  double              

La variable, a, se anexa a test.mat sin sobrescribir las variables anteriores, p y q.

Note

Para anexar en un archivo MAT de la versión 6, especifique '-v6' y '-append'. Por ejemplo, para guardar la variable a en el archivo, test.mat, realice esta llamada:

save('test.mat','a','-v6','-append')

Guarde dos variables en un archivo MAT. A continuación, anexe una tercera variable, sin compresión, al mismo archivo.

Cree dos variables A y B, y guárdelas en un archivo MAT de la versión 7.3. De forma predeterminada, la función save comprime las variables A y B antes de guardarlas en myFile.mat.

A = rand(5);
B = magic(10);
save('myFile.mat','A','B','-v7.3')

Visualice el contenido del archivo MAT.

whos('-file','myFile.mat')
  Name       Size            Bytes  Class     Attributes

  A          5x5               200  double              
  B         10x10              800  double              

Cree una nueva variable C y anéxela, sin compresión, a myFile.mat.

C = 5;
save('myFile.mat','C','-append','-nocompression')

Visualice el contenido del archivo MAT.

whos('-file','myFile.mat')
  Name       Size            Bytes  Class     Attributes

  A          5x5               200  double              
  B         10x10              800  double              
  C          1x1                 8  double              

Input Arguments

collapse all

Nombre del archivo, especificado como cadena o vector de caracteres. Si no especifica filename, la función save guarda en un archivo denominado matlab.mat.

Si filename no tiene ninguna extensión (es decir, no tiene un punto seguido de texto) y el valor de format no se especifica, entonces MATLAB anexa .mat. Si filename no incluye una ruta de acceso completa, MATLAB guarda en la carpeta actual. Debe tener permiso para escribir en el archivo.

Cuando se utiliza la forma de comando de save, no es necesario rodear la entrada con comillas simples o dobles. Sin embargo, si filename contiene un espacio, debe incluir el argumento entre comillas simples. Por ejemplo, save 'filename withspace.mat'.

Example: 'myFile.mat'

Data Types: char | string

Nombres de variables que guardar, especificados como uno o más vectores de caracteres o cadenas. Cuando se utiliza la forma de comando de save, no es necesario rodear la entrada con comillas simples o dobles. variables puede estar en una de las siguientes formas.

Forma de entrada de variablesVariables que guardar
var1,...,varNGuarde las variables enumeradas, especificadas como cadenas o vectores de caracteres individuales.
Utilice el comodín '*' para la coincidencia con patrones. Por ejemplo, save('filename.mat','A*') guarda todas las variables del archivo que comienzan con A.
'-regexp',expr1,...,exprNGuarde solo las variables cuyos nombres coincidan con las expresiones regulares, especificadas como cadenas o vectores de caracteres. Por ejemplo, save('filename.mat','-regexp','^Mon','^Tues') guarda solo las variables del archivo cuyos nombres comienzan con Mon o Tues.
'-struct',structName Almacene los campos de la estructura escalar especificada por structName como variables individuales en el archivo. Por ejemplo, save('filename.mat','-struct','S') guarda la estructura escalar, S.
'-struct',structName,field1,...,fieldNAlmacene los campos especificados de la estructura escalar especificada como variables individuales en el archivo. Por ejemplo, save('filename.mat,'-struct','S','a','b') guarda los campos S.a y S.b.
'-struct',structName,'-regexp',expr1,...,exprNAlmacene solo los campos cuyos nombres coincidan con las expresiones regulares, especificadas como cadenas o vectores de caracteres.

Data Types: char | string

Formato de archivo, especificado como uno de los siguientes. Cuando se utiliza la forma de comando de save, no es necesario rodear la entrada con comillas simples o dobles, por ejemplo, save myFile.txt -ascii -tabs.

Valor de fmtFormato de archivo
'-mat'

Formato de archivo MAT binario.

'-ascii'

Formato de texto con 8 dígitos de precisión.

'-ascii','-tabs'

Formato de texto delimitado por tabuladores con 8 dígitos de precisión.

'-ascii','-double'

Formato de texto con 16 dígitos de precisión.

'-ascii','-double','-tabs'

Formato de texto delimitado por tabuladores con 16 dígitos de precisión.

Para los archivos MAT, los datos guardados en una máquina y cargados en otra máquina conservan la mayor parte de la precisión y el rango que permiten los diferentes formatos en punto flotante de la máquina.

Utilice uno de los formatos de texto para guardar los valores numéricos de MATLAB en archivos de texto. En este caso:

  • Cada variable debe ser un array double de dos dimensiones.

  • La salida incluye solo el componente real de números complejos.

  • MATLAB escribe los datos de cada variable secuencialmente en el archivo. Si piensa utilizar la función load para leer el archivo, todas las variables deben tener el mismo número de columnas. La función load crea una única variable a partir del archivo.

Si especifica un formato de texto y cualquiera de las variables es un array de caracteres de dos dimensiones, MATLAB convierte los caracteres a sus correspondientes códigos ASCII internos. Por ejemplo, 'abc' aparece en un archivo de texto como:

  9.7000000e+001  9.8000000e+001  9.9000000e+001

Data Types: char | string

Versión del archivo MAT, especificada como una de las siguientes. Cuando se utiliza la forma de comando de save, no es necesario rodear la entrada con comillas simples o dobles.

Valor de versionSe carga en las versiones de MATLABCaracterísticas admitidasCompresiónTamaño máximo de cada variable
'-v7.3'7.3 (R2006b) o posterior

Guardar y cargar partes de variables, y todas las características de la versión 7. La versión 7.3 también permite guardar variables sin compresión mediante la opción '-nocompression'.

Sí (de forma predeterminada)≥ 2 GB en ordenadores de 64 bits
'-v7'7.0 (R14) o posterior

Codificación de caracteres Unicode®, que permite compartir archivos entre sistemas que utilizan diferentes esquemas de codificación de caracteres predeterminados y todas las características de la versión 6.

2^31 bytes por variable
'-v6'5 (R8) o posterior

Arrays n-dimensionales, arrays de celdas, arrays de estructura, nombres de variables de más de 19 caracteres y todas las características de la versión 4.

No2^31 bytes por variable
'-v4'Todas

double de dos dimensiones y arrays de caracteres y dispersos.

No100 millones de elementos por array y 2^31 bytes por variable

Si algún elemento de datos requiere características que la versión especificada no admite, MATLAB no guarda esos elementos y emite una advertencia. No puede especificar una versión posterior a la versión actual del software de MATLAB.

Note

Los archivos MAT de la versión 7.3 utilizan un formato basado en HDF5 que requiere un cierto almacenamiento de carga para describir el contenido del archivo. En el caso de los arrays de celdas, los arrays de estructura u otros contenedores que pueden almacenar tipos de datos heterogéneos, los archivos MAT de la versión 7.3 son a veces más grandes que los de la versión 7.

Para ver o establecer la versión predeterminada de los archivos MAT, seleccione la opción MAT-file save format (Formato de almacenamiento de archivo MAT) en las preferencias generales.

Tips

  • Para obtener mayor flexibilidad en la creación de archivos ASCII, utilice dlmwrite o fprintf.

  • Guardar objetos gráficos con la función save puede dar lugar a un archivo grande, ya que el archivo contiene toda la información necesaria para regenerar el objeto.

  • Evite guardar las figuras con la función save. En su lugar, utilice la función savefig. El uso de save para guardar una figura en la versión R2014b o posterior hace que el archivo MAT resulte inaccesible en versiones anteriores de MATLAB. Si utiliza save para guardar una figura, la función muestra un mensaje de advertencia. Elimine cualquier figura antes de utilizar save. Tenga en cuenta que las figuras pueden no estar directamente en su espacio de trabajo. Por ejemplo, podrían estar almacenadas en una estructura o en el espacio de trabajo de una función de devolución de llamada.

Introduced before R2006a