Exercícios Resolvidos de Entrar e salvar arquivos de dados

Ver Teoria

Enunciado

A partir do arquivo de texto salvo no exercício anterior, carregue-o no MATLAB, converta a velocidade para km/h e salve o resultado em outro arquivo .txt, junto com a coluna de dados do tempo. Dica: 1 mph equivale a 1,60934 km/h.

Passo 1

Este exercício é uma continuação do exercício passado. Usaremos novamente a função load() para carregar o perfil de velocidade, faremos a conversão de unidade (de mph para km/h) e salvaremos o resultado usando a função save().

Passo 2

Vamos criar um novo script e salvá-lo na mesma pasta do arquivo de texto do exercício anterior. Eu vou salvar meu script como “Ex2.m”.

Vamos digitar a primeira linha de código no nosso script, que é a função load() para carregarmos o arquivo de texto:

load('hwycol.txt')

Lembrando que a entrada da função load() é o nome do arquivo .txt. Adapte a linha de código acima, se precisar, colocando o nome do arquivo que você salvou no exercício anterior.

Nosso script está assim por enquanto:

Lembra que a função load() cria uma variável com o mesmo nome do arquivo .txt, sem a terminação? Isso quer dizer que, ao rodarmos nosso código, o comando que acabamos de digitar criará uma variável chamada hwycol (ou com o nome do seu arquivo, se o nome for diferente do meu), que contém a matriz do arquivo .txt.

Lembre dessa informação para a próxima etapa ;D

Passo 3

Após digitarmos o comando para carregar o arquivo .txt no script, vamos criar dois vetores: um contendo a primeira coluna da matriz do arquivo “hwycol.txt” e outro contendo a segunda coluna. Para isso, usaremos as duas linhas de código:

time = hwycol(:,1)

vel_mph = hwycol(:,2)

A primeira linha de código diz para o MATLAB armazenar na variável time a primeira coluna da matriz hwycol. Logo, a variável time será um vetor contendo os instantes de tempo do perfil de velocidade.

A segunda linha de código diz quase a mesma coisa, mas ela pede para o MATLAB armazenar a segunda coluna da matriz hwycol na variável vel_mph. Logo, vel_mh é um vetor contendo a velocidade do perfil de velocidade em mph.

O nosso script atualizado está assim:

Agora que temos os vetores, vamos para a conversão de unidades.

Passo 4

O enunciado nos dá o fator de conversão de mph para km/h. Para convertermos as velocidades de mph no vetor vel_mph para km/h, basta multiplicá-lo por 1,60934:

vel_kmh = 1.60934*vel_mph

Ao adicionar a linha de código acima em nosso script, multiplicamos cada elemento do vetor vel_mph por 1,60934 e geramos um novo vetor, chamado de vel_kmh. O vetor vel_kmh contém as velocidades do vetor vel_mph em km/h. Atualizando nosso script:

Passo 5

Agora, vamos criar uma nova matriz com duas colunas, uma com o tempo e outra com a velocidade em km/h. Digite no script a seguinte linha de código:

hwycol_kmh = [time vel_kmh];

Com esse comando, pedimos ao MATLAB que crie uma matriz chamada hwycol_kmh , a partir dos vetores time e vel_kmh. A matriz hwycol_kmh é uma concatenação dos vetores time e vel_kmh: a primeira coluna de hwycol_kmh tem os elementos do vetor time e a segunda coluna de hwycol_kmh tem as velocidades do vetor vel_kmh.

Nosso script está assim por enquanto:

Passo 6

Após ter criado a matriz hwycol_kmh, ela pode ser salva em um arquivo de texto por meio do comando save(), que tem a seguinte estrutura:

save('Nome do arquivo','variável','-ascii')

Logo, para nosso script, o comando fica assim:

save('hwycol_kmh.txt','hwycol_kmh','-ascii')

Ao adicionarmos o comando acima no nosso script, pedimos ao MATLAB que salve a matriz hwycol_kmh no arquivo “hwycol_kmh.txt”. Esse comando salvará o arquivo “hwycol_kmh.txt” na mesma pasta onde se encontra o script.

No final, nosso script ficou assim:

Pronto! Ao rodar esse script, você terá um arquivo de texto com o perfil de velocidade em km/h.

Resposta

Ei, a resposta está no passo a passo :)