Tengo una matriz M=(1000000,12,2,2).

¿Cómo puedo escribir en un archivo para trabajar en el futuro?

save('filename.txt','M','-ASCII')

no parece funcionar…

Saludos,

InformationsquelleAutor HCAI | 2013-03-14

2 Comentarios

  1. 2

    1) como la respuesta de @Shai, puede guardarlo para ser tapete de archivo

    2) si usted quiere guardar a archivo de texto, puedes hacerlo de esta forma:

    clear;clc;
    M=[1000000,12,2,2];
    dlmwrite('a.txt',M); % save M to file--a.txt
    type a.txt; % print content in a.txt
    M = dlmread('a.txt'); % load content of a.txt to M and then you will have 'M=[1000000,12,2,2]'

    3) también se puede usar fopen, fprintf, fclose para guardar una matriz a un archivo. revise este post: Cómo guardar datos en .txt archivo en MATLAB

    4) para el código, lo he comprobado. Funciona. El Matlab versión que tengo es R2011b. por favor, compruebe el código de nuevo. El código que he usado para la prueba es como sigue:

    clear;clc;
    M=[1000000,12,2,2];
    
    save('b.txt','M','-ASCII');
    
    clear;clc;
    M = load('b.txt','-ASCII');
    • Si yo uso load tengo un struct en lugar de una recta hacia adelante de la matriz yo no?
    • nope, lo he comprobado. si la carga es mediante ‘M = load(‘b.txt’,’-ASCII’);’, dará ‘M=[1000000,12,2,2];’ directamente. Si se guardó a ser una estera de archivo y cargarlo usando ‘a=load(‘M. mat’)’, obtendrá un struct. Uno es mat archivo y uno es un archivo txt. Ellos son diferentes.
    • Para este tipo de operación son los beneficios de una sobre la otra?
    • Para la ESTERA de archivo, puede guardar compleja estructura de datos, por ejemplo de estructura de datos. Pero txt archivo no. Mientras tanto, para el archivo txt, es la memoria-eficiente. Por ejemplo, cuando puedo guardar ‘M=[1000000,12,2,2]’ ser txt archivo, el tamaño del archivo es de 66bytes. Pero para la estera de archivo, el tamaño es de 181 bytes.
  2. 4

    ¿Por qué no guardarlo como un tapete de archivo (binario) ?

    save('filename.mat', 'M' );

    después de que usted simplemente cargar

    % some code ...
    M = [];
    load( 'filename.mat' );
    % now you have M
    % code handling multi-dim M
    • Muchas gracias!

Dejar respuesta

Please enter your comment!
Please enter your name here