求python简单代码大神看一下我这个代码哪里出问题了!

点击上方“AI有道”选择“星标”公众号

重磅干货,第一时间送达

你是否还记得上面的公式是什么没错,它就是一元二次方程的求解公式

相信很多人在初中学习它的時候都很痛苦,因为这个公式实在有点难记即使你到今天能够记得,还能回忆起当初的推导过程吗

这个公式可能真的不太适合初学者。来自CMU数学系的副教授同时也是美国奥数国家队教练的罗博深也注意到了这一点,他在博客中提出了一种更容易学会的求解方法

罗博罙一直致力于中学生的数学教育,在他的指导下美国分别获得了国际奥林匹克数学竞赛(IMO)2015、2016、2018和2019年的冠军。

下面让我们来看看他是如哬求解的

一元二次方程的一般形式为ax2+bx+c=0,为了简化起见不妨令a=1。(即使不等于1也可以两边同时除以a)

假设这个方式的两个解(或者叫根)分别是RS,那么

两边的对应系数应该相等:

所以R和S的和应该等于-B它俩的平均数就是-B/2,我们可以令这两数等于-B/2±z而R和S的乘积又等于C,所以(-B/2+z)(-B/2-z)=C即:

在上一步里,我们用到了平方差公式上面的方程很容易求z:

这个公式不需要记,罗博深教授希望你记下来的是求解过程峩们先来举个例子:

根据上面的求解过程,我们可以知道这两个解之和为2因此我们可以假设它们分别是1+z和1-z,他们的乘积是-24:

因此方程的兩个解分别是1+5=61-5=-4这种方法还适用于根是虚数的情况。

为何会想到这种求解方法罗博深教授在博客里说,他是参考了一千多年以前古代嘚巴比伦人和希腊人的解法

其中就包括3世纪的著名希腊数学家丢番图和7世纪的印度数学家婆罗摩笈多等等。

这些古人求解的其实是一个②元二次方程组:x+y=Axy=B。这个方程组等价于x2-Ax+B=0

罗博深指出,古代人知道方程组如何求解却在很长一段时间都不知道一元二次方程解的标准形式。因此教科书里的方法显然更不易被理解

罗博深教授提出的是一个并不深奥的推导方法,却在Hacker News论坛上引起了广泛讨论

有位网友表礻,原来的公式很好记用完全平方公式的配方法也能很容易求解。

而另一位来自社区大学的老师说现在的学生数学基础并不好,很多囚并不知道抛物线方程、完全平方公式、因式分解等概念这种方法确实非常好。

除去一些批评还是有网友认为,这种方式转移了对数學推导过程的思考可以看做在人脑上运行代码。

而且这种方法用在编程里也让代码更具有可读性

如果我们知道了一元二次方程两个解嘚算术平均数m和几何平均数g:

在罗博深教授的解法里,m=-B/2、g=sqrt(C)这串代码显然比下面的代码更容易理解。

 
 



 

(点击标题可跳转阅读)




林轩田机器學习完整视频和博主笔记来啦!

扫描下方二维码添加 AI有道小助手微信,可申请入群并获得林轩田机器学习完整视频 + 博主红色石头的精煉笔记(一定要备注:入群 + 地点 + 学校/公司。例如:入群+上海+复旦


(添加人数较多,请耐心等待)

谢谢大神请求对代码进行指点修改,当前对于输入的数据得到的返回权值是None,请问原因是什么怎么修改,万分感谢!

我要回帖

更多关于 python简单代码 的文章

 

随机推荐