Importação de Dados no MATLAB: Formas Eficientes de Carregar Arquivos Externos
Importar dados no MATLAB significa carregar dados de um arquivo externo. A função importdata permite carregar diversos formatos. Possui cinco formas principais.
| Nº | Função e Descrição |
|---|---|
| 1 | A = importdata(filename) – Carrega dados do arquivo em array A. |
| 2 | A = importdata('-pastespecial') – Carrega dados da área de transferência. |
| 3 | A = importdata(___, delimiterIn) – Interpreta delimiterIn como separador de colunas em arquivo ASCII ou clipboard. |
| 4 | A = importdata(___, delimiterIn, headerlinesIn) – Carrega dados ASCII iniciando na linha headerlinesIn+1. |
| 5 | [A, delimiterOut, headerlinesOut] = importdata(___) – Retorna delimitador detectado e número de linhas de cabeçalho. |
Exemplo 1: Carregar Imagem
filename = 'smile.jpg'; A = importdata(filename); image(A);
Exibe a imagem (arquivo deve estar no diretório atual).
Exemplo 2: Arquivo Texto com Delimitador e Cabeçalho
Arquivo weeklydata.txt (delimitado por espaços, com cabeçalho):
SunDay MonDay TuesDay WednesDay ThursDay FriDay SaturDay 95.01 76.21 61.54 40.57 55.79 70.28 81.53 73.11 45.65 79.19 93.55 75.29 69.87 74.68 60.68 41.85 92.18 91.69 81.32 90.38 74.51 48.60 82.14 73.82 41.03 0.99 67.22 93.18 89.13 44.47 57.63 89.36 13.89 19.88 46.60
Script:
filename = 'weeklydata.txt';
delimiterIn = ' ';
headerlinesIn = 1;
A = importdata(filename, delimiterIn, headerlinesIn);
for k = 1:7
disp(A.colheaders{1,k})
disp(A.data(:,k))
disp(' ')
end
Resultado: exibe cada coluna com seu cabeçalho e dados.
Exemplo 3: Importar da Área de Transferência
Copie Mathematics is simple para o clipboard.
A = importdata('-pastespecial')
Resultado: A = 'Mathematics is simple'
I/O de Arquivo de Baixo Nível
importdata é alto nível. Funções de baixo nível dão mais controle, mas exigem mais detalhes do arquivo.
| Função | Descrição |
|---|---|
| fclose | Fecha arquivo(s) aberto(s) |
| feof | Testa fim de arquivo |
| ferror | Info sobre erros de I/O |
| fgetl | Lê linha removendo newline |
| fgets | Lê linha mantendo newline |
| fopen | Abre arquivo ou obtém info |
| fprintf | Escreve dados em arquivo texto |
| fread | Lê dados de arquivo binário |
| frewind | Move ponteiro para início |
| fscanf | Lê dados formatados de arquivo texto |
| fseek | Move para posição específica |
| ftell | Posição atual no arquivo |
| fwrite | Escreve dados em arquivo binário |
Importação de Texto com Baixo Nível
fscanf– lê dados formatados.fgetl/fgets– lê linha a linha.fread– lê stream de bytes/bits.
Exemplo Completo: Dados de Chuva
Arquivo myfile.txt com estrutura complexa (cabeçalhos, múltiplos conjuntos de medições).
Passos:
- Abrir com
fopene obter identificadorfid. - Usar especificadores de formato (
%s,%d,%f). Pular literais com*. - Ler cabeçalho para obter M (número de meses).
- Loop para ler M conjuntos (7 linhas x 5 colunas cada).
- Armazenar em estrutura
mydatacom campostime,month,raindata. - Fechar com
fclose(fid).
filename = '/data/myfile.txt';
rows = 7; cols = 5;
fid = fopen(filename);
M = fscanf(fid, '%*s %*s\n%*s %*s %*s %*s\nM=%d\n\n', 1);
for n = 1:M
mydata(n).time = fscanf(fid, '%s', 1);
mydata(n).month = fscanf(fid, '%s', 1);
mydata(n).raindata = fscanf(fid, '%f', [rows, cols])';
end
for n = 1:M
disp(mydata(n).time), disp(mydata(n).month)
disp(mydata(n).raindata)
end
fclose(fid);
Resultado: exibe cada bloco de tempo, mês e matriz de dados de chuva.
MATLAB
- Armazenamento de Arquivos Azure Explicado: Guia para Iniciantes de Armazenamento em Nuvem Seguro e Escalável
- MATLAB: Visão Geral Abrangente do Ambiente Líder em Computação Numérica
- 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