Pagina 1 di 1

tangenti ad una curca

Inviato: 12 mag 2006, 17:19
da desko
Il problema è abbastanza semplice da enunciare:
"Data una curva piana ed un punto sullo stesso piano ma non appartenente ad essa trovare le rette tangenti alla curva passanti per il punto".
Per la situazione in cui mi trovo si può limitare la generalità del problema: la curva può essere il grafico di una funzione y=f(x) definita su un insieme limitato, mentre il punto può essere preso appartenente all'asse y.
Io ho provato a venirne a capo analiticamente (con le limitazioni di cui sopra), ma mi sono trovato di fronte all'equazione y=f'(x)*(f(x)*x), dove:
- f è la funzione,
- x è l'ascissa del punto di tangenza (e la sua ordinata è f(x))
- y è l'ordinata del punto da cui mandare la tangente (e la sua ascissa è 0).
Ma ora dovrei invertire quell'equazione, perché a partire da y voglio ricavarmi x.
Qualcuno ha idea di come si faccia?
Vaghi ricordi di Meccanica Razionale mi hanno fatto tornare in mente il calcolo variazionale, ma spero che non si tratti di questo.

Inviato: 13 mag 2006, 21:41
da EvaristeG
E' abbastanza chiaro che non c'è un metodo generale e algoritmico per trovare tutte le tangenti ad una curva che passano per un punto dato. Se limiti la classe di curve a quelle algebriche (luogo di zeri di polinomi), allora il problema si riconduce al trovare le radici di un polinomio che ha lo stesso grado della curva (quindi anche in questo caso la soluzione è solo teorica).

Inviato: 15 mag 2006, 08:37
da desko
EvaristeG ha scritto:E' abbastanza chiaro che non c'è un metodo generale e algoritmico per trovare tutte le tangenti ad una curva che passano per un punto dato. Se limiti la classe di curve a quelle algebriche (luogo di zeri di polinomi), allora il problema si riconduce al trovare le radici di un polinomio che ha lo stesso grado della curva (quindi anche in questo caso la soluzione è solo teorica).
Peccato, speravo si potesse dire qualcosa di più.
Nel mio caso specifico in realtà la funzione non è data come legge matematica, ma come insieme (finito) di punti; speravo di trovare un metodo matematico per poi "adattarlo" al calcolo numerico. Con quello che mi dici potrei pensare di interpolare con un polinomio i miei punti, ma non so se la cosa convenga, perché i punti sono molte decine, se non poche centinaia e quindi o uso un polinomio di pari grado (in realtà un grado in meno, ma cambia poco), oppure fisso un grado massimo che approssimi, ma perdendo in precisione.

Inviato: 15 mag 2006, 08:56
da Marco
In generale, alzare il grado di un polignomo interpolante è un errore: la procedura è numericamente altamente instabile. Molto meglio usare un metodo dei minimi quadrati per trovare un polignomo di grado piccolo (2, 3...) che interpoli al meglio, oppure con una polignomale a tratti (es. cubic splines). A maggior ragione se i punti arrivano da un problema reale e quindi possono avere errori di misura. Altrimenti rischi un grossolano overfitting.

Inviato: 15 mag 2006, 10:03
da desko
Sì, in effetti sono stato un po' grezzo e grossolano nel mio intervento precedente; non sono ancora pratico di questo tipo di soluzioni approssimate.
Grazie