一元三次方程的解

一元三次方程的解法,点击跳转知乎原文地址

一元四次方程的解:https://blog.csdn.net/m0_37567738/article/details/129062960?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22129062960%22%2C%22source%22%3A%22m0_37567738%22%7D

(一)一元三次方程降阶

一元三次方程原型:
a x 3 + b x 2 + c x + d = 0 a x^3 + b x^2 + cx + d = 0 ax3+bx2+cx+d=0

代换削元。最简单的方法是线性变化削元。假设x = my + n, 带入后可以削去未知数y的平方项:

a ( m y + n ) 3 + b ( m y + n ) 2 + c ( m y + n ) + d = a m 3 y 3 + 3 a m 2 y 2 n + 3 a m y n 2 + a n 3 + b m 2 y 2 + 2 b m n y + b n 2 + c m y + c n + d = 0 a (my+n) ^3 + b (my+n) ^ 2 + c(my+n) + d = \\ am^3y^3 + 3am^2y^2 n + 3amyn^2 + an^3 +\\ bm^2y^2 + 2bmny+bn^2 +\\ cmy+cn +\\ d = 0 a(my+n)3+b(my+n)2+c(my+n)+d=am3y3+3am2y2n+3amyn2+an3+bm2y2+2bmny+bn2+cmy+cn+d=0
即此时必须满足二次项系数值之和为0,也就是 3 a m 2 n + b m 2 = 0 3am^2n + bm^2 = 0 3am2n+bm2=0,从而可以得出结论: n = − b 3 a , m 为任意值 n = - \frac {b}{3a},m为任意值 n=3ab,m为任意值

由此证明:若将 x = y − b 3 a x = y - \frac {b}{3a} x=y3ab带入原式,则可以讲方程变为如下形式:

x 3 + p x + q = 0 (1.0) x ^ 3 + p x + q = 0 \tag{1.0} x3+px+q=0(1.0)

(二)一元三次方程解的原理

上一片博文是我学习接触一元三次方程的起点,但是原文中有几句话一直不是很明白,为什么x = a + b带入后的限制条件为什么是:

  1. − 3 a b = p -3ab = p 3ab=p
  2. q = − ( a 3 + b 3 ) q = - (a^3 + b^3) q=(a3+b3)
  3. x = a + b x = a+ b x=a+b

看了另外一篇文章,加上自己的思索终于弄明白了。手动推导一下。

其中要解的方程如下:

x 3 + p x + q = 0 (1.0) x ^ 3 + p x + q = 0 \tag{1.0} x3+px+q=0(1.0)

假设 x = a + b x = a+b x=a+b ,那么
x 3 = ( a + b ) 3 = a 3 + 3 a b ( a + b ) + b 3 = a 3 + b 3 + 3 a b x x^3 = (a+b)^3 = a^3 + 3ab(a+b) + b^3 = a^3 + b^3 + 3ab x x3=(a+b)3=a3+3ab(a+b)+b3=a3+b3+3abx
因此 x 3 − 3 a b x − ( a 3 + b 3 ) = 0 (1.1) x ^ 3 - 3abx - (a^3 + b^3 ) = 0 \tag{1.1} x33abx(a3+b3)=0(1.1)

仔细观察上面的(1.0)和 (1.1),因为两个式子差别仅仅是一个代换问题,如果代换成立的话(必然可以成立),两者是等价的;也可以认为,未知数的次数和系数形式是一样的,由此得到如下结论:

  1. − 3 a b = p -3ab = p 3ab=p
  2. q = − ( a 3 + b 3 ) q = - (a^3 + b^3) q=(a3+b3)
  3. x = a + b x = a+ b x=a+b

如此一来,我们假设 x = a + b, 带入要解的方程中可得:

( a + b ) 3 + p ( a + b ) + q = 0 = = > (a + b) ^ 3 + p(a+b) + q = 0 ==> (a+b)3+p(a+b)+q=0==>
a 3 + b 3 + 3 a 2 b + 3 a b 2 + p ( a + b ) + a = 0 = = > a^3 + b^3 + 3 a^2b + 3ab^2 + p(a+b) + a = 0 ==> a3+b3+3a2b+3ab2+p(a+b)+a=0==>
a 3 + b 3 + ( a + b ) ( 3 a b + p ) + q = 0 (1.2) a^3 + b^3 + (a+b)(3ab + p) + q = 0 \tag{1.2} a3+b3+(a+b)(3ab+p)+q=0(1.2)

此时,上述三个条件依然是满足的。未知数变为a 和 b,其满足的关系为:

  1. a 3 b 3 = − p 3 27 a^3b^3 = - \frac{p^3}{27} a3b3=27p3
  2. a 3 + b 3 = − q a^3 + b^3 = -q a3+b3=q

到现在为止,就可以讲三次方程转化为2次方程来求解了。

再次假设: a 3 = m , b 3 = n a^3 = m, b^3 = n a3=m,b3=n,带入后可得: m ( − q − m ) = − p 3 27 m(-q - m) = -\frac{p^3}{27} m(qm)=27p3

m 2 + m q − p 3 / 27 = 0 m^2 + mq - p^3/27 = 0 m2+mqp3/27=0
m = − q + − q 2 + 4 p 3 27 2 = − q / 2 + − ( q 2 ) 2 + ( p 3 ) 3 m = \frac{-q+-\sqrt{q^2+\frac{4p^3}{27}}}{2} = -q/2 +- \sqrt{ (\frac{q}{2})^2 + (\frac{p}{3})^3} m=2q+q2+274p3 =q/2+(2q)2+(3p)3

n = − q / 2 − + ( q 2 ) 2 + ( p 3 ) 3 n = -q/2 -+ \sqrt{ (\frac{q}{2})^2 + (\frac{p}{3})^3} n=q/2+(2q)2+(3p)3

将上面两个变量开三次方可得方程的一个根:

a = − q / 2 + − ( q 2 ) 2 + ( p 3 ) 3 3 a= \sqrt[3]{ -q/2 +- \sqrt{ (\frac{q}{2})^2 + (\frac{p}{3})^3}} a=3q/2+(2q)2+(3p)3

b = − q / 2 − + ( q 2 ) 2 + ( p 3 ) 3 3 b = \sqrt[3] { -q/2 -+ \sqrt{ (\frac{q}{2})^2 + (\frac{p}{3})^3} } b=3q/2+(2q)2+(3p)3

(三)其他的根

在获取了方程的一个根后,利用等式 a 3 + b 3 = − q a^3 + b^3 = -q a3+b3=q a b = − p 3 ab = - \frac {p}{3} ab=3p可以得到其他的两个根。

a 3 + b 3 = ( a + b ) ( a 2 − a b + b 2 ) = − q a^3 + b^3 = (a + b)(a ^2 - ab + b^2) = -q a3+b3=(a+b)(a2ab+b2)=q

a 2 − a b + b 2 = − q a + b a ^2 - ab + b^2= \frac {-q}{a + b} a2ab+b2=a+bq

a b = − p 3 ab = - \frac {p}{3} ab=3p

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/44544.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c++ 面试题

文章目录 c面试准备语法c 11auto 和 decltype左值右值和移动语义 前和后 网络简述三次握手简述四次握手简述epeo select模型区别 内存程序在内存中如何分布 数据库索引失效的发生场景常用索引常用索引结构什么是ACID(数据库事务特性)mysql的锁分为哪些类别 c面试准备 语法 c …

均线多头排列和突破前高形态叠加,只为抓取主升浪!股票量化分析工具QTYX-V2.6.9...

功能概述 我们的股票量化系统QTYX在实战中不断迭代升级,针对当前行情,主要聚焦在抓取主升浪的强势股。 单一的指标是用局限的,QTYX的选股框架,是把多指标结合起来一起过滤出强势股。 QTYX支持从市场4000多只票中过滤出强势股的流程…

利用“病毒制造机”实现脚本病毒的制造

一、脚本病毒的概念: 脚本病毒通常是 JavaScript 或 VBScript 等语言编写的恶意代码,一般广告性质,会修改 IE 首页、修改注册表等信息,对用户计算机造成破坏。 通过网页进行的传播的病毒较为典型,脚本病毒还会有如下前…

HAProxy负载均衡 代理

1.安装 yum -y install haproxy 2.配置文件 /etc/haproxy 下 global log 127.0.0.1 local2 #日志定义级别 chroot /var/lib/haproxy #当前工作目录 pidfile /var/run/haproxy.pid #进程id maxconn 4000 #最大连接…

软件测试技术之单元测试—工程师 Style 的测试方法

什么是单元测试? Wikipedia 对单元测试的定义: 在计算机编程中,单元测试(Unit Testing)又称为模块测试,是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作。 在实际…

使用PyMuPDF库的PDF合并和分拆程序

PDF工具应用程序是一个使用wxPython和PyMuPDF库编写的简单工具,用于合并和分拆PDF文件。它提供了一个用户友好的图形界面,允许用户选择源文件夹和目标文件夹,并对PDF文件进行操作。 C:\pythoncode\blog\pdfmergandsplit.py 功能特点 选择文…

unity物体移动至指定位置

物体坐标与物体移动 世界坐标与局部坐标之间的转换物体移动至指定位置需求思路注意 世界坐标与局部坐标之间的转换 在Unity中,物体的坐标分为局部坐标和世界坐标。 局部坐标是相对于物体的父对象的坐标系,而世界坐标是相对于场景的整体坐标系。 使用tr…

css学习2(利用id与class修改元素)

1、id选择器可以为标有特定id的html元素指定特定的样式。 2、选择器以#开头,后跟某id的属性值。 3、class选择器用于描述一组元素的样式,class可以在多个元素使用。 4、类选择器用.选择。 5、指定特定的元素使用class。 6、元素的多个类用空格分开&…

Mariadb高可用MHA (四十二)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 一、概述 1.1 概念 1.2 组成 1.3 特点 1.4 工作原理 二、构建MHA 2.1 ssh免密登录 2.2 主从复制 2.3 MHA安装 2.3.1所有节点安装perl环境 2.3..2 node 2.3.…

[LitCTF 2023]Ping

因为直接ping会有弹窗。这里在火狐f12,然后f1选禁用javascript,然后ping 然后输入127.0.0.1;cat /flag 得到flag, 查看其他大佬的wp ,这里还可以抓包。但是不知道为什么我这里的burp 用不了

AWS复制EC2文件到S3,g4dn.2xlarge没有NVIDIA GPU 驱动问题

1、给instances权限 action > Security > modify IAM role 把提前创建好的role给这个instance即可 2、复制到bucket aws s3 cp gogo.tar.gz s3://ee547finalbucket不需要手动安装GPU驱动 如果要自己安装,参考https://docs.aws.amazon.com/AWSEC2/latest/U…

VBA技术资料MF45:VBA_在Excel中自定义行高

【分享成果,随喜正能量】可以不光芒万丈,但不要停止发光。有的人陷入困境,不是被人所困,而是自己束缚自己,这时"解铃还须系铃人",如果自己无法放下,如何能脱困? 。 我给V…

C语言 poll多路复用

NAME poll, ppoll - wait for some event on a file descriptor SYNOPSIS #include <poll.h> 函数原型&#xff1a; int poll(struct pollfd *fds, nfds_t nfds, int timeout); #define _GNU_SOURCE /* See feature_test_macros(7) */ …

SkyEye操作指南:连接TI CCS的IDE调试

现代电力电子控制系统的开发中&#xff0c;DSP芯片以其优越的运算性能在控制算法领域得到越来越广泛的应用。传统的DSP开发过程往往需要在完成控制系统仿真与程序设计后&#xff0c;才能根据比对结果进行程序修改&#xff0c;全过程还需要硬件电路工程师的配合&#xff0c;开发…

【微信小程序】下拉刷新功能实现

微信小程序开发系列 文章目录 前言一、onPullDownRefresh函数二、实现1.开启下拉刷新2.监听下拉事件 前言 在开发微信小程序中经常会需要下拉页面进行更新要页面数据的功能&#xff0c;微信小程序提供了onPullDownRefresh函数。该函数作用是监听用户下拉动作。 一、onPullDown…

CH01_重构、第一个示例

概述 在这一章节&#xff0c;作者给出了一个戏剧演出团售票的示例&#xff1a;剧目有悲剧&#xff08;tragedy&#xff09;和喜剧&#xff08;comedy&#xff09;&#xff1b;为了卖出更多的票&#xff0c;剧团则更具观众的数量来为下次演出打折扣&#xff08;大致意思是这次的…

JVM面试题-1

1、什么是JVM内存结构&#xff1f; jvm将虚拟机分为5大区域&#xff0c;程序计数器、虚拟机栈、本地方法栈、java堆、方法区&#xff1b; 程序计数器&#xff1a;线程私有的&#xff0c;是一块很小的内存空间&#xff0c;作为当前线程的行号指示器&#xff0c;用于记录当前虚拟…

移植PeerTalk开源库IOS的USB通信监听服务到QT生成的FFmpeg工程

1.添加生成的PeerTalk库 下图选中部分为FFmpeg依赖库 将USB通信服务的m与h文件添加到工程 因为OC文件使用了弱指针,所以要启用弱指针支持 因为FFmpeg拉流动用到本地网络,所以要在plist文件中启动本地网络使用 设置PeerTalk为嵌入模式 设置Runpath Search Paths为@executable_p…

flask接口请求频率限制

pip install Flask-Limiter Flask-Limiter官方文档 基本使用 默认是用IP作为key进行计数的&#xff0c;你也可以自定义key&#xff0c;具体看官网 from flask import Flask from flask_limiter import Limiter from flask_limiter.util import get_remote_addressapp Flas…

【C++中的strcmp函数】

简介 在C中&#xff0c;字符串比较是一项常见的操作&#xff0c;用于判断两个字符串是否相等或者大小关系。strcmp函数是C标准库中用于字符串比较的重要函数。 strcmp函数&#xff1a;字符串比较 strcmp函数用于比较两个字符串的大小关系。它的原型如下&#xff1a; int st…