(说明:由于本文章含有较多的根号,推荐使用IE直接阅读,或者使用IE+MathPlayer。火狐浏览器对根号的显示是相当的差。)

大家知道,1到4次的代数方程都有求根公式(尽管未必是最简单的方法),对于1次和2次方程的求根,大家可能滚瓜烂熟了。但是你了解三次方程的解法吗?

$$ax^3+bx^2+cx+d=0\,(a\neq0)$$

网上有不少关于这方面的资料,但是却有着两个缺点:一是缺乏描述专业数学公式的相关程序(很多网站都是这样);二是语言过于专业,不能大众化(如维基百科)。

要了解三次方程的求根公式,首先要知道,一般地,n次代数方程有n个根。而对于最基本的三次方程$x^3+p=0$,我们有:

$$x_1=-\sqrt[3]{p}$$

同时根据韦达定理,我们有$x_1+x_2+x_3=0,x_1\cdot x_2\cdot x_3=-p$,我们已经知道$x_1=-\sqrt[3]{p}$,现在就变成了关于$x_2,x_3$的二次方程组,可以求解($i^2=-1$,虚数单位):

$$x_2=\frac{1}{2}(-1+\sqrt{3}i)\sqrt[3]{p}, \quad x_3=\frac{1}{2}(-1-\sqrt{3}i)\sqrt[3]{p}$$

特别地,一般会将$\frac{1}{2}(-1+\sqrt{3}i)$写成$\omega$,于是

$$x_2=\sqrt[3]{p} \omega,\quad x_3=\sqrt[3]{p}\omega ^2$$

图片说明:塔塔利亚

下面进入一般的三次方程的求解:

对于一道三次方程$ax^3+bx^2+cx+d=0\,(a\neq 0)$,我们有可以用换元法,设$y=x+\frac{b}{3a}$,将原方程变为关于y的三次方程:

$$y^3+py+q=0 \Leftrightarrow y^3+py=-q$$

其中

$$\begin{aligned}&y=x+\frac{b}{3a}\\

&p=\frac{c}{a}-\frac{b^2}{3a^2}\\

&q=\frac{2{b^3}}{27a^3}-\frac{bc}{3a^2}+\frac{d}{a}\end{aligned}$$

(卡丹的证明)由于$(A-B)^3+3AB(A-B)=A^{3}-B^{3}$,所以$3AB=p,A^{3}-B^{3}=-q,y=A-B$,于是变成关于$A,B$的六次方程组,而这一道六次方程组很简单,通过换元法,就变成了一道二次方程组,可以求解。最后我们得到的结果为:

$$\begin{aligned}&A=\sqrt[3]{-\frac{q}{2}+\sqrt{\left(\frac{q}{2}\right)^2+\left(\frac{p}{3}\right)^3}},

&B=\sqrt[3]{\frac{q}{2}+\sqrt{\left(\frac{q}{2}\right)^2+\left(\frac{p}{3}\right)^3}}\end{aligned}$$

接下来就很容易得出原方程的解了。

图片说明:卡丹,又译卡尔达诺

最终,我们得出关于方程$y^3+px+q=0$的求根公式为

$$\begin{aligned}&x_1=\sqrt[3]{-\frac{q}{2}+\sqrt{(\frac{q}{2})^2+(\frac{p}{3})^3}}+\sqrt[3]{-\frac{q}{2}-\sqrt{(\frac{q}{2})^2+(\frac{p}{3})^3}}\\

&x_2=\omega \sqrt[3]{-\frac{q}{2}+\sqrt{(\frac{q}{2})^2+(\frac{p}{3})^3}}+\omega^2\sqrt[3]{-\frac{q}{2}-\sqrt{(\frac{q}{2})^2+(\frac{p}{3})^3}}\\

&x_3=\omega^2\sqrt[3]{-\frac{q}{2}+\sqrt{(\frac{q}{2})^2+(\frac{p}{3})^3}}+\omega \sqrt[3]{-\frac{q}{2}-\sqrt{(\frac{q}{2})^2+(\frac{p}{3})^3}}\\

&\omega=\frac{1}{2}(-1+\sqrt{3}i)\end{aligned}$$

看到这里,如果想挑战自己的你,请写出$ax^3+bx^2+cx+d=0\,(a\neq 0)$的一般求根公式吧^_^

至于四次方程,有时间也会写一下。

更详细的转载事宜请参考:《科学空间FAQ》

如果您还有什么疑惑或建议,欢迎在下方评论区继续讨论。

如果您觉得本文还不错,欢迎分享/打赏本文。打赏并非要从中获得收益,而是希望知道科学空间获得了多少读者的真心关注。当然,如果你无视它,也不会影响你的阅读。再次表示欢迎和感谢!

打赏

微信打赏

支付宝打赏

因为网站后台对打赏并无记录,因此欢迎在打赏时候备注留言。你还可以点击这里或在下方评论区留言来告知你的建议或需求。

如果您需要引用本文,请参考:

苏剑林. (Jul. 19, 2009). 《三次方程的根式求解(通俗版本) 》[Blog post]. Retrieved from https://www.spaces.ac.cn/archives/26

matlab 韦达公式,三次方程的根式求解(通俗版本)相关推荐

  1. 龙格库塔法解微分方程组的matlab程序,MATLAB实例源码教程:龙格库塔法求解微分方程组源代码实例.doc...

    MATLAB实例源码教程:龙格库塔法求解微分方程组源代码实例.doc MATLAB实例源码教程龙格库塔法求解微分方程组源代码实例题目用经典 Runge-Kutta方法求下列一阶微分方程组的近似解y1 ...

  2. help efun matlab,Matlab优化工具箱在函数最值求解中的应用.pdf

    Matlab优化工具箱在函数最值求解中的应用.pdf 系 统 解 决 方 案 Matlab优化工具箱在函数最值求解中的应用 彭东海 (中山职业技术学院数学教研室,广 东 中山 528404) 摘 要 ...

  3. matlab怎么求三次微分,matlab课设三阶微分方程多种方法求解.doc

    matlab课设三阶微分方程多种方法求解 目录 一.课程设计题目及意义 -------- 1 页 二.课程设计任务及要求 --------2 页 三.课程设计详细过程及结果 --------3至10页 ...

  4. 一阶欧拉近似matlab,MATLAB改进欧拉法与四阶龙格-库塔求解一阶常微分方程.doc

    MATLAB改进欧拉法与四阶龙格-库塔求解一阶常微分方程 姓名:樊元君 学号:2012200902 日期:2012.11.06 一.实验目的 掌握改进欧拉法与四阶龙格-库塔求解一阶常微分方程的初值问题 ...

  5. matlab中用公式求pi值,matlab用π 4公式求π的近似值,直到某一项的绝对值小于10-6为止...

    求问matlab计算的几个公式以及方法. 峰值max峭度应该就是梯度了gradient曲线画图:plot(二维)plot3(三维),其他画图都用这个就够了查matlab文档 求matlab高手,这个公 ...

  6. Matlab绘制普朗克公式曲线1/2

    Matlab绘制普朗克公式曲线 1.确定波长和温度区间. 2.运行程序,结果如下. 3.部分源代码. 1900年德国物理学家M.普朗克在量子论基础上建立了关于黑体辐射的正确公式,即普朗克公式. 它给出 ...

  7. 用共轭梯度法求极小值matlab,用MATLAB实现最速下降法_牛顿法和共轭梯度法求解实例——张小强.doc...

    机电产品优化设计 课程设计报告 姓 名 :张 小 强 学 号 :201222080633 学 院 :机械电子工程学院 实验的题目和要求 一.课程名称:最优化设计方法 二.实验日期:2013年6月27日 ...

  8. 【Matlab优化覆盖】虚拟力算法求解无线网络传感覆盖优化问题【含源码 1187期】

    一.代码运行视频(哔哩哔哩) [Matlab优化覆盖]虚拟力算法求解无线网络传感覆盖优化问题[含源码 1187期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1 ...

  9. 【Matlab优化选址】蚁群算法求解电动汽车充电站与换电站选址优化问题【含源码 1182期】

    一.代码运行视频(哔哩哔哩) [Matlab优化选址]蚁群算法求解电动汽车充电站与换电站选址优化问题[含源码 1182期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文 ...

  10. 【Matlab路径规划】蚁群算法求解机器人栅格地图最短路径规划问题【含源码 1580期】

    一.代码运行视频(哔哩哔哩) [Matlab路径规划]蚁群算法求解机器人栅格地图最短路径规划问题[含源码 1580期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 ...

最新文章

  1. linux下系统安全常见问题2
  2. FineUI 将不再内置 ExtJS (严格遵守 ExtJS 的开源规则)
  3. django-orm框架了解
  4. 微博爬取显示全文_Python爬虫---chrome driver爬取微博(教你几十行代码爬取财宝宝微博长文)...
  5. iOS底层探索之多线程(十七)——通过 Swift的Foundation源码分析锁(NSLock、NSCondition、NSRecursiveLock)
  6. Chrome常用插件和油猴(Tampermonkey)脚本使用及常用脚本分享(网盘)
  7. 计算机软件开发即征即退,自行开发软件产品增值税实行即征即退政策
  8. 计算机相关国内外文献,计算机外文文献
  9. 基于MPLS的VPLS
  10. Qt编写安防视频监控系统(支持win/linux/mac/海康/大华/宇视/264/265等)
  11. Python编程之读取Excel csv格式文件内容
  12. 4.2nbsp;反身理论与均衡价格论
  13. 竖屏图片滚动html5,详解swipe使用及竖屏页面滚动方法
  14. python基础教程学习笔记 —字符串
  15. Python项目实战学习 外星人入侵 创建外星人飞船并实现外星人动态移动效果
  16. 其他——调试时chrom崩溃
  17. 【面试】Java中级工程师社招简历
  18. SQL优化SQL语句优化的目的
  19. 伯乐识英才,我们招聘啦!
  20. 【CET4四级英语】【单词】英语四级高频词汇(6)

热门文章

  1. C语言程序设计题解pdf,C语言程序设计题解与上机指导.pdf
  2. 黑马程序员Java基础视频教程-课程总结文档
  3. c 易语言置入代码6,易语言置入代码动态版
  4. 计算机总是重启是怎么回事,电脑老是重启怎么办?重启原因分析及解决方法
  5. 单片机烧录文件格式转换(1)
  6. RPC failed; curl 56 GnuTLS recv error (-54): Error in the pull function.
  7. Java调用Python程序方法总结(最全最详细)
  8. [AD]-学习笔记-元件库介绍及电阻容模型和IC类器件的创建
  9. xencenter如何安装Centos7虚拟机系统
  10. 4-0 Software Development OKR