Salvar e importar dados no Octave
Nesta lição do Octave, vou explicar como salvar e carregar dados usando arquivos no Octave.
Por que é importante salvar dados? Salvar dados significa armazenar os dados que estão na RAM do computador em um arquivo no disco rígido ou em outro dispositivo de armazenamento (por exemplo, uma unidade USB). Os dados na RAM do computador são voláteis, o que significa que você os perderá quando desligar o computador ou fechar o Octave. Em contraste, os dados salvos em um arquivo são permanentes e podem ser recarregados na RAM quando você ligar o computador, sem ter que reescrevê-los toda vez.
Como salvar dados
Vou te dar um exemplo prático.
Crie três arrays chamados M1, M2 e M3
>> M1=[1 2 3; 4 5 6];
>> M2=[7 8 ; 9 1];
>> M3 = [ 3 4; 5 6; 8 9];
Agora há três arrays na memória.
Para salvar todos os dados na memória, use o comando save seguido pelo nome do arquivo
>> save nome_do_arquivo.mat
Agora limpe todos os dados da memória com o comando clear
>> clear
Todos os dados foram apagados da memória.
Se você tentar chamar a matriz M1, o Octave retornará um erro:
>> M1
error: 'M1' undefined near line 1 column 1
Para carregar os dados do arquivo de volta para a memória, use o comando load seguido pelo nome do arquivo
>> load nome_do_arquivo.mat
Agora os dados estão de volta na memória.
Se você tentar chamar o array M1, poderá ver seu conteúdo:
>> M1
M1 =
1 2 3
4 5 6
Observação. Neste exemplo, mostrei como salvar arrays, mas a função de salvar funciona com todos os objetos e estruturas de dados (variáveis, gráficos, arrays, etc.). Os procedimentos para salvar e carregar são sempre os mesmos.
Como salvar apenas objetos específicos
O Octave também permite fazer salvamentos seletivos. Nesse caso, você precisa especificar quais objetos deseja salvar no arquivo.
Por exemplo, para salvar apenas a matriz M1, digite:
>> save nome_do_arquivo2.mat M1
Para salvar as matrizes M1 e M2, basta digitar:
>> save nome_do_arquivo3.mat M1 M2
Alternativamente, você também pode usar essa sintaxe para salvar os dados.
>> save("nome_do_arquivo3.mat", "M1", "M2")
Observação. Se você quiser adicionar objetos adicionais aos dados salvos, indique-os inserindo um parâmetro adicional após o nome do arquivo. Por exemplo, para salvar três objetos, escreva save nome_do_arquivo3.mat M1 M2 M3 ou save("nome_do_arquivo3.mat", "M1", "M2", "M3").
Para salvar todos os objetos que começam com a letra M, use o caractere especial *
>> save nome_do_arquivo3.mat M*
De qualquer forma, o carregamento dos dados na memória sempre acontece da mesma maneira.
Para carregar os dados na memória, você deve usar o comando load.
load nome_do_arquivo2.mat
Como carregar um único objeto
Se você tiver armazenado vários objetos em um arquivo, você pode optar por carregamento seletivo para carregar apenas os objetos necessários e evitar o carregamento dos desnecessários.
Para fazer isso, você precisa especificar os objetos específicos que deseja carregar na memória.
Por que usar o carregamento seletivo? O carregamento seletivo é extremamente útil ao trabalhar com grandes quantidades de dados. Se um arquivo contiver muitos objetos, carregá-los na memória pode resultar em desperdício desnecessário de espaço de memória, tempos de processamento lentos e até mesmo causar erros de estouro de memória. Em geral, é uma boa prática carregar na memória apenas os dados necessários para o processamento.
Por exemplo, no arquivo chamado nome_do_arquivo.mat, você já salvou as matrizes M1, M2 e M3.
Para carregar apenas a matriz M1 na memória, digite:
>> load nome_do_arquivo.mat M1
Desta forma, você carrega a matriz M1 na memória, mas não as matrizes M2 e M3 que também estão presentes no arquivo.
Para carregar as matrizes M1 e M2 na memória, digite:
>> load nome_do_arquivo.mat M1 M2
Este comando carrega as matrizes M1 e M2 na memória, mas não a matriz M3.
Alternativamente, você também pode usar a sintaxe de carregamento seletivo a seguir:
>> load("nome_do_arquivo.mat","M1","M2")
Observação. Para carregar três ou mais objetos na memória, adicione os outros objetos como parâmetros adicionais do comando load. Por exemplo, load nome_do_arquivo.mat M1 M2 M3
Para carregar todos os objetos que começam com M, digite:
>> load nome_do_arquivo.mat M*
Como salvar arquivo de dados em formato binário
O Octave também permite que você salve dados em formato binário.
Nesse caso, você precisa adicionar a opção -binary ao comando save.
>> save -binary nome_do_arquivo4.mat
Para carregar os dados na memória, você pode usar o mesmo método anterior.
>> load nome_do_arquivo4.mat
Opções adicionais de salvamento Saving Options
O comando save possui outras opções muito úteis:
- -append
anexa dados a um arquivo existente sem excluir quaisquer dados pré-existentes - -zip
comprime os dados (útil para grandes quantidades de dados) - -ascii
salva os dados em formato de texto - -binary
salva os dados em formato binário - -hdf5
salva os dados em formato HDF5
Se você precisar incluir várias opções no comando 'save', use a seguinte sintaxe geral
>> save ("-option1", ..., "file", "v1", ...)
Para ver todas as opções disponíveis para o comando 'save', use a ajuda do Octave:
>> help save
Agora você tem todas as informações necessárias para salvar e carregar dados no Octave.