English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
L'exportation de données (ou la sortie) en MATLAB signifie écrire dans un fichier. MATLAB vous permet d'utiliser vos données dans une application de lecture de fichiers ASCII. À cette fin, MATLAB fournit plusieurs options d'exportation de données.
Vous pouvez créer les types de fichiers suivants-
Fichier de données ASCII séparées et rectangles dans un tableau.
Fichier journal (ou journal) des frappes de touches et les sorties de texte des résultats.
Fichier ASCII spécial utilisé avec des fonctions de bas niveau (comme fprintf).
Fichier MEX, utilisé pour accéder aux fichiers textes écrits dans un format de fichier spécifique. / C ++或Fortran例程。
除此之外,您还可以将数据导出到电子表格。
有两种方法可以将数字数组导出为定界的ASCII数据文件-
使用save函数并指定-ascii限定符
使用dlmwrite函数
使用save函数的语法是-
save my_data.out num_array -ascii
其中,my_data.out是创建的带分隔符的ASCII数据文件,num_array是数字数组,并且 −ascii是说明符。
使用dlmwrite函数的语法是-
dlmwrite('my_data.out', num_array, 'dlm_char')
其中,my_data.out是创建的带分隔符的ASCII数据文件,num_array是数字数组, dlm_char是分隔符。
下面的示例演示了该概念。创建一个脚本文件并输入以下代码-
num_array = [ 1 2 3 4 ; 4 5 6 7; 7 8 9 0]; save array_data1.out num_array -ascii; type array_data1.out dlmwrite('array_data2.out', num_array, ' '); type array_data2.out
Lorsque le fichier est exécuté, il affiche le résultat suivant-
1.0000000e+00 2.0000000e+00 3.0000000e+00 4.0000000e+00 4.0000000e+00 5.0000000e+00 6.0000000e+00 7.0000000e+00 7.0000000e+00 8.0000000e+00 9.0000000e+00 0.0000000e+00 1 2 3 4 4 5 6 7 7 8 9 0
请注意,save -ascii命令和dlmwrite函数不适用于作为输入的单元格数组。要从单元格数组的内容创建定界的ASCII文件,您可以
使用cell2mat函数将单元格数组转换为矩阵
或使用底层文件I / O功能导出单元数组。
如果使用save函数将字符数组写入ASCII文件,则它将等效于字符的ASCII写入文件。
例如,让我们将单词“hello”写入文件中-
h = 'hello'; savetextdata.outh -ascii type textdata.out
MATLAB执行以上语句并显示以下结果。这是8位ASCII格式的字符串“hello”的字符。
1.0400000e+02 1.0100000e+02 1.0800000e+02 1.0800000e+02 1.1100000e+02
日记文件是您的MATLAB会话的活动日志。日记功能可以在磁盘文件中创建会话的精确副本,但不包括图形。
要打开日记函数,请输入-
diary
(可选)您可以提供日志文件的名称,例如-
diary logdata.out
关闭日记函数-
diary off
您可以在文本编辑器中打开日记文件。
Jusqu'à présent, nous avons exporté des tableaux numériques. Cependant, vous pourriez avoir besoin de créer d'autres fichiers texte, y compris des combinaisons de données numériques et de caractères, des fichiers de sortie non rectangulaires ou des fichiers avec des systèmes de codage non ASCII. À cette fin, MATLAB fournit des fonctions de bas niveau.fprintfLa fonction.
Avec le bas niveau I / Comme dans les activités de fichiers OfopenLa fonction ouvre ou crée un fichier et obtient l'identifiant de fichier. Par défaut, fopen ouvre le fichier en lecture seule. Vous devez spécifier les permissions d'écriture ou d'ajout, par exemple "w" ou "a".
Après avoir traité le fichier, il est nécessaire d'utiliserfclose(fid)La fonction le ferme.
Les exemples suivants démontrent le concept-
Créez un fichier de script et tapez le code suivant-
%Créer un matrice y contenant deux lignes x = 0:10:100; y = [x; log(x)]; %Ouvrir le fichier pour l'écriture fid = fopen('logtable.txt', 'w'); %Titre du tableau fprintf(fid, 'Fonction Log Function\n\n'); %Imprime les valeurs par colonnes %Les deux valeurs sont affichées sur chaque ligne du fichier fprintf(fid, '%f %f\n', y); fclose(fid); %Affiche le fichier créé type logtable.txt
Lorsque le fichier est exécuté, il affiche le résultat suivant-
Fonction Log 0.000000 -Inf 10.000000 2.302585 20.000000 2.995732 30.000000 3.401197 40.000000 3.688879 50.000000 3.912023 60.000000 4.094345 70.000000 4.248495 80.000000 4.382027 90.000000 4.499810 100.000000 4.605170