web-dev-qa-db-fra.com

Comment enregistrer le contenu de la fenêtre de commande de MATLAB dans un fichier?

Je veux tout enregistrer dans la "fenêtre de commande" dans un fichier automatiquement. Y a-t-il un moyen de le faire?

19
Mohammad Moghimi

Vous avez quelques options disponibles pour enregistrer du contenu à partir de la fenêtre de commande:

  • Vous pouvez le faire en utilisant la commande DIARY . Vous pouvez même automatiser cela afin qu'il enregistre toujours ce que vous faites en modifiant votre startup.m fichier pour activer la journalisation du texte:

    diary('myTextLog.txt');  %# Text will be appended if this file already exists
    

    Et puis modifiez votre finish.m fichier pour désactiver la journalisation:

    diary('off');
    

    Cela stockera automatiquement l'intégralité du contenu textuel de la fenêtre de commande pour chaque session MATLAB, qui pourrait devenir un fichier texte assez volumineux.

  • Une autre option en plus d'utiliser la commande DIARY et de modifier votre startup.m et finish.m fichiers consiste à démarrer MATLAB en utilisant -logfile option :

    matlab -logfile "myTextLog.txt"
    

    Bien que je ne sois pas sûr que cela écrasera le fichier texte ou s’y ajoutera à chaque démarrage de MATLAB.

  • Si vous souhaitez simplement enregistrer la sortie de l'évaluation d'une ou plusieurs expressions, vous pouvez utiliser la fonction EVALC pour évaluer une chaîne contenant votre expression et capturer le sortie qui irait normalement à la fenêtre de commande dans un tableau de caractères. Vous pouvez ensuite imprimer ce tableau de caractères dans un fichier en utilisant FPRINTF .

  • Enfin, si vous n'êtes pas intéressé à enregistrer la sortie affichée des commandes que vous tapez, mais que vous souhaitez simplement stocker la les commandes elles-mêmes, alors Historique des commandes est ce que vous voulez. MATLAB stocke automatiquement un history.m fichier d'une taille maximale de 200 000 octets, supprimant les entrées les plus anciennes lorsque de nouvelles sont ajoutées.

25
gnovice