免費論壇 繁體 | 簡體
Sclub交友聊天~加入聊天室當版主
分享
返回列表 发帖

三次方程求根公式的三角函数形式

本帖最后由 hbghlyj 于 2021-4-11 22:34 编辑

TrigSolve=((q Sqrt[-4/(3q)]Cos[1/3 ArcCos[-3r/(2q)Sqrt[3/-q]]+2Pi/3{0,1,2}]-b/(3a))/.{q->-(b^2/(3 a^2))+c/a,r->-(b^3/(27 a^3))+b^3/(9 a)-(b c)/3+d/a})/.Thread[{d,c,b,a}->CoefficientList[#1,#2]]&;

示例:
g[x_] = x^3 - 3 x + 1; TrigSolve[g[x], x]
输出\[\left\{-2 \cos \left(\frac{\pi }{9}\right),2 \cos \left(\frac{2 \pi }{9}\right),2 \sin \left(\frac{\pi }{18}\right)\right\}\]验证:
Simplify[g/@%]
输出
{0,0,0}

本帖最后由 hbghlyj 于 2021-4-15 01:15 编辑

这个东西应该只适用于方程有三个实根的情况.
比如
g[x_] = 2 - 9 x - 4 x^2 + 12 x^3; Chop[N[g /@ TrigSolve[g[x], x]]]
输出
{150.062, 150.062, 150.062}
都不是0,说明公式失效
为何三个数值相等呢?

TOP

改用维基教科书上的公式写成代码如下:
TrigSolve =
Module[{L, Q, R, \[CapitalDelta], \[Theta]},
   L = CoefficientList[#1, #2]; {c, b, a} = Delete[L/L[[4]], 4];
   Q = (3 b - a^2)/9;
   R = (9 a b - 27 c - 2 a^3)/54; \[CapitalDelta] =
    Q^3 + R^2; \[Theta] = ArcCos[R/Sqrt[-Q^3]];
   2 Sqrt[-Q] Cos[\[Theta]/3 + 2 Pi/3 {0, 1, 2}] - a/3] &;
再测试2#的例子,这回都是0,说明公式在方程有两个虚根时仍然适用.
1

评分人数

TOP

本帖最后由 hbghlyj 于 2022-3-16 19:40 编辑

发现ComplexExpand可以把根式化成三角函数形式:
In:=
       ComplexExpand[ToRadicals[Root[#^3 - 3 # + 1 &, 1]]]
Out:=
       $-2 \cos \left(\frac{\pi }{9}\right)$

但是有的时候需要手动用辅助角继续化简:
In:=
       ComplexExpand[ToRadicals[Root[-1+21 #1-35 #1^2+7 #1^3&,1]]]
Out:=
       $\frac{5}{3}-\frac{4}{3}\cos \left(\frac{1}{3} \tan ^{-1}\left(\frac{3 \sqrt{3}}{13}\right)\right)-\frac{4 \sin \left(\frac{1}{3} \tan ^{-1}\left(\frac{3 \sqrt{3}}{13}\right)\right)}{\sqrt{3}}$
In:=
       %/. (A_ : 1) Cos[t_] + (B_ : 1) Sin[t_] :> Sqrt[A^2 + B^2] Cos[t - ArcTan[A, B]]
Out:=
       $\frac{5}{3}-\frac{8}{3} \sin \left(\frac{\pi }{6}+\frac{1}{3} \tan ^{-1}\left(\frac{3 \sqrt{3}}{13}\right)\right)$

更有甚者,需要先用TrigReduce,再手动用辅助角化简:
In:=
       ComplexExpand[ToRadicals[Root[#^3-6 #+1&,1]]]
Out:=
       $-\frac{\text{Cos}\left[\frac{1}{3} \left(\pi
   -\text{ArcTan}\left[\sqrt{31}\right]\right)\right]}{\sqrt{2}}-\frac{\text{Cos}\left[\frac{1}{3} \left(-\pi
   +\text{ArcTan}\left[\sqrt{31}\right]\right)\right]}{\sqrt{2}}-\sqrt{\frac{3}{2}} \text{Sin}\left[\frac{1}{3}
   \left(\pi -\text{ArcTan}\left[\sqrt{31}\right]\right)\right]+\sqrt{\frac{3}{2}} \text{Sin}\left[\frac{1}{3}
   \left(-\pi +\text{ArcTan}\left[\sqrt{31}\right]\right)\right]$
       $+i \left(\sqrt{\frac{3}{2}} \text{Cos}\left[\frac{1}{3}
   \left(\pi -\text{ArcTan}\left[\sqrt{31}\right]\right)\right]-\sqrt{\frac{3}{2}} \text{Cos}\left[\frac{1}{3}
   \left(-\pi +\text{ArcTan}\left[\sqrt{31}\right]\right)\right]-\frac{\text{Sin}\left[\frac{1}{3} \left(\pi
   -\text{ArcTan}\left[\sqrt{31}\right]\right)\right]}{\sqrt{2}}-\frac{\text{Sin}\left[\frac{1}{3} \left(-\pi
   +\text{ArcTan}\left[\sqrt{31}\right]\right)\right]}{\sqrt{2}}\right)$
In:=
       % // TrigReduce
Out:=
       $-\sqrt{6} \text{Cos}\left[\frac{\pi
   }{6}+\frac{\text{ArcTan}\left[\sqrt{31}\right]}{3}\right]-\sqrt{2} \text{Sin}\left[\frac{\pi
   }{6}+\frac{\text{ArcTan}\left[\sqrt{31}\right]}{3}\right]$
In:=
       %/. (A_ : 1) Cos[t_] + (B_ : 1) Sin[t_] :> Sqrt[A^2 + B^2] Cos[t - ArcTan[A, B]]
Out:=
       $-2 \sqrt{2}
   \text{Cos}\left[\frac{\text{ArcTan}\left[\sqrt{31}\right]}{3}\right]$

TOP

返回列表 回复 发帖