Buonasera a tutti io ho un problema nel trovare i massimi e minimi della funzione con il comando assegnato:
fminbnd(fun,sinistro,destro,optimset('TolX',1e-10))
Quindi ho creato l'anonymus function
myfun=@(x) (a.*sin(x).*exp(5-0.01.*x.^2)+b.*(x.^2+4.*x+5));
dopodichè l'ho usata per risolvere il codice
sono partito con i minimi e nessun problema, allego ugualmente i codici
m1=fminbnd(myfun,-3,0,optimset('TolX',1e-10))
m2=fminbnd(myfun,3,5,optimset('TolX',1e-10))
Con i minimi mi sono usciti valori giusti in quanto avevo già visto approssimativamente la funzione in che punto avesse i minimi ma il problema è con i massimi in quanto mi da numeri molto piccoli dell'ordine di e-11 e non sono quelli che ho individuato.
Questi sono i codici per i due punti di massimo
M1=fminbnd(myfun,0,3,optimset('TolX',1e-10))
M2=fminbnd(myfun,6,9,optimset('TolX',1e-10))
Purtroppo devo usare questa funzione qui perchè in seguito ho provato con altre funzioni, ovvero fminrad e fminfibonacci e mi trovo con le soluzioni approssimativamente ma con fminbnd purtroppo no.
Sapete aiutarmi??
Grazie mille