matlab求解等式约束条件下的最优化,求助!Matlab关于带约束条件的最值计算

看了仁兄的帖子 深受启发 万分感谢

按照您的方法 我编写了如下程序 但出现了错误

第一个M文件

x0=[2.7;25.4;8.5;9.3;pi/3];%输入x(1) x(2) x(3) x(4) x(5)的初始值

[x,f]=fmincon(@objfun0,x0,[],[],[],[],[],[],@confun0)

第二个M文件 目标函数

function f=objfun0(x)

b=66.47*pi/180;

w=50/3;

m=4.3;

l=25;

e=sin(x(5))+m/x(1);

g=cos(x(5))+l/x(1);

h=(x(1)^2-x(2)^2+x(3)^2+l^2+m^2)/(2*x(1)*x(3))+(l*cos(x(5))+m*sin(x(5)))/x(3);

i=(2*atan((e-(e^2+g^2-h^2)^0.5)/(g+h)))*180/pi;

j=diff(i)

f1=(acos((l+x(1)*cos(x(5))-x(3)*cos(i))/x(2))+b-pi/2)^2

f2=-x(1)*sin(x(5))*w-x(4)/x(2)*((-x(1)*sin(x(5))*w+x(3)*sin(i)*j)*cos(b)-(x(1)*cos(x(5))*w-x(3)*cos(i)*j)*sin(b));

f=f1+f2

第三个M文件 约束条件

function [c,ceq]=confun0(x)

l1=2.5;

u1=2.9;

l2=23;

u2=26;

l3=8;

u3=9.5;

l4=8.4;

u4=10.2;

l5=64*pi/180;

u5=104*pi/180;

c=[l1-x(1);

x(1)-u1;

l2-x(2);

x(2)-u2;

l3-x(3);

x(3)-u3;

l4-x(4);

x(4)-u4;

l5-x(5);

x(5)-u5];

ceq=[];

运行第一个文件

出现如下错误 :

Warning: Large-scale (trust region) method does not currently solve this type of problem,

switching to medium-scale (line search).

> In fmincon at 260

In jiangda at 2

j =

[]

f1 =

0.0228 - 0.3136i

f =

[]

??? Error using ==> optim\private\nlconst

FUN must return a non-empty objective function.

Error in ==> fmincon at 498

[X,FVAL,lambda,EXITFLAG,OUTPUT,GRAD,HESSIAN]=...

Error in ==> jiangda at 2

[x,f]=fmincon(@objfun0,x0,[],[],[],[],[],[],@confun0)

到底哪里出了错? 还有 f= [] 是什么意思啊?

望不奢赐教  虚心向您学习

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值