|
minimo di funzioni di 1 variabile: metodo barbaro
L'algoritmo più barbaro di tutti consiste nel dividere l'intervallo in tanti punti e cercare quello di valore minimo.
Se la funzione è molto regolare e basta una precisione grossolana, può essere sufficiente.
Prendiamo la funzione exp(x)-x +sin(8*x).
In Octave/Maple abbiamo:
f=@(x) exp(x)-x+sin(8*x)
x=[-5:0.000001:5];
y=f(x);
[fmin,ind]=min(y)
x(ind)
Lo stesso programma è molto più lento in maple:
f:=x->exp(x)-x+sin(8*x);
plot(f(x),x=-5..5);
m:=10;
for x from -5.0 by 0.0001 to 5.0 do if (evalf(f(x))< m) then z:=x; m:=f(z); end if; end do;
m;
z;
|