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.

 採用された回答

Walter Roberson
Walter Roberson 2016 年 4 月 29 日

0 投票

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() .

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeSymbolic Math Toolbox についてさらに検索

質問済み:

2016 年 4 月 29 日

回答済み:

2016 年 4 月 29 日

Community Treasure Hunt

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

Start Hunting!

Translated by