上面是适应函数,下面是非线性约束
function [ c,ceq] = tre_constraint(x)
a=[1 0 0;-1 0 0;1 -1 0;0 1 -1;0 0 1;0 0 1];
A0=[-1 0 0 0;0 1 0 0;0 0 0 0;0 0 0 0;0 0 -1 0;0 0 0 -1];
H=[35.418;45.712;25.270;24.678];
a0=A0*H;
y=[8.228;-2.060;-1.515;7.477;12.417;13.000];
%定义参数
cc=0;
f=0;
syms x1 x2 x3 x4 x5 x6 x7 x8 x9 %定义符号变量
deta=sym([x1;x2;x3;x4;x5;x6]) %定义符号数组
xx=sym([x7;x8;x9])
for i=1:6
for j=1:3
c=a(i,j).* xx(j);
cc=cc+c;
end
cc;
mm=vpa(abs(y(i)-a0(i)-cc));
cceq(i)=mm-deta(i);
end
c=cceq.';
ceq=[];