Massimo (o minimo) di una funzione simbolica

Messaggioda Edo_Rm » 21/12/2011, 10:01

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:
Edo_Rm
Starting Member
Starting Member
 
Messaggi: 38
Iscritto il: 10/12/2011, 15:27
Località: Milano

Torna a Analisi Numerica e Ricerca Operativa

Chi c’è in linea

Visitano il forum: Nessuno e 0 ospiti