Ricavare equazione

colonna2
Sto cercando di ricavare un'unica equazione conoscendo 5 condizione. Le condizioni sono:
A(6.28,-35.53) , B(4.08,0) e C(-19,-27.6) i punti di passaggio della funzione e i punti A e C sono di minimo. Ho cercato di risolvere questo problema utilizzando Matlab. Inoltre ho fatto diversi tentativi scrivendo diverse equazioni polinomiali ma non riesco a ottenere la funzione voluta. Grazie e spero che qualcuno mi aiuti.

Risposte
gugo82
Innanzitutto, non inserire i titoli in maiuscolo. Modifica, grazie.

In seconda battuta, non vuoi ricavare un’equazione, ma la legge di assegnazione di una funzione.
Quindi, sarebbe meglio chiarire che tipo di funzione cerchi: polinomio? trigonometrica? esponenziale?

colonna2
l'equazione che cerco non la conosco. L'equazione potrebbe essere di qualunque tipo

gugo82
"Funzione", non equazione.
Sono cose diverse.

Devi chiarire cosa vuoi fare o cosa vuoi ottenere, allora.
Di curve lisce che passano per quei tre punti e soddisfano le due condizioni di estremo richieste ce ne sono infinite, ovviamente, e ancora di più sono quelle non regolari. Dunque hai molto margine di libertà nella scelta della funzione che cerchi.
Proprio per il molto margine, devi dire tu in che classe di funzioni vuoi cercare.

Per esempio, visto che hai due minimi, puoi provare a cercare un polinomio di quarto grado, cioè una funzione del tipo:
\[
f(x) := ax^4 + bx^3 + cx^2 + dx + e\; ,
\]
al quale dovrai imporre il passaggio per tre punti e le condizioni di minimo in due di essi per determinare i cinque coefficienti incogniti.

Bokonon
[ot]@Gugo Mi hai fatto tornare in mente Von Neumann (spesso citato da Fermi):
Con 4 gradi libertà riesco ad interpolare un elefante: con 5 riesco pure a fargli muovere la proboscide[/ot]

colonna2
Avevo gia' tentato di descrivere l'andamento voluto con un un polinomio di quarto grado senza riuscirci. Come posso mandarvi una foto per farvi capire l'andamento della funzione che vorrei ottenere? Grazie in anticipo

gugo82
Innanzitutto, posta i tuoi calcoli.

In secondo luogo, per allegare immagini puoi usare il tab "Aggiungi immagine" (via imgur) che trovi sotto la finestra in cui scrivi il post nell' Editor Completo. :wink:

colonna2

questo è il possibile andamento che vorrei cercare di ottenere utilizzando un'unica funzione. Per ottenere quella curva ho dovuto utilizzare due funzioni polinomiali di quarto grado. E' possibile ricavare quell'andamento con un'unica funzione? E quale funzione la potrebbe rappresentare? Utilizzando matlab ho scritto diverse funzioni (polinimiali di diverso grado, esponenziali ecc ) senza riuscirci. Vorrei cercare di ottenere con un'unica funzione un andamento crescente dal punto A fino al punto B e poi decrescente dal punto B fino al punto C. Grazie in anticipo

axpgn
Hai provato a fare il contrario? Ovvero invece di scrivere tu la funzione, tu ci metti i punti e la funzione la fai ricavare da qualche sw specializzato ...
Ovviamente non intendo solo quei tre punti ma tutti quelli che riesci a "tirar fuori" da quel grafico che hai disegnato (se quello è il tuo obiettivo)

Cordialmente, Alex

gugo82
Scusa, ma allora hai anche una condizione di massimo in $B$... E lo vuoi dire?

Certo che un polinomio di grado $4$ non basta: devi soddisfare $6$ condizioni!
Prova con uno di grado $5$ (dovresti trovarne uno solo) o di grado $6$ (tanti).

colonna2
Si ho tentato. Ho utilizzato il fitting in matlab un programma chiamato Origin ma senza nessun risolvato voluto. Esiste secondo voi usa funzione che possa avere quell'andamento? grazie cordialmente

colonna2
Si gugo82 le ho tentate tutte. ho tentato anche di scrivere un polinomio di settimo, ottavo e nono grado senza riuscirci. Ovviamnte aggiungendo più condizioni non certe. Le uniche condizioni che sono certo che deve verificare la funzione sono quelle che ti ho scritto sopra: ovvero conosco con certezza tre punti e due di minimo

axpgn
"colonna":
Si ho tentato. Ho utilizzato il fitting in matlab un programma chiamato Origin ma senza nessun risolvato voluto. Esiste secondo voi usa funzione che possa avere quell'andamento? grazie cordialmente

Scusami ma io inserendo a occhio in Excel una decina di valori ricavati dal tuo grafico ho ottenuto questa equazione di sesto grado (quella rossa)



Non penso proprio che inserendone 50 o 100 in un sw specializzato venga fuori qualcosa di peggiore ... :?

Vidocq
Il thread dovrebbe essere spostato in Analisi numerica.

Serve almeno un polinomio di grado 5, imponendo anche le derivate nulle in corrispondenza dei punti A, B e C.


Questo tipo di approccio random al problema non ti permetterebbe di passare l'esame di calcolo numerico :wink:



$f(x) = 0,01134x^{5} + 0,25589x^{4} - 1,69813x^{3} - 31,8965x^{2} + 259,852x - 497,629$

È necessario conoscere l'uso finale della curva.
Il mio polinomio è solo un esempio che non rispetta tutte le condizioni che hai imposto ;-)

gugo82
@colonna: Cosa devi farci con questa curva?

Ad ogni buon conto, dette $(x_i,y_i)$ le coordinate dei tuoi punti, innanzitutto puoi provare con il sistema:
\[
\begin{cases}
ax_i^5 + bx_i^4 + cx_i^3 + dx_i^2 +ex_i + f = y_i &\text{con } i=1,2,3\\
5ax_i^4 + 4bx_i^3 + 3cx_i^2 + 2dx_i + e = 0 &\text{con } i=1,2,3\\
\end{cases}
\]
che è lineare e di Cramer, quindi ha unica soluzione. Che risultati trovi? Non ti piacciono?

Se scegli polinomi di grado maggiore hai una incognita in più.
Per sceglierla bene potresti pensare di aggiungere le condizioni sulle derivate seconde sotto forma di disugualianza:
\[
\begin{cases}
ax_i^6 + bx_i^5 + cx_i^4 + dx_i^3 +ex_i^2 + fx_i + g = y_i &\text{con } i=1,2,3\\
6ax_i^5 + 5bx_i^4 + 4cx_i^3 + 3dx_i^2 + 2ex_i + f = 0 &\text{con } i=1,2,3\\
(-1)^{i+1} (30ax_i^4 + 20bx_i^3 + 12cx_i^2 + 6dx_i + 2e) > 0 &\text{con } i=1,2,3
\end{cases}
\]
(quel $(-1)^{i+1}$ serve perché per $i=1,3$ dobbiamo avere un minimo, dunque derivata seconda positiva; mentre per $i=2$ dobbiamo avere un massimo, quindi derivata seconda negativa).
Prova a fare il conto.

colonna2
"gugo82":
@colonna: Cosa devi farci con questa curva?

Ad ogni buon conto, dette $(x_i,y_i)$ le coordinate dei tuoi punti, innanzitutto puoi provare con il sistema:
\[
\begin{cases}
ax_i^5 + bx_i^4 + cx_i^3 + dx_i^2 +ex_i + f = y_i &\text{con } i=1,2,3\\
5ax_i^4 + 4bx_i^3 + 3cx_i^2 + 2dx_i + e = 0 &\text{con } i=1,2,3\\
\end{cases}
\]
che è lineare e di Cramer, quindi ha unica soluzione. Che risultati trovi? Non ti piacciono?

Se scegli polinomi di grado maggiore hai una incognita in più.
Per sceglierla bene potresti pensare di aggiungere le condizioni sulle derivate seconde sotto forma di disugualianza:
\[
\begin{cases}
ax_i^6 + bx_i^5 + cx_i^4 + dx_i^3 +ex_i^2 + fx_i + g = y_i &\text{con } i=1,2,3\\
6ax_i^5 + 5bx_i^4 + 4cx_i^3 + 3dx_i^2 + 2ex_i + f = 0 &\text{con } i=1,2,3\\
(-1)^{i+1} (30ax_i^4 + 20bx_i^3 + 12cx_i^2 + 6dx_i + 2e) > 0 &\text{con } i=1,2,3
\end{cases}
\]
(quel $(-1)^{i+1}$ serve perché per $i=1,3$ dobbiamo avere un minimo, dunque derivata seconda positiva; mentre per $i=2$ dobbiamo avere un massimo, quindi derivata seconda negativa).
Prova a fare il conto.

La curva rappresenta l'energia potenziale di un oggetto. Riuscendo a ottenere la funzione che meglio approssima quella curva, dovrei derivare la funzione potenziale e inserirla all'interno di un equazione differenziale non lineare di secondo grado. Ecco perchè non posso descrivere l'andamento della curva con due funzioni.

colonna2
"axpgn":
[quote="colonna"]Si ho tentato. Ho utilizzato il fitting in matlab un programma chiamato Origin ma senza nessun risolvato voluto. Esiste secondo voi usa funzione che possa avere quell'andamento? grazie cordialmente

Scusami ma io inserendo a occhio in Excel una decina di valori ricavati dal tuo grafico ho ottenuto questa equazione di sesto grado (quella rossa)



Non penso proprio che inserendone 50 o 100 in un sw specializzato venga fuori qualcosa di peggiore ... :?[/quote]

la curva che hai trovato è simile a quella che ho trovato io. Purtruppo non idonea al mio scopo.

colonna2
"Vidocq":
Il thread dovrebbe essere spostato in Analisi numerica.

Serve almeno un polinomio di grado 5, imponendo anche le derivate nulle in corrispondenza dei punti A, B e C.


Questo tipo di approccio random al problema non ti permetterebbe di passare l'esame di calcolo numerico :wink:



$f(x) = 0,01134x^{5} + 0,25589x^{4} - 1,69813x^{3} - 31,8965x^{2} + 259,852x - 497,629$

È necessario conoscere l'uso finale della curva.
Il mio polinomio è solo un esempio che non rispetta tutte le condizioni che hai imposto ;-)

Quella curva è simile a quelle che ho trovato io ma purtroppo far descrivere con un'unica funzione quella curva è un'impresa.

axpgn
"colonna":
la curva che hai trovato è simile a quella che ho trovato io. Purtruppo non idonea al mio scopo.

Appunto.
Se io sono riuscito a "trovare" una curva simile a quella che ti serve "usando" solo una decina di punti del tuo grafico (tra l'altro imprecisi perché ricavati ad occhio) immessi in Excel, il mio suggerimento è quello di estrarne un centinaio e metterli in un sw specializzato; dovrebbe uscirne una curva molto simile alla tua, sulla quale magari puoi anche lavorarci poi. IMHO

Cordialmente, Alex

colonna2
"axpgn":
[quote="colonna"]la curva che hai trovato è simile a quella che ho trovato io. Purtruppo non idonea al mio scopo.

Appunto.
Se io sono riuscito a "trovare" una curva simile a quella che ti serve "usando" solo una decina di punti del tuo grafico (tra l'altro imprecisi perché ricavati ad occhio) immessi in Excel, il mio suggerimento è quello di estrarne un centinaio e metterli in un sw specializzato; dovrebbe uscirne una curva molto simile alla tua, sulla quale magari puoi anche lavorarci poi. IMHO

Cordialmente, Alex[/quote]
Ho fatto anche quel tentativo ma senza riuscirci. Esce sempre un andamento ondulato della curva che non vorrei ottenere. Il mio scopo è di creare una curva che sia crescente e poi decrescente. Siccome non conosco il vero andamento della curva ho tentato anche di considerare il punto B come punto angoloso.
Saluti

gugo82
Provato con un'interpolazione spline?

Per quanto riguarda il resto... Non puoi farci nulla: le funzioni definite a tratti esistono e devono essere usate quando servono.
Se questo è il caso, bene: usale.

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