Exercícios Resolvidos de Analisando seu programa

Ver Teoria

Enunciado

O código abaixo cria um vetor que contém a raiz cúbica de todos os elementos de A .

Descubra por que o programa não funciona, usando o MATLAB.

Passo 1

Este exercício pede que identifiquemos os erros do programa do enunciado, usando o MATLAB. Devemos copiar o programa em um novo script e rodá-lo algumas vezes, até que não apareçam mais mensagens de erro.

Passo 2

Crie um script novo no MATLAB e copie nele o programa do enunciado.

Antes de rodarmos o programa, vamos ver o que cada linha de código faz, para ajudar a identificar eventuais erros:

Na primeira linha, temos o comando c l e a r   a l l . Este comando limpa o Workspace do MATLAB cada vez que o programa é rodado. Como procuramos erros no código e teremos que rodá-lo várias vezes para ver se corrigimos alguma coisa e encontrar mais erros, é importante limpar o Workspace a cada tentativa.

Na segunda linha, o comando c l c limpa o Command Window do MATLAB cada vez que o programa é executado. Novamente, como vamos rodar o código diversas vezes, é importante limpar o Command Window a cada tentativa, para ficar mais fácil de ver qual erro foi corrigido e qual é o erro a ser corrigido na sequência, caso exista.

Na linha 4, criamos um vetor chamado A de 5 elementos.

Na linha 5, pegamos o vetor A e elevamos a 1 / 3 , para calcular a raiz cúbica de cada um dos seus elementos. O resultado dessa operação é armazenado em um vetor chamado r a i z _ c u b i c a , que contém a raiz cúbica de cada elemento de A .

Passo 3

Agora que sabemos o que cada linha faz, vamos rodar nosso programa pela primeira vez.

Apareceu o seguinte erro no Command Window:

O MATLAB avisou que tem um erro na linha 5, dizendo que o operador ^ só aceita como entrada um número escalar ou uma matriz quadrada. Isto quer dizer que o problema está em A ^ ( 1 / 3 ) .

Passo 4

O MATLAB só consegue elevar a uma potência matrizes quadradas ou números escalares. A é um vetor 1 × 5 . Além disso, não queremos elevar o vetor A a 1 / 3 (ou seja, calcular a raiz cúbica de A ), mas sim cada elemento de A . Para fazermos isto, coloque um ponto ao lado de A na linha 5:

Rode o programa novamente para ver se o programa foi corrigido. Dessa vez, nenhuma mensagem de erro deve aparecer. Para dar aquela conferida final, imprima no Command Window os vetores A e r a i z _ c u b i c a , para ver se realmente cada elemento de r a i z _ c u b i c a é a raiz cúbica do elemento de A que se encontra na mesma posição:

Tcharam! Descobrimos o problema do programa e o corrigimos ;D

Resposta

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