Creare una funzione da punti
Salve a tutti, sono nuovo di queto forum.
Volevo avere un'informazione:
esiste un modo per costruire una funzione se vengono assegnati solo dei punti (x,y)???
Mi spiego meglio:
Se conosco le coordinate di alcuni punti (x,y) è possibile scrivere una funzione che passi per quei punti???
Pensavo ad una sorta di teorema di Taylor ma che invece di approssimare una funzione con un'altra funzione approssima dei punti con una funzione...
Una cosa del genere:

Grazie in anticipo
ciao
Volevo avere un'informazione:
esiste un modo per costruire una funzione se vengono assegnati solo dei punti (x,y)???
Mi spiego meglio:
Se conosco le coordinate di alcuni punti (x,y) è possibile scrivere una funzione che passi per quei punti???
Pensavo ad una sorta di teorema di Taylor ma che invece di approssimare una funzione con un'altra funzione approssima dei punti con una funzione...
Una cosa del genere:

Grazie in anticipo
ciao
Risposte
Quindi complessità lineare, grazie ancora a tutti!
"giacomololo":
Qui forse vado un po' troppo sull'informatica, ma provo achiedervelo comunque...
L'algoritmo per risolvere il problema che vi ho spiegato prima che complessità avrà (lineare, esponenziale, logaritmica)???
Perchè devo scrivere un programma che mi risolva questo problema ma con in ingresso alcuni milioni di punti, quindi se la complessità dell'algoritmo è lineare l'algoritmo termina in tempi decenti ma se fosse quadratica o addirittura esponenziale, posso abbandonare subito il mio progettoperchè mi servirebbe il cluster di google per concludere in tempo utile l'esecuzione dell'algoritmo...
Se interpoli con una funzione polinomiale il tempo dovrebbe essere direttamente proporzionale al numero di punti
Qui forse vado un po' troppo sull'informatica, ma provo achiedervelo comunque...
L'algoritmo per risolvere il problema che vi ho spiegato prima che complessità avrà (lineare, esponenziale, logaritmica)???
Perchè devo scrivere un programma che mi risolva questo problema ma con in ingresso alcuni milioni di punti, quindi se la complessità dell'algoritmo è lineare l'algoritmo termina in tempi decenti ma se fosse quadratica o addirittura esponenziale, posso abbandonare subito il mio progetto
perchè mi servirebbe il cluster di google per concludere in tempo utile l'esecuzione dell'algoritmo...
L'algoritmo per risolvere il problema che vi ho spiegato prima che complessità avrà (lineare, esponenziale, logaritmica)???
Perchè devo scrivere un programma che mi risolva questo problema ma con in ingresso alcuni milioni di punti, quindi se la complessità dell'algoritmo è lineare l'algoritmo termina in tempi decenti ma se fosse quadratica o addirittura esponenziale, posso abbandonare subito il mio progetto


"MaMo":
[quote="carlo23"]..... ma se non sbaglio una sola funzione polinomiale di grado n che passa per essi.
Io direi di grado n - 1. Infatti dati due punti esiste una sola retta, dati tre punti una sola parabola ...[/quote]
già è vero ho fatto confusione, in effetti il mio metodo di interpolazione funziona anche con n-1
Certo che si può risolvere: ci sono tre metodi principali in ambito scolastico (almeno che ho studiato io). Il primo è il metodo di risoluzione diretta del sistema lineare, il secondo è il metodo di Lagrange e il terzo è il metodo di Newton. Sinceramente è un po' ostico descriverli sul forum, anche perchè sono abbastanza lunghi. Se qualcuno ha buona volontà!
Grazie mille a tutti!!!
L'interpolazione l'ho fatta un po' alle superiori in statistica, qualcosina mi ricordo:-)
L'interpolazione l'ho fatta un po' alle superiori in statistica, qualcosina mi ricordo:-)
"carlo23":
..... ma se non sbaglio una sola funzione polinomiale di grado n che passa per essi.
Io direi di grado n - 1. Infatti dati due punti esiste una sola retta, dati tre punti una sola parabola ...
"leonardo":
Esiste un metodo matematico, chiamato interpolazione, che permette di individuare, partendo da un insieme di punti finiti, una funzione f(x) che ha la particolarità di essere il riferimento di tutti i punti dati. Esistono vari metodi di interpolazione: interpolazione lineare, interpolazione polinomiale, interpolazione spline, etc. Ovviamente ogni metodo genera una funzione sempre più liscia e quindi con un margine di errore sempre minore. La scelta del metodo in relazione al problema da affrontare o in base al numero di punti a disposizione è fontamentale. Infatti, ad esempio, se si dispone di un insieme di punti illimitato, è sbagliato utilizzare l'interpolazione lineare o l'interpolazione polinomiale, ma è opportuno scegliere la formula interpolante di Nyquist-Shannon. Oppure se si dispone sia di punti della funzione da interpolare sia di punti della sua derivata si utilizza l'interpolazione di Hermite. Questo concetto di interpolazione si può estendere in n-dimensioni, che viene propriamente detto interpolazione multivariata, appunto nel caso in cui si studino funzioni a più variabili reali. In base alla dimensione viene denotato il tipo di interpolazione: due variabili->interpolazione bilineare e interpolazione bicubica, 3 dimensioni->interpolazione trilineare.
Quindi il mio è un metodo di interpolazione, mi sembra che i metodi di interpolazione stiano molto venendo usati per fare congetture riguardo le funzioni aritmetiche. Vero?
"carlo23":
Se hai n punti non coincidenti esistono ovviamente infinite funzioni che passano per quei punti, ma se non sbaglio una sola funzione polinomiale di grado n che passa per essi.
Il metodo per trovare una funzione polinomiale che passi per i punti è questo:
Tu hai n punti non coincidenti , e vuoi trovare una funzione polinomiale di grado n f(x) che passi per essi.
Se indichi i punti che conosci con (x1,y1),(x2,y2)...(xn,yn) allora sai che
f(x1)=y1
f(x2)=y2
f(x3)=y3
.......
f(xn)=yn
dato che f(x) è una funzione polinomiale di grado n la puoi scrivere come
f(x)=a0+a1x+a2x^2+...anx^n
da cui ricavi
f(x1)=a0+a1x1+a2x1^2+...anx1^n=y1
f(x2)=a0+a1x2+a2x2^2+...anx2^n=y2
f(x3)=a0+a1x3+a2x3^2+...anx3^n=y3
.......
f(xn)=a0+a1xn+a2xn^2+...anxn^n=yn
questo e un sistema di equazioni che risolto di da i coefficienti a della tua funzione polinomiale.
Ciao, spero di esserti stato di aiuto

Esiste un metodo matematico, chiamato interpolazione, che permette di individuare, partendo da un insieme di punti finiti, una funzione f(x) che ha la particolarità di essere il riferimento di tutti i punti dati. Esistono vari metodi di interpolazione: interpolazione lineare, interpolazione polinomiale, interpolazione spline, etc. Ovviamente ogni metodo genera una funzione sempre più liscia e quindi con un margine di errore sempre minore. La scelta del metodo in relazione al problema da affrontare o in base al numero di punti a disposizione è fontamentale. Infatti, ad esempio, se si dispone di un insieme di punti illimitato, è sbagliato utilizzare l'interpolazione lineare o l'interpolazione polinomiale, ma è opportuno scegliere la formula interpolante di Nyquist-Shannon. Oppure se si dispone sia di punti della funzione da interpolare sia di punti della sua derivata si utilizza l'interpolazione di Hermite. Questo concetto di interpolazione si può estendere in n-dimensioni, che viene propriamente detto interpolazione multivariata, appunto nel caso in cui si studino funzioni a più variabili reali. In base alla dimensione viene denotato il tipo di interpolazione: due variabili->interpolazione bilineare e interpolazione bicubica, 3 dimensioni->interpolazione trilineare.
Se hai n punti non coincidenti esistono ovviamente infinite funzioni che passano per quei punti, ma se non sbaglio una sola funzione polinomiale di grado n che passa per essi.