Exportação de Dados no MATLAB: Formatos e Técnicas
Exportar dados no MATLAB significa escrever em arquivos. O MATLAB oferece várias opções para usar dados em outras aplicações que leem ASCII.
Tipos de Arquivos de Exportação
- Arquivo ASCII delimitado retangular a partir de array.
- Arquivo Diary (log) de teclas e saídas de texto.
- Arquivo ASCII especializado com funções de baixo nível (
fprintf). - MEX-file para rotinas C/C++/Fortran.
- Planilhas (spreadsheets).
Exportar Array Numérico como ASCII Delimitado
Duas formas principais:
1. Função save com qualificador -ascii
save my_data.out num_array -ascii
2. Função dlmwrite
dlmwrite('my_data.out', num_array, 'dlm_char')
dlm_char é o caractere delimitador.
Exemplo Comparativo
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
Resultado:
save -ascii (notação científica): 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 dlmwrite (formato simples, espaço como delimitador): 1 2 3 4 4 5 6 7 7 8 9 0
Nota: save -ascii e dlmwrite não funcionam com cell arrays. Converta com cell2mat ou use I/O de baixo nível.
Se usar save com array de caracteres, grava códigos ASCII:
h = 'hello'; save textdata.out h -ascii type textdata.out
Resultado: 1.0400000e+02 1.0100000e+02 1.0800000e+02 1.0800000e+02 1.1100000e+02 (códigos ASCII de 'h','e','l','l','o').
Arquivos Diary (Diário de Sessão)
Cópia exata da sessão (sem gráficos) em arquivo de disco.
diary % liga (arquivo padrão: diary) diary logdata.out % liga com nome específico diary off % desliga
Pode abrir o arquivo em editor de texto.
Exportação com I/O de Baixo Nível (fprintf)
Para arquivos de texto com combinações de dados numéricos e caracteres, saídas não retangulares ou codificações não-ASCII.
- Abrir/criar arquivo com
fopen(permissão'w'ou'a'). - Escrever com
fprintfusando especificadores de formato. - Fechar com
fclose(fid).
Exemplo: Tabela de Logaritmo
x = 0:10:100;
y = [x; log(x)];
fid = fopen('logtable.txt', 'w');
fprintf(fid, 'Log Function\n\n');
fprintf(fid, '%f %f\n', y); % escreve em ordem de coluna
fclose(fid);
type logtable.txt
Resultado:
Log Function 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
MATLAB
- Armazenamento de Arquivos Azure Explicado: Guia para Iniciantes de Armazenamento em Nuvem Seguro e Escalável
- Dominando I/O de Arquivos em C: Criando, Abrindo e Gerenciando Arquivos
- Entendendo Tipos de Dados no MATLAB: Guia Completo
- Dominando Operadores MATLAB: Guia Completo de Operações Aritméticas, Lógicas e Bitwise
- Domine Matrizes no MATLAB: Criação, Referência e Manipulação de Dados
- MATLAB: Dominando Arrays Multidimensionais e Especiais
- Dominando a Notação Dois-Pontos no MATLAB: Crie Vetores e Itere com Eficiência
- MATLAB – Números: Tipos, Armazenamento e Conversão
- Dominando Strings no MATLAB: Criação e Uso Prático
- Funções no MATLAB: Definição, Workspace, Entradas e Saídas