遇到了一个很棘手的函数,具体见图,这个函数的凸凹性如何?以及遇到类似多变量,形式复杂的函数,判断凸凹性的方法有哪些(效率高的)?
希望大佬帮忙解答一下
数值的办法就是求导数,然后找到极值点,判断。数学上就是泰勒公式展开。
设f是定义域为实数的函数,如果对于所有的实数x,clip_image002,那么f是凸函数。当x是向量时,如果其hessian矩阵H是半正定的(clip_image004),那么f是凸函数。如果clip_image006或者clip_image008,那么称f是严格凸函数。反之为凹函数.
判断凹凸性的最简单的方法就是求二阶导数
以前用过一个Mathematica,可以直接把函数画出来,这样凹凸性一目了然.
如果你非要用代码实现的话,可能较麻烦,因为计算步长的问题,很难到找到一个比较合适的通用解法.
根据凹凸性定义比较大小,但运算量不小,http://blog.csdn.net/yywan1314520/article/details/50057439
求各变量的一阶偏导数,令他们等于零算出驻点。然后再求得对各变量以及所有x1...xn的二阶偏导,之后就找极值点判断凹凸性