Gli integrali
Come valutare somme di quantità variabili, estensioni di superfici, …?
Come trovare una funzione conoscendo la velocità con cui varia?

Indice guide

Per questa scheda vedi anche la presentazione più estesa dello stesso tema presente negli Oggetti Matematici e gli esempi d'uso di WolframAlpha.
    Essa affronta il teorema fondamentale dell'analisi, la principale proprietà affrontata nella scuola media superiore, assieme al teorema limite centrale, discusso nell'omonima scheda.

In breve, l'unità didattica affronta:
– Integrazione definita: il suo significato geometrico (come area) e il ricorso ad esso per calcolare (a mano e col computer) vari integrali definiti.
– Motivazioni ed enunciazione del Teorema Fondamentale dell'Analisi.
– L'antiderivata delle funzioni polinomiali.
– Applicazioni alla fisica e al calcolo delle probabilità.
– Approfondimenti: l'antiderivata delle funzioni circolari e della funzione esponenziale.

Per le antiderivate non viene, per ora, usato il termine di "integrali indefiniti", per evitare confusioni. Infatti, per quanto un integrale indefinito di una funzione F sia propriamente un'altra funzione x → ∫ [a,x] F che, poi, per il teorema fondamentale dell'analisi, si scopre essere un'antiderivata di F stessa, a scuola in genere le motivazioni teoriche di questo uso del termine per indicare l'antiderivazione vengono oscurate. Introdurremo questo uso successivamente (in quarta, alla fine del §8 della scheda "Le funzioni esponenziale e logaritmo"): per ora impiegheremo il termine "antiderivata".

1.1  Come aggiungere le istruzioni descritte prime del quesito 1:
area <- function(F,a,b,N) {
  n <- N+1; x <- seq(b,a,len=n); y <- F(x)
  x <- c(x,a,b); y <- c(y,0,0); n <- n+2
  plot(F,a,b,n=901,asp=1)
  abline(v=axTicks(1), h=axTicks(2), col="blue",lty=3)
  for(i in 1:n) { points(x[i],y[i],pch=20,col="red")
    lines(c(x[i],x[i+1]),c(y[i],y[i+1]),col="red",lty=2)}
  A <- (y[n]+y[1])*(x[n]-x[1])
  for(i in 1:(n-1)) A <- A + (y[i]+y[i+1])*(x[i]-x[i+1])
  A/2}
Ma mi conviene copiare il file di cui è presente il link nelle scheda (è una versione del programma in cui il grafico è fatto per punti):
f <- function(x) sqrt(1-x^2)
grafico <- 1
area(f,-1,1,2)
#
area(f,-1,1,4)
#
area(f,-1,1,8)
#
area(f,-1,1,16)
#
area(f,-1,1,1000)
#
grafico <- 0
area(f,-1,1,10000)
#
area(f,-1,1,20000)
#
pi/2

1.2  Quesito 1:
f <- function(x) x^2
grafico <- 1
area(f, 0,1, 1)
# 0.5
area(f, 0,1, 2)
# 0.375
area(f, 0,1, 3)
# 0.3518519
area(f, 0,1, 100)
# 0.33335
area(f, 0,1, 1000)
# 0.3333335
grafico <- 0
area(f, 0,1, 10000)
# 0.3333333
print(area(f, 0,1, 1e4), 14)
# 0.333333335
print(area(f, 0,1, 1e5), 14)
# 0.33333333335
print(area(f, 0,1, 1e6), 14)
# 0.3333333333335

1.3  Dopo il quesito 2. La convergenza dell'algoritmo nel caso delle funzioni F limitate e continue a tratti in un intervallo [a,b] è facilmente dimostrabile a "livello adulto":  siano N gli intervalli in cui F è continua e la cui unione sia [a,b];  se fissato ε trovo δ1 tale che due input distanti meno di δ1 abbiano ouput distanti meno di ε nel primo intervallo, …, δN tale che due input distanti meno di δN abbiano output distanti meno di ε nell'N-esimo intervallo,  allora, preso come δ il minimo tra δ1, …, δN, ho che se due qualunque input distano meno di δ gli output corrispondenti distano meno di ε.  Si può dimostrare che la proprietà vale anche nel caso in cui i sottointervalli in cui è ripartito [a,b] siano una infinità numerabile.
Con gli alunni possiamo non entrare nei dettagli di questa dimostrazione (e limitarci a considerare la somma degli integrali nei singoli intervalli in cui la funzione è continua).

# esempio:
g <- function(x) ifelse(x<=2, x^2, x)
grafico <- 1
n <- 0
n <- n+1; area(g,-1,3, 10^n)
# 5.52
n <- n+1; area(g,-1,3, 10^n)
# 5.5408
n <- n+1; area(g,-1,3, 10^n)
# 5.504008
grafico <- 0
n <- n+1; area(g,-1,3, 10^n)
# 5.5004
n <- n+1; area(g,-1,3, 10^n)
# 5.50004
n <- n+1; area(g,-1,3, 10^n)
# 5.500004
# Posso supporre che aumentando n si ottenga 5.5000004, 5.50000004 (-> 11/2)
Ecco come a trovare il valore esatto con WolframAlpha:
integrate piecewise[ { {x^2, x <= 2}, {x, 2 < x } } ] x = -1..3

1.3  Dopo il quesito 3.  L'integrale qui "definito" equivale all'integrale di Riemann.  Non ne vengono presentate definizioni più generali né viene approfondito il fatto che il risultato non muterebbe se si ripartisse l'intervallo [a,b] in intervalli non eguali e si considerasse invece del limite per il numero degli intervalli che tende all'infinito il limite per l'ampiezza massima degli intervalli che tende a 0.  Ciò sarebbe troppo complesso e dispersivo, e porterebbe via troppo tempo approfondire questi aspetti nella scuola secondaria superiore.  Essi saranno affrontabili successivamente da chi eventualmente proseguirà gli studi in facoltà di tipo scientifico  (la cosa può comunque essere accennata in classi "buone"; una trattazione più esauriente può essere trovata negli Oggetti Matematici;  per un approfondimento a livello adulto rinviamo alla seguente trattazione di Gilardi; vedi in particolare la def. 3.4, e il teor. 3.5).  Per qualche approfondimento vedi mathworld subject measure theory in WolframAlpha.

2.1  Quesito 10: il quesito dovrebbe essere affrontato collettivamente; il suo obiettivo è verificare e/o consolidare e/o chiarire il significato e il ruolo del teorema fondamentale.

4.1  Il paragrafo 4 è dedicato alla antiderivata delle funzioni seno e coseno e a quello della funzione esponenziale, e possono essere affrontati successivamente, se non è stata ancora affrontata la derivazione di tali funzioni.

5.1  Quesito e1. Vediamo la soluzione con R:
f <- function(x) (10*x-5)/(x^2+1)
plot(f, 1/2,3)
abline(v=axTicks(1), h=axTicks(2), col="blue", lty=3)
# circa 25 quadretti di area 1/4, pari a circa 6
grafico <- 0
area(f, 1/2,3, 100)
# 6.469774
area(f, 1/2,3, 1000)
# 6.470212
area(f, 1/2,3, 1e4)
# 6.470217
print(area(f, 1/2,3, 1e5), 12)
# 6.47021689097
print(area(f, 1/2,3, 1e6), 12)
# 6.47021689141
    Per inciso, osserviamo che con WolframAlpha, con integral (10*x-5)/(x^2+1) from x=1/2 to 3, avremmo ottenuto -(5π)/4+5*log(8) = 6.470216891411938…