<a href="https://colab.research.google.com/github/gabrielvieiraf/ProjetosPython/blob/master/GoogleColab/Calculo/Derivadas.ipynb" target="_parent"></a>

# Matemática: Introdução ao Cálculo de Derivadas - Parte 01

# Variação Instantânea de uma Função

## **Exemplo 01**

O modelo de oscilação de um amortecedor é descrito pela seguinte função:

**Distância entre as extremidades**

$ g(x) = e^{\sqrt{X}}cos(x)$

**Função arbitrária para comparação**

$ f(x) = x + 1$


## Definindo Funções


```
from sympy import *
import math
from math import *
init_printing()

var('x')

# Trabalhando em Radianos
def g(x): return ( e ** ( sqrt( x ) )) * ( cos( x ) ) 
def f(x): return x + 1

print(g(0))
print(f(0))

```

    1.0
    1


## Variação Média da Função

A variação média de uma função f(x), dentro do intervalo [a,b] é definida por:

$
\dfrac{\Delta f(x)}{\Delta x} = \dfrac{f(b)-f(a)}{b-a}
$




```
def variacao_f(a,b): return (f(b)-f(a))/(b -a)
def variacao_g(a,b): return (g(b)-g(a))/(b -a)

print(variacao_f(0,5.39))
print(variacao_g(0,5.39))
```

    1.0
    0.9999863432970383


### Utilizando Bokeh para plotar gráficos


```
from bokeh.plotting import figure, output_notebook, show
from bokeh.io import curdoc, show
from bokeh.io import output_notebook
from bokeh.models.tools import HoverTool

output_notebook()

import numpy as np

x = list()
y = list()

for i in np.arange(0,20, step=0.1):
  x.append(i)
  y.append(g(i))

# Gerando canvas
fig = figure(title='Gráfico com Bokeh',
             x_axis_label='x',
             y_axis_label='y',
             width=600,
             height=600)
# Desenhando a linha
fig.line(x, y, 
         line_alpha=1,
         legend_label='g (x)', 
         line_width=3)

x2 = list()
y2 = list()

for i in np.arange(0,20, step=0.1):
  x2.append(i)
  y2.append(f(i))


# Desenhando a linha
fig.line(x2, y2, 
         line_alpha=1,
         legend_label='f (x)', 
         line_width=3, 
         color= 'green')

fig.add_tools(HoverTool(
    tooltips='<font face="Arial" size="3"> x = @x{0.00}, y = @y{0.00}</font>',
    mode='vline'
))

show(fig)

```










<div class="bk-root" id="5c46edda-815f-4d93-8329-ebbff5956669" data-root-id="1001"></div>





## Definindo Variação Instantânea

A variação instantânea de f(x) corresponde ao limite da variação média da f(x) quando $ \Delta x$ tende a 0:

$ \lim_{\Delta x \to 0} \left[\dfrac{f(x + \Delta x)-f(x)}{\Delta x}\right]$




```
var ('x delta')

def h(x): return x**3 + 3*x**2 +1
def i(x,delta): return (h(x+delta)-h(x))/delta

i(x,delta)
```


```
# Testando a função
display(i(1,0.55))
display(i(1,3))
display(i(1,2))
display(i(1,0.5))
```


```
def variacao_inst(x): return limit(i(x,delta),delta,0)

# Testando a função por x
# Variação instantânea é chamada de derivada
display(variacao_inst(1))
display(variacao_inst(3))
display(variacao_inst(2))
display(variacao_inst(9))
```

# Derivada e Variação Instantânea

## **Definição**

A variação instantânea de uma função f(x) leva um nome particular: ela chama-se a derivada da função f(x) no ponto x, e é simbolizada como:

$ \dfrac{\partial f(x)}{\partial x} = \lim_{\Delta x \to 0} \left[\dfrac{f(x + \Delta x)-f(x)}{\Delta x}\right]$

##**Calculando a primeira derivada**

Assumindo  a função 

$ f(x) = x^2$

Podemos perceber o seguinte comportamento na variação instantânea

$(a+b)^2 = a^2 + 2ab + b^2$

Logo:

$f(x + \Delta x) = (x + \Delta x)^2 = x^2 + 2x\Delta x + \Delta x ^2 $

Assim temos:

$f(x + \Delta x) = (x + \Delta x)^2 = x^2 + 2x\Delta x + \Delta x ^2  - x^2 = 2x\Delta x + \Delta x ^2 $

Substituindo:

 $\lim_{\Delta x \to 0} \left[\dfrac{2x\Delta x + \Delta x ^2}{\Delta x}\right] = \lim_{\Delta x \to 0} \left[2x+ \Delta x \right] $

Por fim,  se $\Delta x $ tende a 0, obtemos:

 $ \lim_{\Delta x \to 0} 2x +  \lim_{\Delta x \to 0} \Delta x =  2x +  0  = 2x $

 **Resultado do Cálculo:** 
 
## $ 2x$




```
def f(x): return x**2
def i(x,delta): return (f(x+delta)-f(x))/delta
def variacao_inst(x): return limit(i(x,delta),delta,0)

# Resultado da função criada
print('Resultado Função Criada:')
display(variacao_inst(x))

print()

print('Resultado Função Numpy:')
# Resultado da função existente no numpy
display(diff(f(x)))
```

## **Regra da Derivada de potência**

$ \dfrac{\partial x^n}{\partial x} = nx ^{n-1}$






# A derivada como reta tangente

## **Definição**

Uma reta tangente a um ponto de uma curva é aquela reta que enconsta na curva, naquele ponto, sem cortar a curva no mesmo.

## Conceito de reta

A noção de reta ou linha reta foi introduzida por matemáticos antigos para representar objetos retos com largura e profundidade desprezíveis. As retas são uma idealização de tais objetos.

Com a equação reduzida da reta, é possível calcular quais são os pontos que pertencem a essa reta e quais não pertencem.

Forma reduzida:
$ y(x) = ax + b$

onde: 

*   a --> Coeficiente Angular 
*   b --> Coeficiente Linear
*   x --> Variável Independente



## **Declarando funções**


```
def f(x): return ((3)*(x**2)) + 1
def r1(x): return (6*(x-1))+4
def r2(x): return 1
```

## **Plotando gráfico**


```
x,y,y2,y3 = list(),list(),list(),list()

for i in np.arange(-1,4, step=0.1):
  x.append(i)
  y.append(f(i))
  y2.append(r1(i))
  y3.append(r2(i))

# Gerando canvas
fig = figure(title='Reta Tangente',
             x_axis_label='x',
             y_axis_label='y',
             width=600,
             height=600)

# Desenhando a linha
fig.line(x, y, 
         line_alpha=1,
         legend_label='f (x)', 
         line_width=3)

# Desenhando a linha
fig.line(x, y2, 
         line_alpha=1,
         legend_label='r1 (x)', 
         line_width=3, 
         color= 'green')

# Desenhando a linha
fig.line(x, y3, 
         line_alpha=1,
         legend_label='r2 (x)', 
         line_width=3, 
         color= 'red')

fig.add_tools(HoverTool(
    tooltips='<font face="Arial" size="3"> x = @x{0.00}, y = @y{0.00}</font>',
    mode='vline'
))

show(fig)

```










<div class="bk-root" id="bac51976-980d-479c-ab8b-8ab09b413be7" data-root-id="1137"></div>





# Determinando Tangentes Usando a Derivada

## **Questão do tópico**

Dada a curva f(x), como podemos determinar as suas tangentes?

## **Resposta**

Calcular as derivadas de f(x). A derivada de uma curva f(x) em um ponto escolhido, determina o coeficiente angular de inclinação da reta que é tangente naquele ponto.

## **Exemplo**
Dada a função f(x) abaixo, calcule o coeficiente angular das retas tangentes a essa curva , nos pontos $ x= 1$ e $ x=0$
.

#### **Função**

$f(x) = 3x^2 + 1$

#### **Resolvendo:**

Regra da derivada de potência:

$ \dfrac{\partial x^n}{\partial x} = nx ^{n-1}$

 A derivada de uma constante é 0, logo:

$ \dfrac{\partial  f }{\partial x} = 2 (3x^2) ^{2-1} = 6x$

#### **Resposta:**

No ponto $x = 0$, o resultado da derivada é 0.

No ponto $x = 1$, o resultado da derivada é 6. 


```
def f(x): return (3*(x**2)) + 1
def i(x,delta): return (f(x+delta)-f(x))/delta
def variacao_inst(x): return limit(i(x,delta),delta,0)

# Resultado da função criada
print('Resultado Função Criada:')
display(variacao_inst(0))

print()

# Resultado da função criada
print('Resultado Função Criada:')
display(variacao_inst(1))

print()

print('Resultado Função Numpy:')
# Resultado da função existente no numpy
var('x')
derivada = f(x).diff(x)
display(derivada)

# Resultado da função existente no numpy
print('Equação:')
Derivative(f(x))

```

### Plotando gráfico

## **Equação da reta tangente:**

$ y(x) = \left (\dfrac{df}{dx} \right) (x_0) (x-x_0) + f(x_0) $


```
def r1(x): return x
def r2(x): return ( 6 * ( x - 1 ) ) + f(1)

x,y,y2,y3 = list(),list(),list(),list()

for i in np.arange(0,4, step=0.1):
  x.append(i)
  y.append(f(i))
  y2.append(r1(1))
  y3.append(r2(i))

# Gerando canvas
fig = figure(title='Reta Tangente',
             x_axis_label='x',
             y_axis_label='y',
             width=600,
             height=600)

# Desenhando a linha
fig.line(x, y, 
         line_alpha=1,
         legend_label='f (x)', 
         line_width=3)

# Desenhando a linha
fig.line(x, y2, 
         line_alpha=1,
         legend_label='r1 (x)', 
         line_width=3, 
         color= 'green')

# Desenhando a linha
fig.line(x, y3, 
         line_alpha=1,
         legend_label='r2 (x)', 
         line_width=3, 
         color= 'red')

fig.add_tools(HoverTool(
    tooltips='<font face="Arial" size="3"> x = @x{0.00}, y = @y{0.00}</font>',
    mode='vline'
))

show(fig)

```










<div class="bk-root" id="98206621-0d5c-46e1-a548-6df5966d9c67" data-root-id="1315"></div>





# Propriedades das Derivadas



*   As propriedades da derivadas são obtidas das propriedades dos limites



## Derivada da Soma de Funções

A derivada da soma de funções é igual a soma das derivadas de cada função

## Derivada da Diferença de Funções

A derivada da diferença de funções é igual a diferença das derivadas de cada função

## Derivada de uma Constante * f(x)

A derivada de uma constante vezes a função é igual à derivada da função vezes a constante

eb6be0e944d92ba3836f30eb70f7c9044847e88b
ipynb
Jupyter Notebook
GoogleColab/Calculo/Derivadas.ipynb
gabrielvieiraf/ProjetosPython
d8cf8eb28ebe1d0bf8319cb5500028c1d2a71ef9
MIT
2021-06-23T23:48:39.000Z
2021-06-23T23:48:39.000Z
GoogleColab/Calculo/Derivadas.ipynb
gabrielvieiraf/ProjetosPython
d8cf8eb28ebe1d0bf8319cb5500028c1d2a71ef9
MIT
GoogleColab/Calculo/Derivadas.ipynb
gabrielvieiraf/ProjetosPython
d8cf8eb28ebe1d0bf8319cb5500028c1d2a71ef9
MIT
2021-06-23T21:59:10.000Z
2021-06-23T23:49:00.000Z
Qwen/Qwen-72B
1. YES
2. YES