Espressione da Grafico

Messaggioda B0bKat » 18/01/2017, 11:07

Salve a tutti, come da titolo mi servirebbe l'espressione analitica (anche polinomiale) di una funzione a partire dal grafico. In particolare il grafico è simmetrico rispetto l'origine, ha il valore di 5 per x che vanno da 0 a 2000 e una volta superati i 2000 decresce in maniera quasi iperbolica. Qualcuno potrebbe aiutarmi? io non so piu dove sbattere la testa...
B0bKat
Starting Member
Starting Member
 
Messaggio: 1 di 10
Iscritto il: 18/01/2017, 11:02

Re: Espressione da Grafico

Messaggioda feddy » 18/01/2017, 12:41

In teoria l'interpolazione polinomiale potrebbe fare al caso tuo. Con MatLab tramite polyfit e polyval e con un ciclo opportuno dovresti riuscire ad ottenere l'espressione analitica del polinomio interpolante

Non so se esistano altre tecniche più potenti visto che finora di analisi numerica ho fatto solo un corso.
Avatar utente
feddy
Moderatore
Moderatore
 
Messaggio: 766 di 5934
Iscritto il: 26/06/2016, 00:25
Località: SISSA

Re: Espressione da Grafico

Messaggioda B0bKat » 18/01/2017, 15:00

il mio problema nell'usare Matlab è che non ho la più pallida idea di come costruire la forma d'onda (cosa che ho provato a fare per mezza giornata) per poi usare l'espressioni polyfit e polyval
B0bKat
Starting Member
Starting Member
 
Messaggio: 2 di 10
Iscritto il: 18/01/2017, 11:02

Re: Espressione da Grafico

Messaggioda feddy » 18/01/2017, 16:13

In teoria però dovresti conoscere o punti $(x_i,y_i)$ per cui passa il tuo grafico..
Avatar utente
feddy
Moderatore
Moderatore
 
Messaggio: 767 di 5934
Iscritto il: 26/06/2016, 00:25
Località: SISSA

Re: Espressione da Grafico

Messaggioda B0bKat » 18/01/2017, 16:46

Allora io so solo che fino ad x=2000 deve valere 5, e poi deve decrescere fino a 0 in maniera iperbolica. Quindi in teoria potrei avere le coppie di valori (anche se nel tratto decrescente in realtà non ne ho) l'unica funzione decrescente che mi viene in mente è $ -log (x) $. E potrei fare un CSV cosicché lo posso usare su matlab.
B0bKat
Starting Member
Starting Member
 
Messaggio: 3 di 10
Iscritto il: 18/01/2017, 11:02

Re: Espressione da Grafico

Messaggioda feddy » 18/01/2017, 18:46

Scusa l'ignoranza, cosa intendi con CSV?

Comunque, se hai le coppie di punti per cui passa la tua funzione, con MatLab è possibile interpolarla.
Avatar utente
feddy
Moderatore
Moderatore
 
Messaggio: 768 di 5934
Iscritto il: 26/06/2016, 00:25
Località: SISSA

Re: Espressione da Grafico

Messaggioda B0bKat » 19/01/2017, 10:49

il CSV è un formato di file derivato da excel. Il mio problema non è la fattibilità nel trovare la soluzione ma riuscire a dare a matlab il grafico che mi serve per poi cercare i polinomi.
B0bKat
Starting Member
Starting Member
 
Messaggio: 4 di 10
Iscritto il: 18/01/2017, 11:02

Re: Espressione da Grafico

Messaggioda feddy » 19/01/2017, 11:13

La routine MatLab che implementa l’interpolazione polinomiale è polyfit, mediante la sintassi p = polyfit(x,y,n) dove $n$ è il grado del polinomio con cui vogliamo interpolare i dati.
Restituisce in uscita un vettore con i coefficienti del polinomio. Nel nostro caso sarà n=length(x)-1. I coefficienti del polinomio $p$ sono da interpretarsi in ordine decrescente: il primo coefficiente è relativo al monomio di grado massimo.

Per valutare un polinomio su un insieme di punti si utilizza la routine polyval.

Il grafico lo puoi costruire facendo il plot così:
I vettori $x_i=[ldots]$ e $y_i=[ldots]$ li devi costruire te in base ai tuoi dati. Credo sia meglio, ma non ne sono sicuro, se sono equispaziati. E ovviamente, devono essere della stessa lunghezza.

Codice:
clc
clear all
close all
p=polyfit(xi,yi,n); %trova i coefficienti del polinomio interpolante
t=linspace(-5e3,5e3,10000); % intervallo su cui vuoi lavorare, puoi adattarlo a tuo piacimento
plot(t,polyval(p,t),'g') % faccio il plot
Avatar utente
feddy
Moderatore
Moderatore
 
Messaggio: 769 di 5934
Iscritto il: 26/06/2016, 00:25
Località: SISSA

Re: Espressione da Grafico

Messaggioda B0bKat » 20/01/2017, 13:16

ok.. allora questo finesettimana ci provo e vediamo cosa esce fuori.. :D grazie per l'aiuto
B0bKat
Starting Member
Starting Member
 
Messaggio: 5 di 10
Iscritto il: 18/01/2017, 11:02

Re: Espressione da Grafico

Messaggioda feddy » 20/01/2017, 17:40

Di nulla. Spero di esserti stato utile
Avatar utente
feddy
Moderatore
Moderatore
 
Messaggio: 770 di 5934
Iscritto il: 26/06/2016, 00:25
Località: SISSA


Torna a Analisi Numerica e Ricerca Operativa

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite