对不起,当= 0时,b !y = 0,范围(负无穷,正无穷)。
如何做象征性的在matlab优化吗?
37视图(30天)
显示旧的评论
例如:
信谊a b c x;
y = x * x ^ 2 + b * + c;
草地=梯度(y, x);
解决(gra = = 0, x)
我得到了这个:
ans =
- b / (2 *)
但当问题比较复杂,或包括一些约束,我能做什么更容易吗?
有“SymbolicOptimization。m”功能,这样我可以这样做:
信谊a b c x;
y = x * x ^ 2 + b * + c;
SymbolicOptimization (y, x)
和它给答案(我希望):
> 0时,y全球最小x = - b / (2 *), y =…
当一个< 0时,全球最大x = - b / y (2 *), y =…
当= 0时,y范围(负无穷,正无穷)。
是的,我想要的是让计算机做优化分析基于优化理论。
那么怎么做呢?
接受的答案
沃尔特·罗伯森
2020年7月12日
不,没有功能。
对于多项式,可以继续进行
dy = diff (y, x);
极值=解决(dy, x);
d2y = diff (dy);
d2y_at_extrema =潜艇(d2y x,极值);
一般来说,d2y_at_extrema将象征性的在你的系数,你需要检查每一个条件都是正面(显示最小值)或负面(显示最大值)或0(表明鞍点)。
你最终会有一个列表条件每个值可能是“全球”最小值或最大值。
当你超越度5(所以导数是4度,完全可以解决的)你将无法列出的可能性。
我怀疑,很难求出条件全球4阶多项式的最小值或最大值。
除能变得更加复杂。
非线性
有时
有封闭解(在某种意义上的“封闭形式万博 尤文图斯”)但不一般。