Exercícios
Para os exercícios a seguir considere \(f'(x_0) =\) coeficiente angular da reta tangente à \(f\) no ponto \(x_0\).
- Vamos agora implementar o método visto em sala de aula. Para isso considere a função \(f(x) = \frac{1}{x^2+1}\).
- Qual o domínio da função \(f\)?
- Implemente uma função que recebe como entrada \(x_0 \in Dom(f)\) e o valor de \(\delta\) e retorna uma aproximação para \(f'(x_0)\) a partir do segundo método visto em sala de aula.
- Vamos implementar agora o algoritmo de forma recursiva. Para facilitar considere \(h\) um argumento de entrada da sua função. Dessa forma, implemente uma função recursiva que recebe como entrada \(x_0 \in Dom(f)\), o valor do \(\delta\) e \(h\), e retorna uma aproximação para \(f'(x_0)\) a partir do segundo método visto em sala de aula.
- Vamos verificar se as funções estão retornando o valor correto.
- A partir das duas funções implementadas, encontre aproximações para \(f'(0)\), \(f'(-\frac{1}{5})\) e \(f'(\frac{1}{3})\) e verifique se as respostas estão parecidas. Se tiverem diferentes parece que algo está estranho.
- Escolha uma função implementada e um dos valores de \(x_0\), \(0\), \(-\frac{1}{5}\) ou \(\frac{1}{3}\), ou até todos, e plot na mesma janela o gráfico de \(f\) e a reta cujo coeficiente angular seja \(f'(x_0)\) e passe pelo ponto \((x_0,f(x_0))\). Você consegue encontrar a equação dessa reta, só existe uma com essas características. Verifique se a reta de fato parece ser a reta tangente à \(f\) no ponto \(x_0\).
- Considere agora a função \(f(x) = ln(x^2+x-2)\).
- Qual o domínio da função \(f\)?
- Implemente uma função que recebe como entrada \(x_0 \in Dom(f)\) e o valor de \(\delta\), e retorna uma aproximação para \(f'(x_0)\) a partir do segundo método visto em sala de aula.
- Vamos implementar agora o algoritmo de forma recursiva. Para facilitar considere novamente \(h\) um argumento de entrada da sua função. Dessa forma, implemente uma função recursiva que recebe como entrada \(x_0 \in Dom(f)\), o valor de \(\delta\) e \(h\), e retorna uma aproximação para \(f'(x_0)\) a partir do segundo método visto em sala de aula.
- Vamos verificar se as funções estão retornando o valor correto.
- A partir das duas funções implementadas, encontre aproximações para \(f'(3)\), \(f'(-\frac{5}{2})\) e \(f'(\frac{4}{3})\) e verifique se as respostas estão parecidas. Se tiverem diferentes parece que algo está estranho.
- Escolha uma função implementada e um dos valores de \(x_0\), \(0\), \(-\frac{1}{5}\) ou \(\frac{1}{3}\), ou até todos, e plot na mesma janela o gráfico de \(f\) e a reta cujo coeficiente angular seja \(f'(x_0)\) e passe pelo ponto \((x_0,f(x_0))\). Você consegue encontrar a equação dessa reta, só existe uma com essas características. Verifique se a reta de fato parece ser a reta tangente à \(f\) no ponto \(x_0\).
- Considere agora \(f(x) = e^{-x/3}\left( 1 + \frac{x}{x^2 + 1} \right) - 1\).
- Qual o domínio da função \(f\)?
- Primeiro implemente uma função que recebe como entrada \(x\) e retorna uma aproximação para \(f(x)\). Vamos chamar essa função de
f
.
- Implemente agora uma função que recebe como entrada \(x\) e retorna uma aproximação para \(f'(x)\) considerando \(\delta=10^{-3}\). Vamos chamar esse função de
df
.
- Nosso objetivo agora é usar o método da bisseção para encontrar os pontos de máximo e mínimo locais de \(f\). Veja que esses pontos são os pontos \(x_0\) tais que \(f'(x_0)=0\). Para isso siga os itens a seguir.
- Digite
plot(f,xlim=c(-3,5))
e plot(df,xlim=c(-3,5));abline(h=0)
e, comparando os dois gráficos, veja onde estão os pontos \(x_0\) tais que \(f'(x_0)=0\). Para encontrais aproximações para tais pontos vamos buscar as raízes da função df
.
- Use o método da bisseção para encontrar uma aproximação para o mínimo local de \(f\). A partir dos gráficos escolha valores para \(a\) e \(b\) de forma a garantir que o método converge para o mínimo local. Faça a sua função de forma que ela chame
df
já implementada.
- Use o método da bisseção para encontrar uma aproximação para o máximo local de \(f\). A partir dos gráficos escolha valores para \(a\) e \(b\) de forma a garantir que o método converge para o máximo local. Faça a sua função de forma que ela chame
df
já implementada.
- Vamos testar se deu certo. Guarde no objeto
xmin
a aproximação para o ponto de mínimo local e no objeto xmax
a aproximação para o ponto de máximo local de \(f\). Agora digite a seguinte sequência de comandos e discuta o gráfico gerado.
plot(df,xlim=c(-3,5))
abline(h=0)
segments(x0=xmin,y0=2,x1=xmin,y1=-2,lty=2)
points(xmin,0,pch=19,cex=1.2)
segments(x0=xmax,y0=1,x1=xmax,y1=-1,lty=2)
points(xmax,0,pch=19,cex=1.2)