Hi all; when i run the optimtool i got this message error: ( Optimization running. Error running optimization. Inner matrix dimensions must agree.) so kindly can any one explaine what is the problem

3 次查看(过去 30 天)
I try to use optimtool (fmincon) to find the optimal values for two variable(x1,x2), I use SQP as the algorithm, the start point [0,0], bounds [0,0], [50,50], and the objective function is @objfun
function f = objfun(x1,x2)
a1=1;
a2=5;
a3=-4;
b1=1;
b2=2;
f=a1*(x1-b1)*(x1-b1)+a2*(x2-b2)*(x2-b2)+a3*x1*x2;
end

采纳的回答

Walter Roberson
Walter Roberson 2016-3-5
Your objective function will be passed a single variable which is a vector of values. It will not be passed two scalars.
function f = objfun(x)
x1 = x(1); x2 = x(2);
a1=1;
a2=5;
a3=-4;
b1=1;
b2=2;
f=a1*(x1-b1)*(x1-b1)+a2*(x2-b2)*(x2-b2)+a3*x1*x2;
end

更多回答(0 个)

类别

Help CenterFile 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