Criar e ler arquivos de texto no Matlab

Neste tutorial prático e direto, vou mostrar como é simples abrir, criar e ler arquivos de texto no Matlab.

Criar um novo arquivo

Criar um novo arquivo de texto é uma tarefa descomplicada: use a função fopen().

Insira o nome do arquivo de texto e o modo de acesso de escrita "w" (write) entre os parênteses, conforme este exemplo:

>> MeuArquivo=fopen("test2.txt", "w");

Utilize a variável MeuArquivo como um atalho no script, evitando a repetição do nome do arquivo a cada uso.

Prossigamos escrevendo dois registros no arquivo com a função fprintf().

>> fprintf(MeuArquivo, "1 registro \n");
>> fprintf(MeuArquivo, "2 registro \n");

Dica rápida: O uso do símbolo \n (nova linha) ao final de cada registro instrui o Matlab a começar uma nova linha, formando um novo registro. Sem o \n, as instruções seguintes de fprint() ou fput() continuariam no mesmo registro.

Finalizada a escrita, é essencial fechar o arquivo com a função fclose().

>> fclose(MeuArquivo);

Lendo um arquivo

Ler o conteúdo de um arquivo de texto no Matlab é uma tarefa fácil. Utilize a função fopen(), indicando o nome do arquivo e o atributo "r" (read) entre os parênteses:

>> MeuArquivo=fopen("test2.txt", "r");

A variável MeuArquivo facilita a execução de operações no arquivo, podendo ser nomeada conforme sua preferência.

Para ler um registro do arquivo, aplique a função fgetl().

>> fgetl(MeuArquivo)

Essa função acessa o conteúdo do primeiro registro.

ans = 1 registro

Para ler o segundo registro, repita o processo com a função fgetl().

>> fgetl(MeuArquivo)

Agora, a função acessa o segundo registro, visto que o primeiro já foi processado.

ans = 2 registro

Ao atingir o fim do arquivo, a função fgetl() retorna -1.

Por exemplo, ao executar fgetl() pela terceira vez,

>> fgetl(MeuArquivo)

o retorno será -1, pois o arquivo contém apenas dois registros, e ambos já foram lidos.

ans = -1

Após concluir as leituras, lembre-se de fechar o arquivo com a função fclose().

>> fclose(MeuArquivo);

Ler um arquivo com um loop

Para ler um arquivo inteiro do início ao fim, a melhor abordagem é usar uma estrutura de loop.

Assim, você evita a necessidade de usar repetidamente a função fgetl() para ler registros individuais.

MeuArquivo=fopen("test4.txt", "r");
eof=0;
while eof==0
rec =fgetl(MeuArquivo)
if (rec==-1) eof=1 ; endif
end
fclose(MeuArquivo)

Adicionar registros a um arquivo existente

Para adicionar mais registros a um arquivo já existente, sem excluir o conteúdo atual, é simples: abra-o no modo de anexação.

Por exemplo, para abrir o arquivo "test2.txt" no modo 'a' (append) com a função fopen():

>> MeuArquivo=fopen("test2.txt", "a");

O arquivo já contém dois registros:

1 registro
2 registro

Agora, adicione um novo registro com a função fprintf() ou fputs().

>> fprintf(MeuArquivo, "3 registro \n");

Dica: Para incluir mais registros, continue utilizando a função fprint(), seguindo o exemplo acima.

Concluída a adição de registros, não esqueça de fechar o arquivo com a função fclose().

>> fclose(MeuArquivo);

Seu arquivo agora possui três registros.

1 registro
2 registro
3 registro

Excelente! O Matlab adicionou um novo registro sem sobrepor nenhum dos registros existentes no arquivo.

Modos de acesso ao arquivo

Existem vários modos de acesso ao arquivo que podem ser muito úteis, a depender da sua necessidade:

r = abre o arquivo para leitura
w = cria um novo arquivo para escrita
a = anexa registros a um arquivo existente, mantendo o conteúdo atual
r+ = abre um arquivo para leitura e escrita
w+ = cria um novo arquivo para leitura e escrita
a+ = abre um arquivo para leitura e escrita, adicionando no final do arquivo

Com estas informações, você está pronto para começar a ler ou escrever arquivos de texto usando o Matlab. Sucesso na programação!

 
 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin

Arquivos Matlab

Leitura e escrita