Para o polinômio abaixo, plote a função, sua derivada primeira e sua derivada segunda, no intervalo de [-10,10]. Use diferenciação numérica para encontrar as derivadas.
Passo 1
A questão nos pede para gerarmos um gráfico com três curvas, uma representando , outra representando (a derivada primeira de ) e outra representando (a derivada segunda de )) com indo de -10 a 10.
Antes de gerarmos as curvas com função , precisamos encontrar as derivadas de , usando diferenciação numérica. Para isso, usaremos a função do MATLAB. Lembrando que ela tem a estrutura:
Ela calcula vezes a diferença entre os elementos adjacentes do vetor e nos dá o resultado na forma do vetor .
Para encontrarmos a derivada primeira, o vetor de entrada de será a função . Para a derivada segunda, o vetor será .
Nos passos abaixo, vamos entender direitinho o porquê.
Passo 2
Primeiramente, crie um script novo no MATLAB e digite o código abaixo, para gerar um vetor contendo o intervalo de pedido no enunciado:
O comando acima cria um vetor chamado cujos elementos vão de -10 a 10, com um passo de 0,01. Escolhi um passo pequeno para as curvas no final saírem suaves, mas você pode escolher o passo que quiser.
Em seguida, precisamos calcular para cada elemento do vetor . Para isso, digite a linha de código:
Nesta linha de código, colocamos um . ao lado do vetor indicando que queremos realizar a a operação matemática em cada elemento dele. Por exemplo, pede que cada elemento de seja elevado à sétima potência. Desta forma, criamos um vetor chamado , de mesmo tamanho de , que contém o resultado de para cada elemento do vetor .
Passo 3
Depois de criarmos os vetores e , podemos determinar as derivadas primeira e segunda de . Vamos começar com a a derivada primeira. Para encontrarmos por diferenciação numérica, temos que gerar dois vetores, um representando e outro representando . O vetor teria a diferença de de um valor de a outro e o vetor teria a diferença entre um valor de e outro.
Estes vetores são gerados por meio da função , que tem a estrutura:
Ela calcula vezes a diferença entre os elementos adjacentes do vetor e nos dá o resultado na forma do vetor .
Os dois vetores são gerados por meio das seguintes linhas de código:
Na primeira linha, é criado o vetor , que contém as diferenças entre elementos adjacentes do vetor . Para criar o vetor , a funçao faz um elemento de menos o elemento à esquerda, começando a partir do segundo elemento de .
Na segunda linha, é feita a mesma coisa, mas com o vetor . A variação de é armazenada no vetor .
Note que não entramos nenhum valor para , porque queremos que a diferença seja feita uma vez. Quando não entramos com nenhum valor para na função , por o padrão o MATLAB adota .
Passo 4
Com os vetores e criados, podemos calcular por meio da linha de código:
Com este comando, dividimos cada elemento do vetor pelo elemento do vetor que esteja na mesma posição e o resultado é armazenado no vetor .
O vetor representa a derivada primeira de obtida por meio de diferenciação numérica. Com o vetor , podemos gerar o gráfico de .
Passo 5
Após determinarmos a primeira derivada, vamos calcular a segunda derivada de , por meio de diferenciação numérica. Assim como fizemos para a primeira derivada no passo 3, para determinar , precisamos construir dois vetores, um representando e outro representando , e dividir um pelo outro.
Para isto, usamos a função de novo. No MATLAB, digite a linha de código:
Com este comando, aplicamos a função no vetor , que representa , e armazenamos o resultado no vetor . Calculando a diferença entre os elementos adjacentes de , é como se estivéssemos calculando a derivada de , que é consequentemente .
é o nosso vetor representando . Para criar o vetor , vamos criar um vetor auxiliar chamado , com tamanho compatível ao vetor :
A linha de código acima diz que o vetor é um pedaço do vetor , começando do segundo elemento de e indo até o final de (indicando por ). Precisamos criá-lo pois o vetor tem um elemento a menos que o vetor e para calcular , precisamos que os vetores e tenham o mesmo comprimento.
Para criar o vetor , digite a linha de código:
O vetor contém a diferença entre os elementos adjacentes de e representa o vetor
Passo 6
Com os vetores e criados, podemos calcular por meio da linha de código:
Com este comando, dividimos cada elemento do vetor pelo elemento do vetor que esteja na mesma posição e o resultado é armazenado no vetor .
O vetor representa a derivada segunda de obtida por meio de diferenciação numérica. Com o vetor , podemos gerar o gráfico de .
Passo 7
Antes de gerar o gráfico de , e de , precisamos criar um vetor auxiliar para podermos plotar a curva de em função de .
Precisamos criar esse vetor auxiliar porque o vetor tem dois elementos a menos do que , já que ele na prática foi criado usando a função duas vezes seguidas. Vetores de tamanhos diferentes dão um erro na função .
Vamos chamar o vetor auxiliar da segunda derivada de e criá-lo com a linha de código:
Este comando diz que o vetor é um pedaço do vetor , começando do terceiro elemento de e indo até o final de .
Note que, para plotar em função de , podemos aproveitar o vetor do passo 5, já tem o mesmo comprimento de.
Pronto! Já temos todas informações necessárias para gerar o gráfico pedido no enunciado.
Passo 8
Vamos criar as curvas de , de e de na mesma janela. Para isso, entre as três linhas de código abaixo:
Na primeira linha, pedimos ao MATLAB para plotar em função de , em função de e em função de .
Na segunda linha, damos um nome ao eixo x do gráfico: chamamos ele de x.
Na terceira linha, criamos uma legenda para o gráfico. A string é a legenda da curva gerada pelo primeiro par de vetores, e , da função . Já a string é a legenda da curva gerada pelo segundo par de vetores, e , da função . Finalmente, a string se refere ao terceito par de vetores da função , e .
Rodando nosso programa, temos o gráfico pedido no enunciado:
A curva azul representa , a curva vermelha representa e a curva amarela representa .
Resposta
Ei, a resposta está no passo a passo :)