Como salvar dados em um aArquivo no Matlab
Vou explicar como você pode salvar seus dados em um arquivo usando o Matlab e, igualmente importante, como carregar esses dados de volta para a memória.
Por que salvar dados? Ao encerrar o Matlab, a memória na RAM onde seu espaço de trabalho estava alocado é reiniciada. Salvando seus dados do espaço de trabalho em um arquivo no seu disco rígido, você pode, posteriormente, carregá-los novamente na memória quando voltar ao Matlab. Isso evita a necessidade de redigitar tudo do zero.
Como efetuar o salvamento de dados em um arquivo
Aqui está um exemplo prático:
Imagine que você possui três arrays, denominados M1, M2 e M3. Você os cria na memória com os seguintes comandos:
>> M1=[1 2 3; 4 5 6];
>> M2=[7 8 ; 9 1];
>> M3 = [3 4; 5 6; 8 9];
Para salvar todos os dados do seu espaço de trabalho, utilize o comando "save" seguido pelo nome do arquivo desejado, como neste exemplo:
>> save filename.mat
Após isso, limpe os dados do espaço de trabalho com o comando "clear" ou, se preferir, saia e reinicie o Matlab.
>> clear
Essa ação eliminará todos os dados da sua memória, e o espaço de trabalho do Matlab será reconfigurado. Se tentar acessar a matriz M1, o Matlab não a localizará e apresentará um erro.
>> M1
Matriz ou variável 'M1' não identificada.
Para carregar os dados de volta na memória, use o comando "load", seguido do nome do arquivo:
>> load filename.mat
Esse comando carregará os dados salvos no arquivo de volta para o seu espaço de trabalho.
Digitando "M1" novamente, o Matlab agora encontrará a matriz na memória e exibirá seu conteúdo.
>> M1
M1 =
1 2 3
4 5 6
Observação: Neste exemplo, salvamos uma matriz numérica. No Matlab, você pode salvar diversos tipos de dados: números, strings, caracteres, imagens e mais.
Como salvar objetos específicos
É possível também salvar somente objetos específicos no seu espaço de trabalho. Para isso, é necessário especificar quais objetos deseja salvar, conforme o exemplo:
>> save filename2.mat M1
Essa ação salvará unicamente a matriz M1 no arquivo "filename2.mat".
Caso deseje salvar M1 e M2, a sintaxe é a seguinte:
>> save filename3.mat M1 M2
Como alternativa, esta outra sintaxe também é válida:
>> save("filename3.mat", "M1", "M2")
Observação: Para incluir mais objetos no salvamento, basta adicioná-los no final do comando. Por exemplo, para salvar os três objetos, use save filename3.mat M1 M2 M3 ou save("filename3.mat", "M1", "M2", "M3").
Outra possibilidade é salvar todos os objetos que começam com uma letra específica, usando o caractere especial *.
Para salvar objetos que começam com a letra M, por exemplo, use save filename3.mat M*.
>> save filename3.mat M*
Para carregar os dados na memória, utilize o comando load:
load nomefile2.mat
Carregar um único objeto na memória
Quando se tem um grande volume de objetos armazenados em um arquivo, pode ser necessário utilizar apenas um deles.
No Matlab, é possível carregar seletivamente apenas o objeto necessário, sem a necessidade de carregar todos eles.
E qual a importância disso? Carregar dados desnecessários ocupa espaço na memória do computador. Ao carregar somente os dados necessários, você economiza memória RAM, permitindo que o computador opere de forma mais ágil.
Para carregar um único objeto, basta indicar o nome do objeto após o nome do arquivo.
Por exemplo, se você salvou as matrizes M1, M2 e M3 no arquivo "filename.mat", para carregar somente a matriz M1, digite load filename.mat M1 na linha de comando.
>> load filename.mat M1
O Matlab abrirá o arquivo e carregará somente a matriz M1, ignorando as demais matrizes no arquivo.
Para carregar M1 e M2, digite load filename.mat M1 M2 na linha de comando.
>> load filename.mat M1 M2
Neste caso, o Matlab carrega as matrizes M1 e M2, mas não a matriz M3.
Alternativamente, você pode usar a seguinte sintaxe de carregamento, que produz o mesmo resultado: "load('filename.mat','M1','M2')".
>> load("filename.mat","M1","M2")
Lembre-se de que para carregar três ou mais objetos, você deve acrescentá-los ao final da lista. Por exemplo, para carregar três matrizes, digite load filename.mat M1 M2 M3.
Você também pode carregar todos os objetos que começam com uma letra específica.
Por exemplo, para carregar objetos que iniciam com a letra M, digite load filename.mat M*.
>> load filename.mat M*
Salvar dados em um arquivo binário
O Matlab também permite salvar dados em formato binário.
Para salvar dados nesse formato, utilize o comando "save" com a opção "-mat".
>> save -mat filename4.mat
Para carregar dados de um arquivo binário na memória, use o comando "load".
>> load nomefile4.mat
Qual é a vantagem de salvar dados em formato binário?
O formato binário é extremamente útil quando se deseja processar os dados salvos no Matlab em outros softwares.
Outras opções de salvamento
Além disso, o comando "save" no Matlab oferece várias opções úteis, como:
- -append
para adicionar dados a um arquivo já existente, sem excluir os dados anteriores. - -nocompression
para salvar os dados sem compressão. - -ascii
para salvar os dados no formato de texto ASCII. - -mat
para salvar os dados em formato binário. - -struct
para salvar dados de uma estrutura.
Para utilizar múltiplas opções no comando "save", siga esta sintaxe: "save('-option1', ..., 'file', 'v1', ...)".
save ("-option1", ..., "file", "v1", ...)
Para conhecer todas as opções disponíveis no comando "save", digite "help save" na linha de comando.
>> help save