Exercícios Resolvidos de Entrar e salvar arquivos de dados

Ver Teoria

Enunciado

Esta planilha contém os dados do PIB municipal, referente à indústria de transformação e extrativa mineral, de cada cidade do estado do Rio de Janeiro, de 1970 a 1996. Baixe a planilha e com o MATLAB:

  1. Calcule a média do PIB do estado do Rio de Janeiro em 1996;
  2. Encontre o município que apresentou o maior PIB em 1975.

Passo 1

Este exercício é para praticar a função xlsread() do MATLAB. A partir dos dados da planilha abaixo (que você pode acessar pelo link):

Você deve calcular a média do PIB do estado do RJ em 1996, último ano da planilha, e dizer qual cidade apresentou o maior PIB em 1975.

Passo 2

Antes de usar o MATLAB, salve a planilha em seu computador indo em:

Arquivo -> Fazer download -> Microsoft Excel (.xlsx)

O print abaixo mostra onde você deve clicar para fazer o download.

Se você não alterar o nome do arquivo, ele fiacará salvo como “ipeadata_PIB_municipal_industria_RJ.xlsx”.

Passo 3

Carregue a planilha “ipeadata_PIB_municipal_industria_RJ.xlsx” no MATLAB. Para isso, crie um novo script e salve-o na mesma pasta onde você salvou a planilha Excel. Em seguida, digite o comando no novo script:

[pib,cabecalho] = xlsread('ipeadata_PIB_municipal_industria_RJ.xlsx');

Este comando carrega a planilha Excel de nome “ipeadata_PIB_municipal_industria_RJ.xlsx” no MATLAB. Lembre de adaptar o comando ao nome da sua planilha, caso você tenha nomeado o arquivo de outra forma.

A função xlsread() vai criar uma matriz chamada pib, contendo os valores numéricos da planilha, e uma matriz de células chamada cabecalho, contendo o cabeçalho da planilha. A matriz pib será uma matriz de 94 linhas, cada uma correspondendo a um município do Rio de Janeiro, e 5 colunas, cada uma correspondendo a um ano da planilha (1970, 1975, 1980, 1985 e 1996).

A matriz de células cabecalho terá 8 colunas e 95 linhas, sendo a primeira linha referente aos anos e o restante das linhas correspondendo a um município do Rio de Janeiro. A terceira coluna de cabecalho contém os nomes dos municípios.

Com a primeira linha do nosso script, ele ficou assim:

Passo 4

Após incluirmos o comando para carregar a planilha no MATLAB, vamos responder a letra a do exercício. Ela pede para calcularmos a média do PIB do estado do Rio de Janeiro em 1996. Para isso, usaremos a função mean().

Para usarmos o mean(), primeiramente vamos criar um vetor contendo os valores do PIB dos municípios do Rio de Janeiro em 1996, com a seguinte linha de código:

pib_1996 = pib(:,end);

Na linha de código, eu crio um vetor chamado pib_1996 e armazeno nele os valores da última coluna da matriz pib (por isso o termo end), visto que é o último ano da planilha.

Em seguida, adiciono o comando:

media_1996 = mean(pib_1996);

Com este comando, eu calculo a média dos valores do vetor pib_1996 e armazeno o resultado na variável media_1996.

Agora, nosso script está assim:

Ao rodarmos o script e pedirmos para o MATLAB imprimir a variável media_1996, temos:

No print acima, pedi para o MATLAB imprimir os números com 15 casas após a vírgula, para ver o valor mais exato.

Logo, o PIB médio do estado do Rio de Janeiro é de em torno de R$ 487.926,40. Com isso, a letra a está resolvida.

Passo 5

Para resolver a letra b, usaremos a função max() do MATLAB. Para encontrarmos o município com o maior PIB de 1975, primeiramente criamos um vetor para armazenar os valores da segunda coluna da matriz pib, correspondente ao ano de 1975. Isto é feito com a seguinte linha de código:

pib_1975 = pib(:,2);

Com esta linha, pedimos ao MTLAB para armazenar no vetor pib_1975 os valores da segunda coluna de pib.

Para encontrar o maior PIB de 1975, usamos a função max() em pib_1975, digitando:

[pib_max,posicao] = max(pib_1975);

Esta linha de código pede ao MATLAB que encontre o maior valor dentro do vetor pib_1975 e armazene o valor máximo na variável pib_max. Na linha de código, a função max() também retorna a posição do valor máximo no vetor, que armazenada na variável posicao. Esta informação será importante para encontrar o nome do município no próximo passo.

Agora, nosso script está com essa cara:

Passo 6

Para encontrarmos o nome do município que teve o maior PIB de 1975, usaremos a variável cabecalho e a variável posicao encontrada no passo anterior.

Primeiro, vamos ver as primeiras linhas da nossa variável cabecalho:

Reparou que ela tem uma linha a mais do que a matriz pib? Isso porque a primeira linha de cabecalho descreve o que tem em cada coluna da planilha Excel. A listagem dos nomes dos municípios começa a partir da segunda linha de cabecalho e a partir da segunda linha da planilha.

Por isso, para usarmos a variável posicao para encontrar o nome do município, devemos adicionar +1 em seu valor, já que a matriz pib só tem os valores numéricos, que começam a ser apresentados na segunda linha da planilha, lado a lado com os nomes dos municípios.

Considerando tudo isso, adicionamos a seguinte linha no nosso script:

municipio = cabecalho{posicao + 1,3};

Ela diz ao MATLAB para armazenar na variável municipio o elemento que está na linha posicao + 1 e na coluna 3 de cabecalho. A coluna 3 da matriz de células cabecalho tem os nomes dos municípios do Rio de Janeiro.

Nosso script final ficou assim:

Ao rodar o script e pedindo para imprimir pib_max, posicao e municipio, encontramos:

O município que teve o maior PIB do estado do Rio de Janeiro em 1975 foi o município do Rio de Janeiro, com algo em torno de R$ 31,918 milhões.

O valor de pib_max está na posição 68 do vetor pib_1975, logo, o nome do município está na linha 69 de cabecalho. Podemos conferir isso na própria planilha, onde o município do Rio de Janeiro está na linha 69, como destacado abaixo:

Resposta

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