APPROSSIMAZIONE NUMERICA PER LA RADICE QUADRATA

JasonPapanak
Salve a tutti, questo è il primo argomento che lancio, spero di scriverlo bene.
Ora, devo integrare per via numerica la funzione sqrt(x) tra 0 e 1. Posso scegliere quale metodo usare tra trapezi, Cavalieri-Simpson o un qualsiasi altro metodo della "famiglia" di Newton-Cotes. Caratteristica comune a questi metodi è che aumentando il numero di intervalli considerati, la precisione del calcolo aumenta, e in particolare:
1) Per il metodo dei trapezi, raddoppiando il numero di punti l'errore si riduce di un fattore 4
2) Per il metodo di Cavalieri-Simpson, raddoppiando il numero di punti l'errore si riduce di un fattore 16
Questo è vero in generale, e si può verificare (io l'ho fatto con matlab). Per la funzione sqrt(x), tuttavia, accade qualcosa di strano: qualsiasi sia il metodo scelto, raddoppiando il numero di punti l'errore si riduce sempre di un misterioso fattore circa pari a 2.828... ("circa pari" perché tale rapporto tende a stabilizzarsi mano a mano che vengono considerati raddoppi di punti sempre maggiori; passando da 1024 a 2048 punti, ad esempio il rapporto è stabile fino all'ottava cifra, 2.82842712...) Questo è quello che mi dice matlab. Ho creduto fosse un errore nel programma, ma dopo aver provato anche a mano il risultato non cambia. Conoscete il perché di questo comportamento? So che l'errore va con la derivata k-esima (k dipende dal metodo) della funzione nell'intervallo di integrazione (e qui forse c'è un problema perché la derivata tende a infinito), ma la costanza del rapporto tra gli errori è comunque davvero sospetta... idee?

Risposte
Raptorista1
Cosa succede se scegli un intervallo di integrazione in cui la funzione è \(C^\infty\)?

JasonPapanak
Eh ma il problema è proprio questo, in x=0 la funzione non è derivabile... Che però in generale non dovrebbe essere un problema! Tant'è che il valore dell'integrale comunque converge, ma non "velocemente" come mi aspetterei...!!!

Raptorista1
Perché non rispondi alla domanda invece?

JasonPapanak
Se f è una funzione derivabile infinite volte nell'intervallo d'integrazione... Vuol anche dire che tale funzione è continua, e dunque l'integrale definito esiste. Non saprei che altro aggiungere, perdona ma non riesco a capire dove vuoi arrivare...!!

Raptorista1
Quello che volevo dire è: se integri la radice quadrata col tuo metodo in un intervallo \([\varepsilon,1]\) la convergenza è quella giusta?

JasonPapanak
Sì, la convergenza è quella giusta. Per epsilon MOLTO prossimi allo 0 il rapporto che dicevo non converge, probabilmente arriverebbe a 4 o 16 ugualmente (non so se è opportuno per questo forum, ma ti restituisco una stringa di risultati per Cavalieri-Simpson, intervallo [0.000001,1] e numero di nodi via via crescente n=2 4 8 16 32... fino a 2^22, e questi sono i risultati del rapporto tra gli errori consecutivi)
2.84175110096571
2.84770343572216
2.85581504286812
2.86727789749736
2.88357647315419
2.90680671459951
2.93997741329581
2.98736720740537
3.05477946437103
3.14872998420202
3.26991837969370
3.38034124682205
3.28235450259298
2.56203159993445
1.57647761407385
1.12579277443422
1.01934877552624
1.00217335327266
1.00018349855219
1.00005126335695
I risultati divergono ma poi sembrano convergere a 1, ma è quasi certamente perché l'errore si riduce così tanto da raggiungere la precisione di macchina e gli ultimi risultati sono quasi congruenti nella rappresentazione di macchina..!! Ma il risultato sicuramente converge per [0,1]:
2.82810302797626
2.82836904639982
2.82841682180427
2.82842530181878
2.82842680238670
2.82842706773981
2.82842711453011
2.82842712250476
2.82842712331201

Raptorista1
La convergenza che ti aspetti è dimostrata solo nel caso in cui la funzione sia sufficientemente regolare, in questo caso \(C^4\), e la radice quadrata non ha questa regolarità in \([0,1]\), quindi non c'è garanzia che il metodo converga bene.

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