- 积分
- 32
- 注册时间
- 2009-7-29
- 仿真币
-
- 最后登录
- 1970-1-1
|
本帖最后由 lin2009 于 2010-9-30 16:33 编辑
最大区间的优化问题:
已知误差函数,求满足约束条件的最大区间[0,x],并求对应的ku值,约束条件err<=0.001;
误差函数err:= abs((1/120)*x^2*(-20+20*ku+40*ku^2+x^2-13*x^2*ku+16*x^2*ku^2)/(1+ku)^2)
根据图形(下图)的特点,不能简单地用下面的语句来求最大的区间。
显然这个问题是求满足条件的最大区间[0,x](即求边界值x),而不是求最大值。
> with(Optimization)
> Maximize(x, {abs((1/120)*x^2*(-20+20*ku+40*ku^2+x^2-13*x^2*ku+16*x^2*ku^2)/(1+ku)^2) <= 0.1e-2});
大家看看有什么好的方法?
附:原方案误归类为最大值的问题,相近但不相同,呵呵。
>with(Optimization)
> Maximize(x, {abs((1/120)*x^2*(-20+20*ku+40*ku^2+x^2-13*x^2*ku+16*x^2*ku^2)/(1+ku)^2) <= 0.1e-2});
Warning, limiting number of major iterations has been reached
[13.7697232009298336, [ku = HFloat(0.7186362048104109),
x = HFloat(13.769723200929834)]]
将上述ku值代入误差函数,画出 x Vs.误差函数 的关系图,可以很直观地看出解答不正确。--[0,13.7697232009298336]区间不满足误差约束条件!
plot(subs(ku = .718636204810411, abs((1/120)*x^2*(-20+20*ku+40*ku^2+x^2-13*x^2*ku+16*x^2*ku^2)/(1+ku)^2)), x = -15 .. 15)
|
|