Massimo (o minimo) di una funzione simbolica

Edo_Rm
Buongiorno!

Ho riscontrato il seguente problema in matlab:


syms tr
Cb=(k1/(-k1-k2))*(P/(Rconc*Tbatch))*(exp((-k1-k2)*tr)-1); %[kmol/m3]
ProdB=(V*Cb)/(tr+TempoMorto); %[kmol/h]


Ora io di questa ProdB devo trovare il massimo... Ho provato con


diffProdB=diff(ProdB,'tr')
soluzione=solve(diffProdB)


Così facendo trovo la derivata della funzione e successivamente la azzero, il problema è che la funzione ha svariati minimi e massimi relativi (e con il comando solve mi trova il minimo in corrispondenza di tr=-2,38), io ho bisogno del massimo nell'intervallo che va da 0 a 10 per la variabile tr.

Ho provato anche il comando

hw=fminbnd(-ProdB,0,10)

Cioè cerco il minimo della funzione -ProdB che dovrebbe corrispondere al massimo (semplicemente perché non esiste il comando fmaxbnd)
ma Matlab mi sputa fuori un errore del tipo

??? Error using ==> fcnchk at 108
If FUN is a MATLAB object, it must have an feval method.

Error in ==> fminbnd at 178
funfcn = fcnchk(funfcn,length(varargin));

Error in ==> contattoottimalebatch at 55
hw=fminbnd(-ProdB,0,10)


Non riesco a venirne a capo, eppure dovrebbe essere così semplice.... :shock:

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