Minimizzazione di funzione
Salve, vorrei porvi una domanda, come si minimizza una funzione di questo tipo?
$ f(a,b,c)=(y(1)-x(1)*cos(a))^2+(y(2)-x(2)*cos(b))^2+(y(3)-x(3)*cos(c))^2 $
è una domanda non legata alla risoluzione di un esercizio ma ad una mia semplice curiosità...
Inizialmente ho pensato che si potesse derivare prima per a poi per b e poi per c eguagliare ciascuna dervivata a zero e mettere a sistema ma ciò non da una soluzione valida, cosa fareste?
$ f(a,b,c)=(y(1)-x(1)*cos(a))^2+(y(2)-x(2)*cos(b))^2+(y(3)-x(3)*cos(c))^2 $
è una domanda non legata alla risoluzione di un esercizio ma ad una mia semplice curiosità...
Inizialmente ho pensato che si potesse derivare prima per a poi per b e poi per c eguagliare ciascuna dervivata a zero e mettere a sistema ma ciò non da una soluzione valida, cosa fareste?
Risposte
Fammi capire, la funzione è
[tex]$f(a,b,c)=(y_1-x_1\cos(a))^2+(y_2-x_2\cos(b))^2+(y_3-x_3\cos(c))^2$[/tex]
con $(x_1,y_1),\ (x_2,y_2),\ (x_3,y_3)$ punti fissati, giusto?
[tex]$f(a,b,c)=(y_1-x_1\cos(a))^2+(y_2-x_2\cos(b))^2+(y_3-x_3\cos(c))^2$[/tex]
con $(x_1,y_1),\ (x_2,y_2),\ (x_3,y_3)$ punti fissati, giusto?
si esatto
La funzione è di tre variabili... il metodo di derivare va bene, ma quello ti restituisce solo i punti stazionari. Per poter calcolare i minimi (sempre che ce ne siano, e ce ne sono), dovresti usare l'Hessiana della funzione.
Ma io ti propongo un'altra soluzione. Poni le quantità tra parentesi pari rispettivamente a $X,Y,Z$, per cui la tua funzione risulta
[tex]$W=f(X,Y,Z)=X^2+Y^2+Z^2$[/tex]
Visto che $W$ è la somma di tre quantità quadrate, quindi positive, risulterà sempre $W\geq 0$. Il minimo allora si ha per $W=0$ e quindi se e solo se $X=Y=Z=0$... da queste considerazioni segue che il minimo si ha per tutti i punti $(a,b,c)$ tali che
[tex]$\cos(a)=\frac{y_1}{x_1},\qquad \cos(b)=\frac{y_2}{x_2},\qquad \cos(c)=\frac{y_3}{x_3}$[/tex]
Ovviamente la cosa funziona solo se $|y_i/x_i|\leq 1,\ i=1,2,3$.
Ma io ti propongo un'altra soluzione. Poni le quantità tra parentesi pari rispettivamente a $X,Y,Z$, per cui la tua funzione risulta
[tex]$W=f(X,Y,Z)=X^2+Y^2+Z^2$[/tex]
Visto che $W$ è la somma di tre quantità quadrate, quindi positive, risulterà sempre $W\geq 0$. Il minimo allora si ha per $W=0$ e quindi se e solo se $X=Y=Z=0$... da queste considerazioni segue che il minimo si ha per tutti i punti $(a,b,c)$ tali che
[tex]$\cos(a)=\frac{y_1}{x_1},\qquad \cos(b)=\frac{y_2}{x_2},\qquad \cos(c)=\frac{y_3}{x_3}$[/tex]
Ovviamente la cosa funziona solo se $|y_i/x_i|\leq 1,\ i=1,2,3$.
grazie ciampax, cmq intendevo proprio nei casi scomodi in cui il minimo non può essere individuato eguagliando a zero ciascun quadrato.
mi potresti fare un esempio con la hessiana?
In pratica verrebbe una matrice diagonale, moltiplico i valori sulla diagonale e poi?
mi potresti fare un esempio con la hessiana?
In pratica verrebbe una matrice diagonale, moltiplico i valori sulla diagonale e poi?
No aspetta, forse non hai capito. La funzione che scrivi tu ha minimo nei punti che ho scritto solo se puoi risolvere le equazioni relative ai coseni. Se avessi il punto $(1,3)$, il rapporto viene $3$ e non esiste nessun valore di $a$ tale che $\cos(a)=3$.
Di esempi con l'Hessiana e di calcolo in generale di punti di minimo/massimo per funzioni di più variabili è pieno il forum.
Di esempi con l'Hessiana e di calcolo in generale di punti di minimo/massimo per funzioni di più variabili è pieno il forum.
"ciampax":
No aspetta, forse non hai capito. La funzione che scrivi tu ha minimo nei punti che ho scritto solo se puoi risolvere le equazioni relative ai coseni. Se avessi il punto $(1,3)$, il rapporto viene $3$ e non esiste nessun valore di $a$ tale che $\cos(a)=3$.
Di esempi con l'Hessiana e di calcolo in generale di punti di minimo/massimo per funzioni di più variabili è pieno il forum.
avevo capito , forse non mi sono spiegato per me la funzione ha sempre un minimo ma potrebbe non essere 0 come credo tu intenda, imponendo gli opportuni vincoli è possibile calcolarlo ad esempio tramite il risolutore di Excel,
"gabriele81":
[quote="ciampax"]No aspetta, forse non hai capito. La funzione che scrivi tu ha minimo nei punti che ho scritto solo se puoi risolvere le equazioni relative ai coseni. Se avessi il punto $(1,3)$, il rapporto viene $3$ e non esiste nessun valore di $a$ tale che $\cos(a)=3$.
Di esempi con l'Hessiana e di calcolo in generale di punti di minimo/massimo per funzioni di più variabili è pieno il forum.
avevo capito , forse non mi sono spiegato per me la funzione ha sempre un minimo ma potrebbe non essere 0 come credo tu intenda, imponendo gli opportuni vincoli è possibile calcolarlo ad esempio tramite il risolutore di Excel,[/quote]
........cheeeeeeeeee??????????

Poni per semplicità [tex]$\alpha_1=\cos a,\ \alpha_2=\cos b,\ \alpha_3=\cos c$[/tex]; in tal modo la tua funzione si scrive:
[tex]$f(\alpha_1,\alpha_2,\alpha_3) =\sum_{i=1}^3 (y_i-x_i\ \alpha_i)^2$[/tex],
in cui [tex]$(\alpha_1,\alpha_2,\alpha_3) \in [-1,1]^3$[/tex].
L'insieme [tex]$[-1,1]^3$[/tex] è compatto, perciò [tex]$f$[/tex] vi ha massimo e minimo; tali valori possono essere assunti o nell'interno del cubetto, o sulla sua frontiera.
Per determinare gli estremi interni al cubo [tex]$[-1,1]^3$[/tex], basta tener presente che essi sono necessariamente zeri del gradiente di [tex]$f$[/tex] rispetto agli [tex]$\alpha_i$[/tex], che è:
[tex]$\text{D} f(\alpha_1,\alpha_2,\alpha_3) =-2 (x_1\ (y_1-x_1\ \alpha_1), x_2\ (y_2-x_2\ \alpha_2), x_3\ (y_3-x_3\ \alpha_3))$[/tex],
perciò risolvono il sistema:
[tex]$\begin{cases} x_1\ (y_1-x_1\ \alpha_1) =0 \\ x_2\ (y_2-x_2\ \alpha_2) =0 \\ x_3\ (y_3-x_3\ \alpha_3)=0\end{cases}$[/tex].
Per determinare gli estremi presi sulla frontiera, basta andare a guardare cosa succede su ogni faccia e su ogni spigolo del cubetto.
Per esempio, per guardare cosa succede sulla faccia descritta dai punti con [tex]$\alpha_1=1$[/tex], devi considerare la funzione di due variabili [tex]$f(1,\alpha_2,\alpha_3)$[/tex] e studiarla in [tex]$[-1,1]^2$[/tex]; invece, per guardare cosa succede lungo lo spigolo descritto dai punti con [tex]$\alpha_1=1,\alpha_2=-1$[/tex], devi considerare la funzione [tex]$f(1,-1,\alpha_3)$[/tex] e studiarla in [tex]$[-1,1]$[/tex].
Una volta che hai determinato tutti i candidati, calcoli tutti i valori che danno massimi e minimi locali e poi ti prendi il punto corrispondente al minimo assoluto ed al massimo assoluto.
Sono cose lunghe e seccanti, ma semplici.
[tex]$f(\alpha_1,\alpha_2,\alpha_3) =\sum_{i=1}^3 (y_i-x_i\ \alpha_i)^2$[/tex],
in cui [tex]$(\alpha_1,\alpha_2,\alpha_3) \in [-1,1]^3$[/tex].
L'insieme [tex]$[-1,1]^3$[/tex] è compatto, perciò [tex]$f$[/tex] vi ha massimo e minimo; tali valori possono essere assunti o nell'interno del cubetto, o sulla sua frontiera.
Per determinare gli estremi interni al cubo [tex]$[-1,1]^3$[/tex], basta tener presente che essi sono necessariamente zeri del gradiente di [tex]$f$[/tex] rispetto agli [tex]$\alpha_i$[/tex], che è:
[tex]$\text{D} f(\alpha_1,\alpha_2,\alpha_3) =-2 (x_1\ (y_1-x_1\ \alpha_1), x_2\ (y_2-x_2\ \alpha_2), x_3\ (y_3-x_3\ \alpha_3))$[/tex],
perciò risolvono il sistema:
[tex]$\begin{cases} x_1\ (y_1-x_1\ \alpha_1) =0 \\ x_2\ (y_2-x_2\ \alpha_2) =0 \\ x_3\ (y_3-x_3\ \alpha_3)=0\end{cases}$[/tex].
Per determinare gli estremi presi sulla frontiera, basta andare a guardare cosa succede su ogni faccia e su ogni spigolo del cubetto.
Per esempio, per guardare cosa succede sulla faccia descritta dai punti con [tex]$\alpha_1=1$[/tex], devi considerare la funzione di due variabili [tex]$f(1,\alpha_2,\alpha_3)$[/tex] e studiarla in [tex]$[-1,1]^2$[/tex]; invece, per guardare cosa succede lungo lo spigolo descritto dai punti con [tex]$\alpha_1=1,\alpha_2=-1$[/tex], devi considerare la funzione [tex]$f(1,-1,\alpha_3)$[/tex] e studiarla in [tex]$[-1,1]$[/tex].
Una volta che hai determinato tutti i candidati, calcoli tutti i valori che danno massimi e minimi locali e poi ti prendi il punto corrispondente al minimo assoluto ed al massimo assoluto.
Sono cose lunghe e seccanti, ma semplici.
Ti ringrazio gugo82 sei stato gentilissimo