讨论优化函数fminimax的使用
很着急,请大家帮忙。数学模型是
function y=myfun(x)
y=abs(sqrt(2*1179.447*x(1)-0.5006*x(1)^2)/(x(1)-x(2))-sqrt(2*1179.447*x(1)- 0.5006*x(1)^2)/(0.5006*x(1)-1179.447));
用的优化函数的界面进行优化;
选择fminimax
目标函数 输入 @myfun
初始点为
边界点 lb ub
运行后,matlab 报错为:Optimization running.
Warning: Large-scale algorithm not currently available for this problem type.
Optimization terminated.
Objective function value: -1.269278871460569E-18
Optimization terminated: magnitude of search direction less than 2*options.TolX
and maximum constraint violation is less than options.TolCon.
请问,怎么会算法不支持呢,前几天我同样运算了一遍,顺利得到结果的,今天想再算一下,就变成这样了。
请高手指教一下。
x0=
我用命令行的运行结果也一样:=fminimax(@myfun,x0,[],[],[],[],,);
很着急,请大家帮忙。 我这里没有出现LZ的错误,而出现下面的信息:
Optimization terminated: magnitude of search direction less than 2*options.TolX
and maximum constraint violation is less than options.TolCon.
Active inequalities (to within options.TolCon = 1e-006):
lower upper ineqlin ineqnonlin
1 1
2
需要将Tolx设定一下,改后程序为:
clear;clc
y=@(x) abs(sqrt(2*1179.447*x(1)-0.5006*x(1)^2)/(x(1)-x(2))-sqrt(2*1179.447*x(1)- 0.5006*x(1)^2)/(0.5006*x(1)-1179.447));
x0=;
lb=;
ub=;
options=optimset('fminimax');
options.TolX=0.000001; % 控制被估参数的迭代精度
options.Display='off'; % 避免显示收敛信息
=fminimax(y,x0,[],[],[],[],lb,ub,[],options);
但最后结果跟改前一样,只不过没有警告信息而已。。奇怪。。
[ 本帖最后由 maigicku 于 2010-1-10 10:25 编辑 ]
回复 楼主 shareice 的帖子
末怪个人删帖! 是新手才没扣体能!想想若每个人都如此催帖, 那不是一帖变4~5帖, 别人阅读方便吗?
LZ心急个人可以体谅, 但也请想想别人! 难道是我不经意间更改了matlab的设置?
上述函数的我有计算结果的,在这个区间里绝对有最小最大绝对值得。。
页:
[1]