English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
En MATLAB, la exportación de datos (o salida) significa escribir en un archivo. MATLAB le permite usar sus datos en una aplicación que lee archivos ASCII. Para esto, MATLAB ofrece varias opciones de exportación de datos.
Puede crear los siguientes tipos de archivos:-
Archivo de datos ASCII separados en rectángulos dentro de un array.
Archivo de diario (o registro) de pulsaciones de teclas y salida de texto de resultados.
Archivo ASCII especial utilizado con funciones de bajo nivel (como fprintf).
Archivo MEX, utilizado para acceder a archivos de texto escritos en un formato de archivo específico. / C ++o un programa de Fortran.
Además, también puede exportar los datos a una hoja de cálculo.
Hay dos métodos para exportar un array numérico a un archivo de datos ASCII delimitado-
El comando ascii y la función dlmwrite no se aplican a los arrays de celdas como entrada. Para crear un archivo ASCII delimitado a partir del contenido del array de celdas, puedesavefunción y especificar-asciidelimitador
El comando ascii y la función dlmwrite no se aplican a los arrays de celdas como entrada. Para crear un archivo ASCII delimitado a partir del contenido del array de celdas, puededlmwritefunción
La sintaxis de la función save es-
save my_data.out num_array -ascii
donde,my_data.outes el archivo de datos ASCII delimitado creado,num_arrayes un array numérico y −asciies el marcador.
El comando ascii y la función dlmwrite no se aplican a los arrays de celdas como entrada. Para crear un archivo ASCII delimitado a partir del contenido del array de celdas, puededlmwriteLa sintaxis de la función es-
dlmwrite('my_data.out', num_array, 'dlm_char')
donde,my_data.outes el archivo de datos ASCII delimitado creado,num_arrayes un array numérico, dlm_chares el delimitador.
El siguiente ejemplo demuestra este concepto. Cree un archivo de script e ingrese el siguiente código-
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
Cuando ejecuta el archivo, muestra el siguiente resultado-
1.0000000e+00 0.0000000e 2.0000000e+00 0.0000000e 3.0000000e+00 0.0000000e 4.0000000e+00 0.0000000e 4.0000000e+00 0.0000000e 5.0000000e+00 0.0000000e 6.0000000e+00 0.0000000e 7.0000000e+00 0.0000000e 7.0000000e+00 0.0000000e 8.0000000e+00 0.0000000e 9.0000000e+.0000000e+00 0.0000000e 1 2 3 4 4 5 6 7 7 8 9 0
00 -Tenga en cuenta que save
El comando ascii y la función dlmwrite no se aplican a los arrays de celdas como entrada. Para crear un archivo ASCII delimitado a partir del contenido del array de celdas, puedecell2matLa función convierte el array de celdas en una matriz
O usar el nivel inferior de archivos I / O la función de exportación de matrices de celdas.
Si se usasaveSi la función escribe un array de caracteres en un archivo ASCII, es equivalente a escribir el valor ASCII del carácter en el archivo.
Por ejemplo, vamos a escribir la palabra "hello" en el archivo.-
h = 'hello'; savetextdata.outh -ascii type textdata.out
MATLAB ejecuta la siguiente instrucción y muestra el siguiente resultado. Esto es8El carácter de la cadena de caracteres en formato ASCII "hello".
1.0400000e+02 1.0100000e+02 1.0800000e+02 1.0800000e+02 1.1100000e+02
El archivo de registro es el registro de actividades de la sesión de MATLAB. La función de registro puede crear una copia exacta de la sesión en un archivo de disco, pero no incluye gráficos.
Para abrir la función de registro, ingrese-
diary
(Opcional) Puede proporcionar el nombre del archivo de registro, por ejemplo-
diary logdata.out
Cerrar la función de registro-
diary off
Puede abrir el archivo de registro en un editor de texto.
Hasta ahora, hemos exportado matrices de números. Pero es posible que necesite crear otros archivos de texto, incluyendo combinaciones de datos numéricos y de caracteres, archivos de salida no rectangulares o archivos con esquemas de codificación no ASCII. Para esto, MATLAB proporciona funciones de bajo nivel.fprintffunción.
Como en la capa inferior I / Como en las actividades de archivos O, antes de exportar, necesita usarfopenPara abrir o crear un archivo y obtener el identificador de archivo. Por defecto, fopen abre el archivo para acceso de solo lectura. Debe especificar permisos de escritura o append, por ejemplo, 'w' o 'a'.
Después de procesar el archivo, es necesario usarfclose(fid)La función lo cierra.
El siguiente ejemplo demuestra el concepto-
Cree un archivo de script y escriba el siguiente código-
%Crea una matriz y con dos filas x = 0:10:100; y = [x; log(x)]; %Abre el archivo para escritura fid = fopen('logtable.txt', 'w'); %Título de la tabla fprintf(fid, 'Función de logaritmo\n\n'); %Imprime los valores en orden de columna %Muestra dos valores en cada línea del archivo fprintf(fid, '%f %f\n', y); fclose(fid); %Muestra el archivo creado type logtable.txt
Cuando ejecuta el archivo, muestra el siguiente resultado-
Función de logaritmo 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