运行f函数后出现提示
尝试将 SCRIPT fun1 作为函数执行:
C:\Users\75407\Desktop\fun1.m
出错 fmincon (line 536)
initVals.f = feval(funfcn{3},X,varargin{:});
出错 fxx (line 24)
[x,fval]=fmincon('fun1',rand(10,1),[],[],[],[],zeros(10,1),[],'mycon21',options);
原因:
Failure in initial objective function evaluation. FMINCON cannot continue.
fun1如下
N;
syms x;
for i=1:10
x(i)=sym(['a',num2str(i)]);
end
x1=x(1);x2=x(2);x3=x(3);x4=x(4);x5=x(5);x6=x(6);x7=x(7);x8=x(8);x9=x(9);x10=x(10);
for i=1:10
syms a;
x(i)<=N(i);
x(i)>=N(i)/2;
end;
a=0;
for i=1:10
x(i)=(N(i)-x(i))^2;
a=x(i)+a;
end
a
function f=fun(~)
f=(x4 - 18).^2 + (x8 - 174).^2 + (x7 - 238).^2 + (x5 - 292).^2 + (x6 - 374).^2 + (x10 - 379).^2 + (x3 - 390).^2 + (x1 - 601).^2 + (x2 - 620).^2 + (x9 - 723).^2;
end
function 前面的代码都是为了求出a这个目标函数,f是a这个目标函数将未知数用x替换
求大佬帮助