当前位置: 首页 > news >正文

一元三次方程的解

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

(一)一元三次方程降阶

一元三次方程原型:
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

相关文章:

一元三次方程的解

一元三次方程的解法,点击跳转知乎原文地址 (一)一元三次方程降阶 一元三次方程原型: a x 3 b x 2 c x d 0 a x^3 b x^2 cx d 0 ax3bx2cxd0 代换削元。最简单的方法是线性变化削元。假设x my n, 带入后可以削去未知数…...

aardio开发语言Excel数据表读取修改保存实例练习

import win.ui; /*DSG{{*/ var winform win.form(text"aardio form";right759;bottom479) winform.add( buttonEnd{cls"button";text"末页";left572;top442;right643;bottom473;z6}; buttonExcelRead{cls"button";text"读取Exce…...

webshell绕过

文章目录 webshell前置知识进阶绕过 webshell 前置知识 <?phpecho "A"^""; ?>运行结果 可以看到出来的结果是字符“&#xff01;”。 为什么会得到这个结果&#xff1f;是因为代码的“A”字符与“”字符产生了异或。 php中&#xff0c;两个变…...

Spring Boot 统一功能处理

目录 1.用户登录权限效验 1.1 Spring AOP 用户统一登录验证的问题 1.2 Spring 拦截器 1.2.1 自定义拦截器 1.2.2 将自定义拦截器加入到系统配置 1.3 拦截器实现原理 1.3.1 实现原理源码分析 2. 统一异常处理 2.1 创建一个异常处理类 2.2 创建异常检测的类和处理业务方法 3. 统一…...

图像处理常见的两种拉流方式

传统算法或者深度学习在进行图像处理之前&#xff0c;总是会首先进行图像的采集&#xff0c;也就是所谓的拉流。解决拉流的方式有两种&#xff0c;一个是直接使用opencv进行取流&#xff0c;另一个是使用ffmpeg进行取流&#xff0c;如下分别介绍这两种方式进行拉流处理。 1、o…...

数据可视化数据调用浅析

数据可视化是现代数据分析和决策支持中不可或缺的一环。它将数据转化为图形、图表和可视化工具&#xff0c;以便更直观地理解和解释数据。在数据可视化的过程中&#xff0c;数据的调用和准备是关键的一步。本文将探讨数据可视化中的数据调用过程&#xff0c;并介绍一些常用的数…...

恒运资本:CPO概念发力走高,兆龙互联涨超10%,华是科技再创新高

CPO概念15日盘中发力走高&#xff0c;截至发稿&#xff0c;华是科技涨超15%再创新高&#xff0c;兆龙互联涨逾11%&#xff0c;中贝通讯涨停&#xff0c;永鼎股份、太辰光涨超5%&#xff0c;天孚通讯涨逾4%。 消息面上&#xff0c;光通讯闻名咨询机构LightCounting近日发布的202…...

【蓝桥杯】[递归]母牛的故事

原题链接&#xff1a;https://www.dotcpp.com/oj/problem1004.html 目录 1. 题目描述 2. 思路分析 3. 代码实现 1. 题目描述 2. 思路分析 我们列一个年份和母牛数量的表格&#xff1a; 通过观察&#xff0c;找规律&#xff0c;我们发现&#xff1a; 当年份小于等于4时&…...

使用RDP可视化远程桌面连接Linux系统

使用RDP可视化远程桌面连接Linux系统 远程桌面连接Linux安装安装包准备服务器安装xrdp远程连接 远程桌面连接Linux 通常使用SSH来连接服务器&#xff0c;进行命令行操作&#xff0c;但是这次需要远程调试生产环境的内网服务器&#xff0c;进行浏览器访问内网网站&#xff0c;至…...

数据可视化diff工具jsondiffpatch使用学习

1.jsondiffpatch 简介 jsondiffpatch 是一个用于比较和生成 JSON 数据差异的 JavaScript 库。它可以将两个 JSON 对象进行比较&#xff0c;并生成一个描述它们之间差异的 JSON 对象。这个差异对象可以用于多种用途&#xff0c;例如&#xff1a; 生成可视化的差异报告应用差异…...

pdf 转 word

pdf 转 word 一、思路 直接调用LibreOffice 命令进行文档转换的命令行工具 使用的前系统中必须已经安装了 libreofficelibreoffice已翻译的用户界面语言包: 中文 (简体)libreoffice离线帮助文档: 中文 (简体)上传字体 重点&#xff1a;重点&#xff1a;重点&#xff1a; 亲…...

【数据结构OJ题】设计循环队列

原题链接&#xff1a;https://leetcode.cn/problems/design-circular-queue/ 1. 题目描述 2. 循环队列的概念和结构 为充分利用向量空间&#xff0c;克服"假溢出"现象的方法是&#xff1a;将向量空间想象为一个首尾相接的圆环&#xff0c;并称这种向量为循环向量。…...

Java 中创建对象有哪些方式?

目录 面试回答 使用 new 关键字 使用反射机制 使用 Class 类的 newInstance() 方法 使用 Constructor 类的 newInstance 方法 使用 clone 方法 使用反序列化 使用方法句柄 使用 Unsafe 分配内存 面试回答 使用 new 关键字 这是我们最常用的、也是最简单的创建对象的方…...

Kafka 消息发送和消费流程

发送消息 流程如下&#xff1a; Producer 端直接将消息发送到 Broker 中的 Leader 分区中Broker 对应的 Leader 分区收到消息会先写入 Page Cache&#xff0c;定时刷盘进行持久化&#xff08;顺序写入磁盘&#xff09;Follower 分区拉取 Leader 分区的消息&#xff0c;并保持…...

UVa10048 Audiophobia(floyd)

题意 给出一个图&#xff0c;图中的边表示从点u到点v路径上的噪音。给出q个查询&#xff0c;问从u到v所经路径上的最小噪音 思路 在使用floyd计算点对之间的路径时&#xff0c; D u , v k m i n { D u , v k − 1 , m a x { D u , k k − 1 , D k , v k − 1 } } D_{u, v}^…...

​Redis概述

目录 Redis - 概述 使用场景 如何安装 Window 下安装 Linux 下安装 docker直接进行安装 下载Redis镜像 Redis启动检查常用命令 Redis - 概述 redis是一款高性能的开源NOSQL系列的非关系型数据库,Redis是用C语言开发的一个开源的高键值对(key value)数据库,官方提供测试…...

MsrayPlus多功能搜索引擎采集软件

MsrayPlus多功能搜索引擎采集软件 摘要&#xff1a; 本文介绍了一款多功能搜索引擎软件-MsrayPlus&#xff0c;该软件能够根据关键词从搜索引擎中检索相关数据&#xff0c;并提供搜索引擎任务、爬虫引擎任务和联系信息采集三大功能。我们将分析该软件在不同领域的应用&#xf…...

机器学习之概率论

最近&#xff0c;在了解机器学习相关的数学知识&#xff0c;包括线性代数和概率论的知识&#xff0c;今天&#xff0c;回顾了概率论的知识&#xff0c;贴上几张其他博客的关于概率论的图片&#xff0c;记录学习过程。...

【深度学习 | 数据可视化】 视觉展示分类边界: Perceptron模型可视化iris数据集的决策边界

&#x1f935;‍♂️ 个人主页: AI_magician &#x1f4e1;主页地址&#xff1a; 作者简介&#xff1a;CSDN内容合伙人&#xff0c;全栈领域优质创作者。 &#x1f468;‍&#x1f4bb;景愿&#xff1a;旨在于能和更多的热爱计算机的伙伴一起成长&#xff01;&#xff01;&…...

【计算机视觉】相机基本知识(还在更新)

1.面阵工业相机与线阵工业相机 1.1 基本概念区别 面阵相机则主要采用的连续的、面状扫描光线来实现产品的检测&#xff1b; 线阵相机即利用单束扫描光来进行物体扫描的工作的。 1.2 优缺点 &#xff08;1&#xff09;面阵CCD工业相机&#xff1a; 优点&#xff1a;应用面…...

HLAE高效创作指南:释放Source引擎电影级视觉潜能

HLAE高效创作指南&#xff1a;释放Source引擎电影级视觉潜能 【免费下载链接】advancedfx Half-Life Advanced Effects (HLAE) is a tool to enrich Source (mainly CS:GO) engine based movie making. 项目地址: https://gitcode.com/gh_mirrors/ad/advancedfx 一、核心…...

实时口罩检测-通用部署教程:Windows WSL2环境下ModelScope模型本地加载

实时口罩检测-通用部署教程&#xff1a;Windows WSL2环境下ModelScope模型本地加载 1. 环境准备与WSL2配置 1.1 WSL2安装与设置 如果你使用的是Windows系统&#xff0c;首先需要安装WSL2&#xff08;Windows Subsystem for Linux 2&#xff09;。这是微软提供的Linux兼容层&…...

Claude Tool Use 怎么用?从零到生产的完整教程(2026)

上周接了个需求&#xff0c;做一个能查天气、查数据库、还能发邮件的 AI 助手。一开始想着用 LangChain 套一层&#xff0c;后来发现 Claude 原生的 Tool Use&#xff08;也叫 Function Calling&#xff09;已经很成熟了&#xff0c;根本不需要额外框架。但官方文档写得有点绕&…...

GHelper终极指南:华硕笔记本性能优化的完整解决方案

GHelper终极指南&#xff1a;华硕笔记本性能优化的完整解决方案 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops. Control tool for ROG Zephyrus G14, G15, G16, M16, Flow X13, Flow X16, TUF, Strix, Scar and other models 项目地址:…...

VSCode远程开发终极指南:5分钟搞定跳板机+服务器免密配置(附SSH密钥生成教程)

VSCode远程开发终极指南&#xff1a;5分钟搞定跳板机服务器免密配置 每次连接远程服务器都要输入密码、反复跳转终端&#xff0c;是不是已经让你精疲力尽&#xff1f;作为开发者&#xff0c;我们值得拥有更优雅的远程开发体验。今天要分享的这套方案&#xff0c;不仅能让你在VS…...

Llama-3.2V-11B-cot实操手册:构建带反馈机制的迭代式视觉推理Agent

Llama-3.2V-11B-cot实操手册&#xff1a;构建带反馈机制的迭代式视觉推理Agent 你有没有遇到过这种情况&#xff1f;给AI看一张复杂的图表或流程图&#xff0c;它要么答非所问&#xff0c;要么只能给出一个笼统的、没有逻辑链条的答案。你心里想&#xff1a;“它到底是怎么得出…...

终极指南:如何用Locale Emulator轻松解决Windows多语言软件兼容性问题

终极指南&#xff1a;如何用Locale Emulator轻松解决Windows多语言软件兼容性问题 【免费下载链接】Locale-Emulator Yet Another System Region and Language Simulator 项目地址: https://gitcode.com/gh_mirrors/lo/Locale-Emulator 你是否曾经因为日文游戏乱码而烦恼…...

避坑指南:从Paraformer到SenseVoice,语音模型训练数据准备的5个常见错误

避坑指南&#xff1a;从Paraformer到SenseVoice&#xff0c;语音模型训练数据准备的5个常见错误 语音识别和多模态语音模型正在重塑人机交互的边界。当Paraformer凭借其简洁的音频-文本配对要求成为ASR领域的新宠时&#xff0c;SenseVoice却以情感识别、事件标记等多维度分析能…...

Lingyuxiu MXJ LoRA效果展示:masterpiece+best quality+8k三重加持高清输出

Lingyuxiu MXJ LoRA效果展示&#xff1a;masterpiecebest quality8k三重加持高清输出 1. 引言&#xff1a;当唯美人像遇上AI创作 想象一下&#xff0c;你是一位摄影师或设计师&#xff0c;需要创作一组具有特定艺术风格的人像作品。传统的流程需要寻找模特、布置灯光、后期精…...

用PyTorch和snnTorch库5分钟搞定一个脉冲神经网络(SNN)手写数字识别Demo

用PyTorch和snnTorch库5分钟搞定一个脉冲神经网络&#xff08;SNN&#xff09;手写数字识别Demo 脉冲神经网络&#xff08;SNN&#xff09;作为第三代神经网络模型&#xff0c;正逐渐从学术研究走向工业应用。与传统人工神经网络不同&#xff0c;SNN通过模拟生物神经元的脉冲发…...