Noções de calculo integral.

By Thales Fernandes

O que é integral?

Temos, por exemplo, um grafico, como seno de x,  no intervalo fechado [0,π] e nos queremos saber qual é a area desse grafico. Podemos fazer da seguinte maneira.
Eu uso um metodo semelhando a Soma de Riemann, mas ao envez de usar quadrados, uso trapezios, deste modo é muito mais preciso

Clear[f, i, a, b, g0, g2, ret]
f[x_] := Sin[x]
i = 4;
a = 0;
b = π;
g0 = 
        Plot[f[x], {x, a, b}, DisplayFunction -> Identity];
Show[Graphics[Line[{{a, 0}, {b, 0}}]], 
        Graphics[
          Table[Line[{{n, -0.5}, {n, 1.5}}], {n, a, b, ((b - a)/i)}]], 
        g0];

Assim, feita essa parte devemos ligar os pontos desse intervalo da seguinte maneira para se formar um poligono, um trapezio.
{{n,  0} , {n, f[n]},  {((b - a)/i)+n ,  
        f[((b - a)/i) + n ]} ,  {((b - a)/i)+n , 
        0}}
Vou explicar essa tabela.
Pegamos um ponto n dentro do intervalo [a,b]. Devemos pegar uma linha partindo do ponto n, no deixo x, ou seja, altura 0. Essa linha ira ate o ponto de f[n], a imagem. sera a altura do grafico no ponto n. Ligamos essa altura ate a outra altura, no ponto n + ((b - a)/i)  , pois ((b - a)/i) sera quanto valera cada divisão do grafico em n+1 partes. Assim fazendo o mesmo processo porem inverso, da algura no ponto n + ((b - a)/i) ate o eixo x no mesmo ponto. Como resultado tempos isso:

Clear[f, i, a, b, g0, g2, ret]
f[x_] := Sin[x]
i = 4;
a = 0;
b = π;
g2 = 
        Plot[f[x], {x, a, b}, DisplayFunction -> Identity];
ret = 
        Table[{{n, 0}, {n, f[n]}, {((b - a)/i) + n, 
              f[((b - a)/i) + n]}, {((b - a)/i) + n, 0}}, {n, a, 
            b - ((b - a)/i), ((b - a)/i)}];
Show[
        Graphics[
          Table[Line[{{n, -0.1}, {n, 1.1}}], {n, a, b, ((b - a)/i)}]], 
        Graphics[
          Table[{Polygon[ret[[u]]]}, {u, 
              1, Length[ret]}]], g2, 
        DisplayFunction -> $DisplayFunction];
N[(∫_a^b) f[x] \[DifferentialD]x, 50]
N[(∑_(n = 1)^(Length[ret]))(1/2) ((ret[[
                    n, 2, 2]] - 
                  ret[[n, 1, 
                    2]]) + (ret[[n, 
                    3, 2]] - 
                  ret[[n, 4, 
                    2]])) (ret[[
                n, 3, 1]] - 
              ret[[n, 1, 1]]), 
      50]

ret ira formar uma tabela variando o valor de n no intervalo de [a,b] com um intervalo de ((b - a)/i). isso ira fazer o grafico, mas nos queremos saber o valor da area do grafico. Devemos entao calcular o somatorio da area de cada trapezio.
A area do trapezio é dada por  (B + b) (h/2)  . Onde B eh o maior lado, b o menor lado, e h a altura do trapezio. Para quem não sabe como se deduz essa formula explicarei.
Temos por exemplo o trapezio asseguir.

Show[Graphics[Polygon[{{0, 0}, {1, 0}, {1, 2}, {0, 1}}]]];

A altura do poligono que usaremos é a altura q se encontra paralela ao eixo x. Apenas para ficar mais facil entender o grafico acima.
Pela tabela {{0,0},{1,0},{1,2},{0,1}} vemos q a altura é a variação do eixo x. ou seja. 1-0 = 1.  O lado B, maior lado possui tamanho de 2-0 = 2 e o menor lado 1-0 = 1.
Podemos fazer o seguinte com esse poligono.

Show[
      Graphics[{{Hue[0.2], 
            Polygon[{{0, 1}, {1, 2}, {1, 3}, {0, 3}}]}, {Hue[0.3], 
            Polygon[{{0, 0}, {1, 0}, {1, 2}, {0, 1}}]}, 
          Text[StyleForm["b", FontFamily -> "Courier", 
              FontSize -> 14, FontWeight -> "Plain"], {1.02, 
              2.5}], Text[
            StyleForm["B", FontFamily -> "Courier", 
              FontSize -> 14, FontWeight -> "Plain"], {1.02, 
              1.0}], Text[
            StyleForm["B", FontFamily -> "Courier", 
              FontSize -> 14, 
              FontWeight -> "Plain"], {-0.02, 2.0}], 
          Text[StyleForm["b", FontFamily -> "Courier", 
              FontSize -> 14, 
              FontWeight -> "Plain"], {-0.02, 0.45}], 
          Text[StyleForm["h", FontFamily -> "Courier", 
              FontSize -> 14, FontWeight -> "Plain"], {0.5, 
              2.80}], Text[
            StyleForm["h", FontFamily -> "Courier", 
              FontSize -> 14, 
              FontWeight -> "Plain"], {0.5, -0.18}]}]];

\(Os\ dois\ trapezios\ sao\ identicos . 
          Para\ calcular\ a\ area\ de\ um\ trapezio\ calculamos\ a\ area\ desse\ quadrado\ e\ dividimos\ por\ dois . Area\ trapezio = 
      1\/2\ \((b + B)\)\ h\)
\(Entaoparacalcularaareadonossograficodevemosfazeromesmoprocessousandoatabela  jaconhecida . \ {{n, 0}, {n, f[n]}, {\(b - a\)\/i + n, 
              f[\(b - a\)\/i + n]}, {\(b - a\)\/i + n, 0}} . 

          Onde\ b\  = \ \(f[n]\  - \ 0\  = \ 
        ret[[n, 2, 2]] - 
          ret[[n, 1, 2]]\)\)
B  =  f[((b - a)/i) + n ]  -  0  =  
        ret[[n, 3, 2]] -  
          ret[[n, 4, 2]]
e  h  =  ((b - a)/i) + n   -  n   =  ((b - a)/i)  =  
          ret[[n, 3, 1]] -  
            ret[[n, 1, 1]]
Aviso :  
      Não confuda esse b de lado menor com b do intervalo [
          a, b]
\(Substituindo\ na\ formula\ anterior\ temos . \ \ 
\(1\/2\)\ \((\((ret[[n, 2, 2]] - 
              ret[[n, 1, 
                2]])\) + \((ret[[n, 3, 
                2]] - 
              ret[[n, 4, 
                2]])\))\)\ \((ret[[n, 3, 
            1]] - 
          ret[[n, 1, 1]])\)\)
\(UtilizandooSomatorioparapodersomartodososvaloresdequenpodeassumirno 
         intervalo[a, b] com  partições  em  pequenos  
        intervalos  de  n + 
      1  temos . \(∑\+\(n = 1\)\%\(Length[ret]\)\(1\/2\) \((\((\((ret[[n, 2, 2]] - 
                          ret[[n, 1, 
                            2]])\) + \((ret[[n, 3, 2]] - 
                          ret[[n, 4, 
                            2]])\))\) \((ret[[n, 3, 1]] - 
                      ret[[n, 1, 
                        1]])\))\)\)\)
Length[ret] nos  da  quantos  termos  tem  ret . quando  maior  o  
      valor  de  i, 
    maior  sera  a  aproximação  com  
      a ∫f[x] dx
Rodando  novamente  para  um  valor  de  i  maior  temos  q  o  
      resultado  se  aproxima  cada  vez  maisde2.

Clear[f, i, a, b, g0, g2, ret]
f[x_] := 1 + x^4 - 3  x^2
i = 12;
a = -1;
b = 1.9;
g2 = 
        Plot[f[x], {x, a, b}, DisplayFunction -> Identity];
ret = 
        Table[{{n, 0}, {n, f[n]}, {((b - a)/i) + n, 
              f[((b - a)/i) + n]}, {((b - a)/i) + n, 0}}, {n, a, 
            b - ((b - a)/i), ((b - a)/i)}];
Show[
        Graphics[
          Table[{Polygon[ret[[u]]]}, {u, 
              1, Length[ret]}]], g2, 
        DisplayFunction -> $DisplayFunction];
N[(∫_a^b) f[x] \[DifferentialD]x, 50]
N[(∑_(n = 1)^(Length[ret]))(1/2) ((ret[[
                    n, 2, 2]] - 
                  ret[[n, 1, 
                    2]]) + (ret[[n, 
                    3, 2]] - 
                  ret[[n, 4, 
                    2]])) (ret[[
                n, 3, 1]] - 
              ret[[n, 1, 1]]), 
      50]

Essa ultima equaçao nos fazmos o seguinte, nao deixamos i constante. variamos ele criando uma tabela. mesmo esquemo que os de cima, mas com o i variando.

Clear[f, i, a, b, g0, g2, ret]
Off[Table::"iterb", NIntegrate::"ncvb"]
f[x_] := (E^Cos)[x]
a = 0; 
b = 20; 
g2 = 
      Plot[f[x], {x, a, b}, DisplayFunction -> Identity]; 
ret = 
      Table[{{n, 0}, {n, f[n]}, {((b - a)/i) + n, 
            f[((b - a)/i) + n]}, {((b - a)/i) + n, 0}}, {n, a, 
          b - ((b - a)/i), ((b - a)/i)}]; 
Table[
      Show[Graphics[
          Table[{Polygon[ret[[u]]]}, {u, 
              1, Length[ret]}]], g2, 
        DisplayFunction -> $DisplayFunction], {i, 2, 40}]; 
Clear[i]
TableForm[
      Table[{i, 
          ret = Table[{{n, 0}, {n, f[n]}, {((b - a)/i) + n, 
                  f[((b - a)/i) + n]}, {((b - a)/i) + n, 0}}, {n, a, 
                b - ((b - a)/i), ((b - a)/i)}]; 
          N[(∑_(n = 1)^i) (1/2) ((ret[[n, 2, 
                          2]] - 
                        ret[[n, 1, 
                          2]]) + (ret[[n, 3, 2]] - 
                        ret[[n, 4, 
                          2]])) (ret[[n, 3, 1]] - 
                    ret[[n, 1, 1]]), 
            50]}, {i, 2, 40}]]
N[(∫_a^b) f[x] \[DifferentialD]x, 50]

\(Essa\ ultima\ tabela\ nos\ da\ o\ valor\ aproximado\ da\ area\ do\ grafico . quando\ maior\ o\ i\ maior\ a\ precisao\)