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

5 views (last 30 days)
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

Accepted Answer

Walter Roberson
Walter Roberson on 5 Mar 2016
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

More Answers (0)

Categories

Find more on Get Started with Optimization Toolbox in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!