Optimizing a function consisting of other variables

Hello, I have a function as this:
function l=L2(u1, u2, w, x) l = -sum(log(((log(u1).*log(u2)).^(-1+x)).*((w.^((2-2*x)/x))-(1-x.*(w.^(1-2*x)/2)))./(u1.*u2.*exp(w.^(1/x))))); end
which u1, u2, w are 40*1 vectors, and I want to optimize this for min of x with optimtool but his gives me the error of
Error in the following problem input(s): objective: Not enough input arguments.
Can anybody help me?

1 个评论

Show more code, in particular, the solver that you're using and the code you use to call it.
Also, use markup to make the code you post more readable, including the code in your Question.

请先登录,再进行评论。

 采纳的回答

Your question might be about how to include extra parameters. See this link.
Alan Weiss
MATLAB mathematical toolbox documentation

2 个评论

u1 = ...
u2 = ...
w = ...
objfun = @(x) L2(u1,u2,w,x) % define a function of x with u1, u2, w fixed
Now use objfun as your objective function.
Thank you for both answers

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Get Started with Optimization Toolbox 的更多信息

产品

标签

Community Treasure Hunt

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

Start Hunting!

Translated by