I have an expression f in terms of y (independent variable), a and b(parameters). I would like to take the derivative of f with respect to y, and then set the first order condition df/dy=0 to solve for y. The codes are
function g=derive(y,a,b)
g=diff(fun,y);
end;
function [f,c1,c2]=fun(y,a,b)
f=a*log(c1)+b*log(c2);
c1=y*a;
c2=y*b;
end
y0=1;
y_max=fsolve(g,y0);
I know there are problems in the code. The logic is clear, and I hope someone can tell me how to use function of function (local function or nested function) to solve this problem.

 Réponse acceptée

Walter Roberson
Walter Roberson le 29 Avr 2016

0 votes

Your code will fail at the diff() if y is not symbolic, unless y happens to be 1.
If y is symbolic, then you need to use solve() with g instead of using fsolve() .

Plus de réponses (0)

Catégories

En savoir plus sur Symbolic Math Toolbox dans Centre d'aide et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by