| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1944 人关注过本帖
标题:关于功能函数fmincon的解是否与初值有关的问题?
只看楼主 加入收藏
tmclz
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-7-1
收藏
 问题点数:0 回复次数:1 
关于功能函数fmincon的解是否与初值有关的问题?

小弟有个题是求最小值的问题,我用功能函数fmincon编写了程序,但当赋予不同的初值时得到的结果却是不一样的,想请高手帮我看看问题错在哪?
程序如下:
myfun.m
function f=myfun(x)
r1=2200;q0=0.1412;r2=2600;r0=(r1+r2)/2;
q1=0.3622;
k=r1*tan(q1);
f=-abs(k*x(1)*q0*sin(x(2))-k*r0*x(2)*sin(q0))*sqrt(k^2+(x(1))^2)/(r0*x(1)*sin(q0)+k^2*q0*cos(x(2)))

myfun_jisuan.m
clear
r2=2600;r1=2200;q0=0.1412;
x0=[2300;0.14];
A=[ 1 0
-1 0
0 1
0 -1];
b=[r2;-r1;q0;0];
[x,fval]=fmincon(@myfun,x0,A,b)
此时的初值x0是x0=[2300;0.14],其计算结果是:
x =

1.0e+003 *

2.2000
0.0001


fval =

-9.2766
但当我将初值X0变成x0=[2500;0.14]时,其计算结果为:
x =

1.0e+003 *

2.6000
0.0001


fval =

-9.2747
请问这是什么原因?按道理其解应该与初值没关系的,是因为fmincon的解是局部解吗?请高手赐教,小弟感激不敬!

搜索更多相关主题的帖子: fmincon 函数 功能 
2006-07-02 10:09
hitzhang
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:21
帖 子:369
专家分:52
注 册:2006-9-24
收藏
得分:0 
fmincon采用的是梯度下降法很容易陷入局部极小点,对初值要求较灵敏

2006-09-24 18:51
快速回复:关于功能函数fmincon的解是否与初值有关的问题?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022940 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved