フィルターのクリア

2 unknown variable constraint optimization with single unknown variable objective function

1 回表示 (過去 30 日間)
hello, I am writting a code where objective function is depend on single unknown variable but constraint function is depend on 2 unknown veriables. The code look like
fun=@(a) C1.*a.^2 +C2.*a+C3;
x0=[1,1];
lb = [];
ub = [];
Aeq = [];
beq =[];
A = [];
b = [];
nonlcon =@constraintfcn;
opts = optimoptions('fmincon','Display','iter','Algorithm','sqp');
[x_value,fval] = fmincon( fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,opts);
Also the constraint function can be written as
function [c,ceq] = constraintfcn(z)
a=z(1);b=z(2);
c = a^2 + b^2 - 1;
ceq = [];
end
But it gives the error lke"Nonlinear constraint function is undefined at initial point. Fmincon cannot continue." How I can resolve this problem?

採用された回答

Matt J
Matt J 2020 年 12 月 23 日
fun=@(z) C1.*z(1).^2 +C2.*z(1)+C3;

その他の回答 (1 件)

Matt J
Matt J 2020 年 12 月 23 日
編集済み: Matt J 2020 年 12 月 23 日
The problem, as you've posted it, has an analytical solution, which can be obtained using
z=trustregprob(diag([2*C1,0]) , [-C2;0], 1)

カテゴリ

Help Center および File ExchangeSolver Outputs and Iterative Display についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by