概述
我今天的文章,不贴出具体的函数图像,就来给大家提供一种快速判断图像凹凸性的思路。
当每个同学在学习数据结构与算法的时候,始终有一个幽灵在伴随着每个同学,就是时间复杂度,据说是高纳德发明的东西,这个东西说白了就是当数据量增多一个算法所用的时间的变化的快慢。常见的时间复杂度是:1、logx、x2、x3等等。从这些图像可以看出来,即使一个函数在初始时刻的值较小,那么经过一段时间以后,x^3的一定会后来居上。说明高阶的函数的增加一定很快,如果套用了高中的物理概念,一定是加速度较大。
加速度是什么?物理中是这么写的:S = v0t + 0.5*at2,如果仔细看这个函数就会发现,v0t就是S函数的一阶泰勒展开式,0.5*at2就是S函数的泰勒二阶展开式,加速度的大小直接影响着该函数的变化快慢。
相应地,回到前面的问题,当我们判断一个函数的凹凸性的时候,也可以套用加速度的概念,
凹凸性判断是:
当一个函数的二阶导数f’’(x)>=0,就是凹函数,类似于y=x^2的图形。
当一个函数的二阶导数f’’(x)<=0,就是凸函数,类似于y=-x^2的图形。
从上面可以发现,既然二阶导数(加速度)是一个函数的加速度,那么只要这个加速度一旦小于0,说明这个函数经过一定的时间或者横坐标终究会形成上面有个帽子的情形,也就是-x^2的上面的极值的情况。
当二阶导数(加速度)大于0,那么经过一定的时间,一定会把函数向上掰正,形成x^2,下面形成了极值。
从以上我们可以看到,如果把二阶导数看成是加速度的话,那么去理解函数的凹凸性就非常好理解了,妈妈再也不用担心我理解函数凹凸性了。
欢迎大家来评论区留言,咱们可以继续讨论这个问题。
最后
以上就是糟糕大象为你收集整理的如何1秒内快速判断一个函数的凹凸性?还看不懂我给你赔钱的全部内容,希望文章能够帮你解决如何1秒内快速判断一个函数的凹凸性?还看不懂我给你赔钱所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复