Approssimazione di integrali con spline della integranda

Angus1956
Considera la spline di grado $1$, $s_1$, definita in $[0,1]$, interpolante una certa $f$ nei nodi $x_0=0,x_1,...,x_(n-1),x_n=1$.
i) Sfruttando la rappresentazione a tratti di $s_1$, calcola l'integrale $\int_0^1s_1(x)dx$ in funzione dei valori di $f$ nei nodi.
ii) Discuti l'errore $E(f)=\int_0^1f(x)dx-\int_0^1s_1(x)dx$, e trova una formula del tipo $E(f)=c*f''(\xi)$ con $\xiin(0,1)$ in cui la costante $c$ dipende solo dai nodi.

Sinceramente non so bene come affrontare precisamente il problema (ad esempio la prima richiesta non mi è chiarissima su come si debba sviluppare) però ho provato a fare così:

i) Usiamo la formula composita dei trapezi per calcolare $\int_0^1s_1(x)dx$:
$\int_0^1s_1(x)dx~~1/n((s_1(x_0))/2+\sum_{k=1}^(n-1)s_1(x_k)+(s_1(x_n))/2)=1/n(f_1(x_0)/2+\sum_{k=1}^n-1f_1(x_k)+f_1(x_n)/2)$ (questo poiche $s_1$ interpola $f$ nei nodi $x_0=0,x_1,...,x_(n-1),x_n=1$). Inoltre sappiamo anche che la formula dei trapezi ha precisione $1$ (quindi è esatto per polinomi di grado $<=1$) e $s_1$ sui vari nodi è un polinomio di grado $1$ quindi direi che la formula dei trapezi approssima esattamente $\int_0^1s_1(x)dx$.

ii) Supponendo $finC^2([0,1])$ (altrimenti non possiamo dire niente) abbiamo che $E(f)=\int_0^1(f(x)-s_1(x))dx=\int_0^1 max_kE_k=max_kE_k$, dove $E_k=f''(\xi_k)h_k/2$ con $h_k=x_(k+1)-x_k$ e $\xi_kin[x_k,x_(k+1)]$ (errore di approssimazione di $s_1$ su ogni sottointervallo). Abbiamo che $EE\xiin(0,1)$ tale che $max_kE_k=f''(\xi)(h_k)/2$ (per un certo $kin{0,...,n-1}$), e quindi ponendo $c=(h_k)/2$ otteniamo $E(f)=c*f''(\xi)$.

Qualcuno mi può dire se le due risposte vanno entrambe bene e in caso contrario come fare? Grazie.

Risposte
apatriarca
Se non sbaglio la formula dei trapezi si basa sull'assunzione che i nodi siano equidistanti. Tuttavia non mi sembra che la spline debba necessariamente avere nodi equidistanti nel problema. La formula sarebbe quindi la seguente:
\[ \int_0^1 s_1(x)\,dx = \sum_{k=1}^n \frac{(x_k - x_{k-1})\,\big(f(x_k) + f(x_{k-1})\big)}{2} = \frac{x_1\,f(0) + (1 - x_{n-1})f(x_n) + \sum_{k=1}^{n-1} (x_{k+1} - x_{k-1})\,f(x_k)}{2}. \]
Quando i nodi sono uniformi si ottiene la furmula dei trapezi.

Credo che l'esercizio volesse una dimostrazione simile a quella dei trapezi in questo caso. Se no hai in pratica solo ricordato i risultati che hai memorizzato per il metodo dei trapezi.

Angus1956
"apatriarca":
Se non sbaglio la formula dei trapezi si basa sull'assunzione che i nodi siano equidistanti. Tuttavia non mi sembra che la spline debba necessariamente avere nodi equidistanti nel problema. La formula sarebbe quindi la seguente:
\[ \int_0^1 s_1(x)\,dx = \sum_{k=1}^n \frac{(x_k - x_{k-1})\,\big(f(x_k) + f(x_{k-1})\big)}{2} = \frac{x_1\,f(0) + (1 - x_{n-1})f(x_n) + \sum_{k=1}^{n-1} (x_{k+1} - x_{k-1})\,f(x_k)}{2}. \]
Quando i nodi sono uniformi si ottiene la furmula dei trapezi.

Credo che l'esercizio volesse una dimostrazione simile a quella dei trapezi in questo caso. Se no hai in pratica solo ricordato i risultati che hai memorizzato per il metodo dei trapezi.

Si in effetti poi ci ho pensato anche io che la formula dei trapezi usava i nodi equidistanti, quindi bisogna fare la formula dei trapezi però quella generale. Per la ii) invece?

Quinzio
"andreadel1988":

ii) Discuti l'errore $E(f)=\int_0^1f(x)dx-\int_0^1s_1(x)dx$, e trova una formula del tipo $E(f)=c*f''(\xi)$ con $\xiin(0,1)$ in cui la costante $c$ dipende solo dai nodi.


Faccio un tentivo di arrivare alla formula richiesta, ma non sono per niente sicuro del risultato.

Se si pensa all'intervallo $[x_i, x_{i+1}]$, l'spline puo' essere vista come il polinomio interpolatore di grado $n = 1$, che graficamente sarebbe una retta, l'spline di grado $1$, appunto.

Per il polinomio interpolatore esiste gia' una formula per l'errore di interpolazione, che puo' essere usata nel nostro caso.
https://en.wikipedia.org/wiki/Polynomia ... tion_error

$$\displaystyle f(x)-p_{n}(x)={\frac {f^{(n+1)}(\xi )}{(n+1)!}}\prod _{i=0}^{n}(x-x_{i}) = $$

Nel nostro caso, con $n=1$ abbiamo:
$$\displaystyle f(x)-p_{1}(x)={\frac {f^{''}(\xi )}{2}}(x-x_{i})(x-x_{i+1}) = \frac {f^{''}(\xi )}{2}(x^2-(x_{i}+x_{i+1})x + x_{i} x_{i+1})$$
riferito ad un singolo tratto di spline tra i nodi $x_i$ e $x_{i+1}$.

Dobbiamo trovare una formula per

$E(f)=\int_0^1f(x)dx-\int_0^1s_1(x)dx$

che riscriviamo come

$E(f)= \sum_{i = 0}^{i = n-1} \int_{i}^{i+1} (f(x) - p_{1,i}(x))dx$

avendo stabilito che $s_1 = p_1$, ovvero l'spline e' il polinomio di grado $1$.

Se si continua con i calcoli...

$E(f)= \sum_{i = 0}^{i = n-1} \int_{i}^{i+1} ( ( f^{''}(\xi_i) )/(2) (x^2-(x_{i}+x_{i+1})x + x_{i} x_{i+1}) )dx$

$E(f)= \sum_{i = 0}^{i = n-1} ( ( f^{''}(\xi_i) )/(2) (-1/6 (x_{i+1}-x_i)^3))$

$E(f)= - 1/12 \sum_{i = 0}^{i = n-1} f^{''}(\xi_i) (x_{i+1}-x_i)^3$

$E(f)= - 1/12 f^{''}(\xi) \sum_{i = 0}^{i = n-1} (x_{i+1}-x_i)^3$

L'ultimo passaggio richiede qualche spiegazione.
Per ogni tratto di spline esiste questo punto $\xi_i$ che rende vera l'uguaglianza.
Per portare fuori dalla sommatoria $f^{''}(\xi_i)$ bisogna che esista un punto $\xi$ tale da soddisfare l'ultima uguaglianza.
Se la derivata seconda e' continua, questo punto esiste e sara' $min_i {f^{''}(\xi_i)} \le f^{''}(\xi) \le max_i {f^{''}(\xi_i)} $.

Per fare un esempio molto semplice, prendiamo un singolo tratto di spline tra $0$ e $1$ e la parabola $x^2$.
Graficamente, l'spline e' il segmento tra $(0,0)$ e $(1,1).$
Abbiamo in modo immediato:

$\int_0^1 s_1dx = 1/2$

$\int_0^1 x^2 dx = 1/3$

$E(f) = 1/3 -1/2 = -1/6$

D'altra parte
la derivata seconda e' costante uguale a $2$, quindi $\xi$ e' qualsiasi punto tra $0$ e $1$.

$E(f)= - 1/12 f^{''}(\xi) \sum_{i = 0}^{i = n-1} (x_{i+1}-x_i)^3$

$E(f)= - 1/12 2 (1-0)^3 = -1/6$

Angus1956
"Quinzio":


Se la derivata seconda e' continua, questo punto esiste e sara' $min_i {f^{''}(\xi_i)} \le f^{''}(\xi) \le max_i {f^{''}(\xi_i)} $.


Non mi è chiaro perchè esiste tale $\xi$ , come lo dimostri? Per il resto apposto.

Quinzio
"andreadel1988":
[quote="Quinzio"]

Se la derivata seconda e' continua, questo punto esiste e sara' $min_i {f^{''}(\xi_i)} \le f^{''}(\xi) \le max_i {f^{''}(\xi_i)} $.


Non mi è chiaro perchè esiste tale $\xi$ , come lo dimostri? Per il resto apposto.[/quote]

Perche' la derivata seconda e' continua, come ipotizzato.

Angus1956
"Quinzio":


Perche' la derivata seconda e' continua, come ipotizzato.


E non mi è chiaro perchè se la derivata seconda è continua allora $EExiin(0,1)$ tale che $ - 1/12 \sum_{i = 0}^{i = n-1} f^{''}(\xi_i) (x_{i+1}-x_i)^3=- 1/12 f^{''}(\xi) \sum_{i = 0}^{i = n-1} (x_{i+1}-x_i)^3 $

Quinzio
Per capire meglio potresti considerare questi due esempi.
1)
$f(x) = -x^2$ per $-1 \le x \le 0$
$f(x) = x^2$ per $0 \le x \le 1$
con i nodi $x_0 = -1, x_1 = 0, x_2 = 1$
In questo caso l'intervallo complessivo e' ovviamente $[-1,1].$

2)
$f(x) = x^3$ per $0 \le x \le 1$
con i nodi $x_0 = 0, x_1 = 1/2, x_2 = 1$

Per i due esempi, dovresti trovare, se esistono, $\xi_0, \xi_1 $ e $ \xi$.

Angus1956
"andreadel1988":


E non mi è chiaro perchè se la derivata seconda è continua allora $EExiin(0,1)$ tale che $ - 1/12 \sum_{i = 0}^{i = n-1} f^{''}(\xi_i) (x_{i+1}-x_i)^3=- 1/12 f^{''}(\xi) \sum_{i = 0}^{i = n-1} (x_{i+1}-x_i)^3 $

Ma si può dimostrare rigorosamente questo fatto?

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.