在线时间 0 小时 最后登录 2009-7-11 注册时间 2009-7-7 听众数 4 收听数 0 能力 0 分 体力 30 点 威望 11 点 阅读权限 30 积分 124 相册 0 日志 0 记录 0 帖子 9 主题 3 精华 0 分享 0 好友 0
升级 12%
该用户从未签到
群组 : 数学建模
【求助】在matlab7.0求一非线性方程极值的问题。
题目是1997全国数学建模A题的选择零件标定值那部分。
寻找合适的x1 x2 x3 x4 x5 x6 x7 使得d=f(x1,x2,x3,x4,x5,x6,x7)最小
代码是
clc
clear
xi=[0.075 0.225 0.075 0.075 1.125 12 0.5625];
Lbnd=[0.075 0.225 0.075 0.075 1.125 12 0.5625];
Ubnd=[0.125 0.375 0.125 0.125 1.875 20 0.935];
options=optimset;option.=10e1000000000;option.display='off';
[x,fx,out] = fmincon(@fbmin,xi,[],[],[],[],Lbnd,Ubnd,[],options)
调用的函数是:
function d=fbmin(v)
x1=v(1);x2=v(2);x3=v(3);x4=v(4);
x5=v(5);x6=v(6);x7=v(7);
t= (1-2.62*(1-0.36*(x4./x2).^(-0.56)).^(1.5).*(x4./x2).^(1.16))./x6./x7;
y=(x1./x5).*(x3./(x2-x1)).^0.85;
y=174.42*y.*t.^(0.5) ;
d=abs(y-1.5);
结果为:
Maximum number of function evaluations exceeded;
increase OPTIONS.MaxFunEvals.
x =
0.1070 0.3649 0.1199 0.1234 1.8130 12.0863 0.9039
fx =
4.6185e-014
out =
0
increase OPTIONS.MaxFunEvals.
修改了语句使得option.MaxFunEvals=10e1000000000
但是还是不对~~~
有没有高手能指点一下~~谢谢!
zan