数学建模社区-数学中国

标题: 【求助】matlab中求多元非线性求极值,出现increase OPTIONS.MaxFunEvals. [打印本页]

作者: yunpiao129259    时间: 2009-7-11 20:23
标题: 【求助】matlab中求多元非线性求极值,出现increase OPTIONS.MaxFunEvals.
【求助】在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
但是还是不对~~~

有没有高手能指点一下~~谢谢!
作者: ywt    时间: 2009-7-11 20:46
好东西谢谢
作者: fc013    时间: 2009-7-11 20:53
试试:1e-10,options=optimset;option(是不是应该加s).=10e1000000000;option(是不是应该加s).display='off';
作者: yunpiao129259    时间: 2009-7-11 21:06
改成options=optimset;options.MaxFunEvals=1e-10;options.display='off';么?
结果是:
Maximum number of function evaluations exceeded;
increase OPTIONS.MaxFunEvals.

x =

    0.0750    0.2250    0.0750    0.0750    1.1250   12.0000    0.5625


fx =

    0.8008


out =

     0


还是不对哎~~




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5