查看: 156|回复: 0|关注: 0

[未答复] 解决非线性问题时,说没设置初始值,明明设置了的呀,有没有大佬看看问题到底是什么

[复制链接]

新手

10 麦片

财富积分


050


1

主题

1

帖子

0

最佳答案
发表于 2020-7-29 16:32:59 | 显示全部楼层 |阅读模式
function ei=fun2(x)
[A]=xlsread('C:\Users\Desktop\A.xls');
G=ones(20,1);
ei=length(find(x*G)>0);
end


function [ei,ceq]=mbhs2(x)
[A]=xlsread('C:\Users\Desktop\A.xls');
[B]=xlsread('C:\Users\Desktop\B.xls');
[C]=xlsread('C:\Users\Desktop\C.xls');
[Y]=xlsread('C:\Users\Desktop\Y.xls');
F=ones(1,100);
ei=[str2double(x*(B./(F*x))'-Y) str2double(x-A)];
ceq=[sum(x*(B./(F*x))')-sum(B) sum(sum(x-x.*x))];
end


[x,fval]=fmincon('fun2',zeros(100,20),[],[],[],[],zeros(100,20),ones(100,20),'mbhs2');
x
fval=-fval

注:A维度(100*20)  B维度(1*20)  C维度(100*1)  Y维度(100*1)

错误:
错误使用 barrier
Nonlinear constraint function is undefined at initial point. Fmincon cannot continue.

出错 fmincon (line 800)
    [X,FVAL,EXITFLAG,OUTPUT,LAMBDA,GRAD,HESSIAN] =
    barrier(funfcn,X,A,B,Aeq,Beq,l,u,confcn,options.HessFcn, ...

出错 Bt1 (line 1)
[x,fval]=fmincon('fun2',zeros(100,20),[],[],[],[],zeros(100,20),ones(100,20),'mbhs2');

回复主题 已获打赏: 0 积分

举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

快速回复 返回顶部 返回列表