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

1 次查看(过去 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 中查找有关 Problem-Based Optimization Setup 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by