Exercícios Resolvidos de Entrar e salvar arquivos de dados

Ver Teoria

Enunciado

A tabela a seguir fornece dados para a distância percorrida, em milhas, ao longo de cinco rotas de caminhão e o tempo correspondente necessário para percorrer cada rota. Entre os dados em um arquivo de texto e use-os para calcular a velocidade média, em metros por segundo, necessária para conduzir cada rota. Encontre a rota que tem a maior velocidade média.

Passo 1

Neste exercício, vamos praticar a função l o a d do MATLAB. Primeiro, vamos criar um arquivo de texto com a tabela do enunciado. Em seguida, vamos carregar esse arquivo de texto no MATLAB para podermos manipular os dados. Teremos que converter a distância de milhas para metros e o tempo de horas de para segundos para calcularmos a velocidade média em m / s . Após calcular a velocidade média, usaremos a função m a x para encontrar a rota com maior velocidade média.

Passo 2

A primeira etapa do exercício consiste em passar os dados da tabela para o Bloco de Notas, como no print abaixo:

Lembre de somente passar para o bloco de notas os valores numéricos, pois quando um arquivo de texto é carregado no MATLAB com a função l o a d , ele transforma os dados em uma matriz. Também não se esqueça de trocar as vírgulas por pontos para marcar os decimais.

Após copiar os dados, salve o arquivo em formato .txt. Eu salvei o meu arquivo com o nome “rotas.txt”, mas você pode chamar como quiser.

Passo 3

Para carregar o arquivo .txt no MATLAB, usaremos a função l o a d ( ) . No MATLAB, crie um script novo e salve-o na pasta onde você salvou seu arquivo .txt. Então, digite no script o seguinte comando:

Com esse comando, vamos carregar no MATLAB os valores numéricos do arquivo de texto “rotas.txt”. Lembre de adaptar o comando caso você tenha dado um nome diferente para o .txt.

O comando acima armazena os dados do arquivo de texto em uma matriz, cujo nome será o nome do arquivo sem a terminação. No meu caso, será criada uma matriz chamada r o t a s . Se seu arquivo .txt tiver um nome diferente, sua matriz também terá um nome diferente.

Podemos ver como ficou a matriz que o MATLAB criou rodando o script e imprimindo r o t a s no Command Window, como no print abaixo:

Passo 4

Para calcular a velocidade média de cada rota, vamos criar dois vetores, um para cada linha da matriz r o t a s .

Para transformar as linhas da matriz r o t a s em vetores, digite as seguintes linhas de código no nosso script:

Na primeira linha, armazenamos a primeira linha da matriz r o t a s na variável d , correspondendo à distância percorrida em cada rota. Nesta linha, já fazemos também a conversão de milhas para metros, multiplicando o vetor r o t a s ( 1 , : ) por 1609,34 , pois 1   m i = 1609,34   m .

Similarmente, na segunda linha, armazenamos a segunda linha da matriz r o t a s na variável t , correspondendo ao tempo necessário para concluir cada uma das 5 rotas. Também já fazemos a conversão de horas para segundos, multiplicando o vetor r o t a s ( 2 , : ) por 3600 , pois 1   h = 3600   s .

Passo 5

Para calcular a velocidade média de cada rota, devemos dividir a distância percorrida pelo tempo para concluir cada rota. Vamos fazer isso por meio do comando:

Dividimos cada elemento do vetor d (que contém a distância de cada rota) pelo elemento de t (vetor com o tempo de cada rota) que está na mesma posição, por meio do operador . / . Desta forma, criamos um vetor chamado v _ m e d i a que contém a velocidade média de cada rota em m / s .

Para ver como ele ficou, execute o programa e imprima v _ m e d i a no Command Window:

Passo 6

Para determinar a rota com maior velocidade média, vamos aplicar a função m a x ( ) em v _ m e d i a , por meio do comando:

Com este comando, a velocidade média máxima será armazenada em v _ m a x e a sua posição no vetor v _ m e d i a é salva na variável r o t a . A posição de v _ m a x em v _ m e d i a corresponde ao índice da rota que tem no cabeçalho da tabela do enunciado.

Vamos rodar o programa e ver a resposta? Imprima v _ m a x e r o t a no Command Window:

Resposta

A rota que tem a maior velocidade média é a rota 1 , correspondendo a 24,3050   m / s .