2 回答

三國紛爭
TA貢獻1804條經驗 獲得超7個贊

蠱毒傳說
TA貢獻1895條經驗 獲得超3個贊
求極值:
syms x y
>> y=x^3+x^2+1
>> diff(y)
ans =
3*x^2 + 2*x
>> solve(ans)
ans =
-2/3
0
極值有兩點。
求最大值,既求-y的最小值:
>> f=@(x)(-x^3-x^2-1)
f =
@(x)(-x^3-x^2-1)
>> x=fminunc(f,-3,3)% 在-3;-3范圍內找
Warning: Gradient must be provided for trust-region method;
using line-search method instead.
> In fminunc at 354
Optimization terminated: relative infinity-norm of gradient less than options.TolFun.
x =
-0.6667
>> f(x)
ans =
-1.1481
在規定范圍內的最大值是1.1481
由于函數的局限性,求出的極值可能是局部最?。ù螅┲?。
求全局最值要用遺傳算法。
上面簡單的函數可以自己估計出來:最大值為inf
至于遺傳算法,以后提個復雜的問題再回答。
- 2 回答
- 0 關注
- 7641 瀏覽
添加回答
舉報
0/150
提交
取消