一元二次方程的回顾和启示

学过初中数学都知道对于任何一个实系数一元二次方程

,通过配方可以得到
,根据判别式
的符号,可以判断方程实根的个数,并且可以得到求根公式

要么是

个不同的实根
,要么是
个二重实根
,要么是
对共轭虚根
;计算重数的情况下都是
个根。

记两根为

可以直接验证韦达定理:

两根之和

以及两根之积
,判别式
.

求根公式看上去复杂,但如果把上述两式代入求根公式

.

注:如果

是共轭虚根,
就是纯虚数,对负数
开方不能得到
.

几何意义:记

是两根的平均值,乘积为
. 如果
都是实根,则
是根到平均值的距离。

求根公式就可以改写成

两根到平均值

的距离
还可以通过下列方式得到:

不妨设

,用平方差公式得到
,立即可以算出
.

可以看到在实根的情况下

是实数轴上两根的中点,而
是两根到中点的距离。

如果

是共轭虚根,绝对值(长度)相等
在复平面上是
连线的中点(在实轴上),刚好对应由
作为两邻边的菱形对角线的交点,是菱形水平方向对角线的一半,而
是中点到两根的有向距离,是菱形竖直方向对角线的一半。

如果考虑一般的复系数一元二次方程呢?任何两个复数

都可能是方程的两根,因为由韦达定理可以构造出

所以

就是两根连线的中点,但不一定在实轴上,以
为邻边构成的是一个更一般的平行四边形,
是对角线的交点,是其中一条对角线的一半,而
是交点到两根的有向距离,是另外一条对角线的一半。

一元三次方程根的构造

对于实系数一元三次方程

,自然会想能不能用配方法?

这里不是配成完全平方而是完全立方:

根据前两项两边同时加上

可以把左边边成完全立方,也就是
. 右边等于

的一次项,不能像一元二次方程配方后可以直接开平方根得到方程的根。但这提示我们可以作变量替换
把根整体平移
个单位,得到

(或者用直接用待定系数法确定平移量)

这里就把方程化简为了

. 从这里可以看出,配方法能做到的只是消去比方程次数少一次的那项,结合韦达定理可以知道,只不过是找到了方程的三个根的平均值,做一个平移,让新得到的方程的三个根的平均值为0.

这里有很多种变量替换的方法求解

.

一、卡尔达诺方法(Cardano's method)

引入两个新的变量

,代入可得

,方程变为
.

只要

满足
,那么
就是
的根。

由第一个方程可得

,代入第二个方程得
.

两边同时乘以

可得
的一元二次方程,由求根公式可得

立方根有三个,这里取其中一个

得对应的
可以表示成

得到方程的一个根为

为单位原根满足
(
),可以得到另外两个根分别为
.

注意到

,因此也可以用下面的替换来推导出求根公式:

二、韦达替换(Vieta's substitution)

,代入可得

注意到

的一元二次方程,所以

代回可得

上面两种办法都通过变量替换推导求根公式,经过长期解具体方程总结得出一般规律,比如发现三次方程的根可以表示成两个立方根之和,有了这个根的形式的预判,求根公式就呼之欲出了。再后来Lagrange通过离散傅立叶变换统一求解低次方程,但这方法无法推广到5次方程。

三、拉格朗日方法(Lagrange's Method)

对于一般的二次方程, 根可以表示为:

其中

是根的对称多项式,
虽然本身不是,但平方后也是根的对称多项式,可以用基本对称多项式表出
. 再根据韦达定理,可以推出求根公式。

对于一般的一元三次方程,记

,根可以表示为:
本身不是对称多项式,但两者立方后得到

然后两者相加可得立方和

是根的对称多项式,乘积

是根的对称多项式,乘积的立方

也是根的对称多项式。

对于一般的一元三次方程

对称多项式

可以由基本对称多项式

多项式表出,因此是方程系数的多项式。

也就是存在多项式

使得
. 容易看出
是一元二次方程
(预解式)的两根,可以用二次方程求根公式得到,再代回下列三式就可以得到三次方程的三个根:

对于约简后的一元三次方程

,和Cardano和Vieta方法殊途同归,得到相同的求根公式。

都用根表示代进去化简,可以得到平方根下的表达式为

展开后刚好是

的分子的相反数,也就是
,称之为方程的判别式,可以用来判断方程是否有重根。

如果

,非实的复根一定成对出现,所以只可能是实根是重根,剩下一个根也不可能是非实的复根,所以三个根都是实根;最特殊的情况是1个三重实根(
)。

如果

,一定是只有1个实根,两个非实的共轭复根;

如果

,一定是3个不同实根。

对于一般的三次方程

,判别式

四、三角解法 (Trigonometric Method) 和几何意义

如果实系数方程

有三个不同的实根 (
,一定有
),用求根公式表示出来会有虚数

但如果用三角函数表示出来,不仅可以避免复数,还可以看出三个根的分布。

为了利用三倍角公式

,待定系数可设

代入可得

只需要满足系数成比例,也就是

,解得
.

原方程变为

.
.

当然也可以取为

圆心在y轴上任意一点,半径为

的圆上,三个点分别对应
,三个根是这三个点在横轴上的投影。对于一般情形圆心需要平移
,刚好在三次函数
图像的拐点处。

方程有3个不同的实的单根,对应函数图像与横轴的3个交点(均斜穿过横轴);函数图像有2个转折点(turning points),对应一个局部最大和一个局部最小。

五、三次函数的图像

三次函数

转折点的数量取决于其导函数
的判别式
.

或者通过水平方向的平移消掉二次项和竖直方向上的拉伸压缩(或者还需要沿横轴的反射)把首项系数变为1,可以得到

,判别式是
,事实上,我们有
.

可以看出如果

那么函数图像一定有两个转折点(局部最大和局部最小);
则会有一个不是转折点的临界点;
则没有临界点(没有水平切线)。

下面不妨记

为情形(1),这种情形一定有
,

e.g.

.

时,有一个实根和一对非实的共轭复根,对应函数图像与x轴的1个交点(斜穿过横轴);根据转折点的数量又分为三种情形

情形(2):

2个转折点,对应一个局部最大和一个局部最小,

e.g.

情形(3):

1个非转折点的临界点,函数在定义域

上单调,e.g.
.

情形(4):

0个临界点,函数在定义域

上单调,e.g.
.

时,又对应两种情况:

情形(5):

1个二重实根和1个实单根,函数图像在二重根处与横轴相切不穿过,在单根处斜穿过,一定有两个转折点,对应一个局部最大和一个局部最小,e.g.

.

情形(6):

1个三重实根,函数图像在三重实根处与x轴相切穿过,没有转折点,函数在定义域

上单调,e.g.
.

python一元三次方程拟合_一元三次方程的求根公式相关推荐

  1. python解一元二次方程复数_一元二次方程求解(包括复数各种情况)

    /*无聊时候写的,我想每个入门的编程都会拿着个练手把,多的不说,我们来谈谈正经的--此功能实现一元二次方程求解,复数情况,输入字符处理判断是否为数字*/ import os import math i ...

  2. Python 散点图线性拟合_机器学习之利用Python进行简单线性回归分析

    前言:在利用机器学习方法进行数据分析时经常要了解变量的相关性,有时还需要对变量进行回归分析.本文首先对人工智能/机器学习/深度学习.相关分析/因果分析/回归分析等易混淆的概念进行区分,最后结合案例介绍 ...

  3. Python 散点图线性拟合_一文教你全面掌握用Python实现线性回归

    全文共4968字,预计学习时长15分钟或更长 本文旨在为读者理解和应用线性回归时提供参考.虽然线性回归算法很简单,但是只有少数人能真正理解其基本原则. 本文首先会深入挖掘线性回归理论,理解其内在的工作 ...

  4. python 非线性多项式拟合_用python进行非线性回归-有什么简单的方法可以更好地拟合这些数据?...

    此示例代码使用具有两个形状参数(a和b)和偏移项(不影响曲率)的表达式.方程为"y=1.0/(1.0+exp(-a(x-b)))+Offset",参数值a=2.1540318329 ...

  5. python非线性最小二乘拟合_非线性函数的最小二乘拟合——兼论Jupyter notebook中使用公式 [原创]...

    突然有个想法,利用机器学习的基本方法--线性回归方法,来学习一阶rc电路的阶跃响应,从而得到rc电路的结构特征--时间常数τ(即r*c).回答无疑是肯定的,但问题是怎样通过最小二乘法.正规方程,以更多 ...

  6. Python 散点图线性拟合_简单线性回归——相关性分析

    一.名词解释. 不同变量相关关系的机器学习算法--简单线性回归算法. 散点图可以表示两个变量之间的相关性. 回归分析:能让我们进一步用更精确的话来描述出两个变量之间的线性相关性. 二.线性相关计算方法 ...

  7. python 高斯函数拟合_在python中拟合任意高斯函数,消耗大量内存

    我试图(在python中)将一系列任意数量的高斯函数(由一个仍在改进的简单算法确定)拟合到一个数据集.对于我当前的样本数据集,我有174个高斯函数.我有一个进行拟合的过程,但基本上是复杂的猜测和检查, ...

  8. java 一元 二元 三元_一元、二元和三元关系

    你好呀 欢迎来到一百挑战 一起在学习中寻找自己的幸福 这是学习挑战七的第十三周,这周的主题是"一元.二元和三元关系". 这周的内容,是让我们从一元.二元和三元的角度去看待关系,老师 ...

  9. python直方图的拟合_从一组数据python中将两个高斯拟合成直方图

    这里使用scipy工具进行模拟: from pylab import * from scipy.optimize import curve_fit data=concatenate((normal(1 ...

最新文章

  1. 收藏 | 计算机网络基础知识总结
  2. 【转载】Eclipse 最常用快捷键 (动画讲解),最简单的一些快捷键
  3. 《Android游戏开发详解》——第1章,第1.6节函数(在Java中称为“方法”更好)...
  4. 堆(heap)和栈(stack)有什么区别
  5. git按照tag拉取代码_Git实操小课堂
  6. 解压tar.xz文件
  7. 微课|中学生可以这样学Python(7.3.2节):数据成员
  8. 对搜狐、网易和TOM三大门户网站的SQL注入漏洞检测
  9. 我与华为网络技术大赛
  10. 前端|如何制作调查问卷
  11. 超实用:本科生如何发论文?
  12. 在web上制作动画(css3)
  13. 学习Linux/Unix这么久了,你真的知道什么是终端吗?
  14. 网络安全_密码学实验_对称加密算法DES
  15. Reno5、Reno5 Pro和Reno5 Pro+ 的区别
  16. ZBrush软件中的笔触类型
  17. 数字图像处理(绪言)
  18. vue中谷歌地图标记点、聚合点图标自定义
  19. 输出月份英文名java_输出月份英文名 (30 分)
  20. 各种题材的手游游戏代码素材推荐,不容错过

热门文章

  1. 1536299 2013 - PPR item change - Genil mode
  2. ABAP Pragma
  3. IPM: Generate IP Product via template
  4. 今日头条Web HTTP请求的白名单
  5. 用ABAP代码读取S/4HANA生产订单工序明细 1
  6. SAP S/4HANA生产订单抬头字段的维护
  7. 易语言https服务器,E2EE应用服务器套件 - 文档 - [基础教程] 使用HTTPS(SSL) - E2EE易语言网站敏捷开发框架...
  8. 求圆面积的python代码_《求》字意思读音、组词解释及笔画数 - 新华字典 - 911查询...
  9. 多边形对角线条数(C语言)
  10. linux lvm uuid绑定,LVM:“找不到具有uuid的设备”但是blkid找到了UUID