数学中国

 找回密码
 注册
搜索
热搜: 活动 交友 discuz
楼主: drc2000再来

求下列五次方程的根式解:x(x+1)(x+2)(x+3)(x+4)=120

[复制链接]
发表于 2021-1-8 11:49 | 显示全部楼层
本帖最后由 ysr 于 2021-4-18 13:08 编辑
天山草@ 发表于 2021-1-5 12:54
实系数一元四次方程的公式解:


天山草@老师老师您好!修改了一下这个程序,这回对了,是我在网上抄录的vb程序本身不完整且有错误(总算是补充完整了,这就是蝶形算法,快速变换)。

实际值:12.9+10.9i, 2+7i, 3.1-1.1i, 7, 3.1+1.1i, 2-7i, 12.9-10.9i, 21
输入:80607000,程序结果:12.9497474683058+10.9497474683058i  1.99999999999999+7i  3.05025253169417+-1.05025253169417i  
7+0i  3.05025253169417+1.05025253169415i  2.00000000000001+-7i  12.9497474683058+-10.9497474683058i  21+0i  

代码如下:
Private Sub Command1_Click()
Dim xr() As Double, a As String
a = Trim(Text1)
ReDim xr(0 To Len(a) - 1)
For i1 = 0 To Len(a) - 1
xr(i1) = Mid(a, i1 + 1, 1)
  Next
Dim l As Long, le As Long, le1 As Long, n As Long, r As Long, p As Long, q As Long, m As Byte
Dim wr As Double, w1 As Double, wlr As Double, wl1 As Double, tr As Double, t1 As Double
Dim pi As Double, t As Double
Dim xi()
n = Len(a) '求数组大小,其值必须是2的幂
m = 0
l = 2
pi = 3.14159265358979
Do
l = l + l
m = m + 1
Loop Until l > n
n = l / 2
ReDim xi(n - 1)

l = 1
Do
  le = 2 ^ l
  le1 = le / 2
  wr = 1
  wi = 0
  If l = 1 Then
  t = 0
  Else
  t = pi / le1
  End If
  w1r = Cos(t)
  w1i = -Sin(t)
  Print l
  r = 0
Do
  p = r
  Do
   q = p + le1
   
   tr = xr(q) * wr - xi(q) * wi
   ti = xr(q) * wi + xi(q) * wr
   
   xr(q) = xr(p) - tr
   xi(q) = xi(p) - ti
   xr(p) = xr(p) + tr
   xi(p) = xi(p) + ti
   Print p, q
   
   Print xr(p), xr(q)
   
   
   p = p + le
Loop Until p > n - 2


wr2 = wr * w1r - wi * w1i
wi2 = wr * w1i + wi * w1r
wr = wr2
wi = wi2
r = r + 1
Loop Until r > le1 - 1
l = l + 1
Loop Until l > m

For i = 0 To n - 1 '仅输出模
   Text2 = xr(i) & "+" & xi(i) & "i" & "  " & Text2
   Next

End Sub

Private Sub Command2_Click()
Text1 = ""
Text2 = ""
End Sub
回复 支持 反对

使用道具 举报

发表于 2021-1-28 13:34 | 显示全部楼层
两种方法理论上应该是一致的一样的,精确度好象不一样,下午上班,有空再计算一下,并代入方程验证一下,或者编程验证一下,那个结果精确度高?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-4-18 17:32 | 显示全部楼层
谢谢各位老师!辛苦了!
x(x+1)(x+2)(x+3)(x+4)=120的根除了x=1,其余的那么复杂,简直没天理!
回复 支持 反对

使用道具 举报

发表于 2021-4-18 20:30 | 显示全部楼层
drc2000再来 发表于 2021-4-18 17:32
谢谢各位老师!辛苦了!
x(x+1)(x+2)(x+3)(x+4)=120的根除了x=1,其余的那么复杂,简直没天理!

zhuanlan.zhihu.com/p/345101278
一元四次方程解法全集
请多多指教,谢谢
回复 支持 反对

使用道具 举报

发表于 2021-4-20 15:15 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

发表于 2022-7-2 22:07 | 显示全部楼层
本帖最后由 ysr 于 2022-7-2 15:08 编辑

一元4次方程的系数依次为:1,11,46,96,120,结果:
-4.4147314911+ -1.2945834215i

-1.0852685089+ -2.1193668017i
顶一下,研究解方程的程序
回复 支持 反对

使用道具 举报

发表于 2022-7-6 12:18 | 显示全部楼层
Public Function jie2cifc(a2 As String, b2 As String, c2 As String, sd As String) As String '2次方程
Dim d, y
d = mbc2(Trim(b2), Trim(b2), Val(sd))
D1 = mpc2(Trim(d), mbc2(4 & String(sd, "0"), mbc2(Trim(a2), Trim(c2), Val(sd)), Val(sd)))
d3 = qdfh(Trim(D1))
D2 = mbbc2(Trim(d3), Val(sd))
y = mcc2(Trim(b2), mbc2(2 & String(sd, "0"), Trim(a2), Val(sd)), Val(sd))
sf = fhys(Trim(y))
sf = Val(-1 * sf)
y = tjfh(qdfh(Trim(y)), Val(sf))
y = shuchujg(Trim(y), Val(sd))
If mbjc2(Trim(D1), 0) >= 0 Then
d3 = mcc2(Trim(D2), mbc2(2 & String(sd, "0"), Trim(a2), Val(sd)), Val(sd))
d3 = shuchujg(Trim(d3), Val(sd))
Else
d3 = mcc2(Trim(D2), mbc2(2 & String(sd, "0"), Trim(a2), Val(sd)), Val(sd))
d3 = shuchujg(Trim(d3), Val(sd)) & "i"
End If
jie2cifc = y & "+ -" & d3
End Function
回复 支持 反对

使用道具 举报

发表于 2022-7-6 12:21 | 显示全部楼层
本帖最后由 ysr 于 2022-7-6 05:55 编辑

输入1:  a=1,  b=-2,  c=3,  d=4,e=5;  输出结果1:    x1,2=-0.5795978599+ -0.7253449538i,  x3,4=1.5795978599+ -1.8179487826i

这种情况应该是对的,求A的时候,根号里面是正值

代码如下:
Private Sub Command1_Click()
Dim a, b, c, d, f, g
Dim ja, jb, jc
k = DeleteSpace(Text1.Text)
ja = DeleteSpace(Text2.Text)
jb = DeleteSpace(Text3.Text)
jc = DeleteSpace(Text4.Text)
jd = DeleteSpace(Text5.Text)
sd1 = DeleteSpace(Text15.Text)
If Abs(Val(sd1)) <= 10 Then
sd = 10 + 2
Else
If Len(sd1) > 3 And Abs(Val(sd1)) > 300 Then
sd = 300 + 2
Else
sd = Int(Abs(Val(sd1))) + 2
End If
End If

a2 = zhengliys2(Trim(ja), Val(sd))
b2 = zhengliys2(Trim(jb), Val(sd))

c2 = zhengliys2(Trim(jc), Val(sd))
D2 = zhengliys2(Trim(jd), Val(sd))
k2 = zhengliys2(Trim(k), Val(sd))
If MBJC(Trim(k2), 0) = 0 Then
Text4.Text = "a 不能为 0"
   Text5.Text = "a 为 0可能已不是1元4次方程"
  Else
   
a3 = mcc2(Trim(a2), Trim(k2), Val(sd))
b3 = mcc2(Trim(b2), Trim(k2), Val(sd))
c3 = mcc2(Trim(c2), Trim(k2), Val(sd))
d3 = mcc2(Trim(D2), Trim(k2), Val(sd))
jk = 8 & String(sd, "0")
ja1 = mbc2("-4" & String(sd, "0"), Trim(b3), Val(sd))
jb1 = mpc2(mbc2(2 & String(sd, "0"), mbc2(Trim(a3), Trim(c3), Val(sd)), Val(sd)), mbc2(8 & String(sd, "0"), Trim(d3), Val(sd)))
jc1 = mpc2(mbc2(Trim(d3), mpc2(mbc2(4 & String(sd, "0"), Trim(b3), Val(sd)), mbc2(Trim(a3), Trim(a3), Val(sd))), Val(sd)), mbc2(Trim(c3), Trim(c3), Val(sd)))
y = jie3cifc(Trim(ja1), Trim(jb1), Trim(jc1), Trim(jk), Val(sd))
Y1 = zhengliys2(Trim(y), Val(sd))
End If
Text6 = zhengliys2(Trim(y), Val(sd))
Text8 = y
za = 1 & String(sd, "0")
z2 = mpc2(mpc3(mbc2(8 & String(sd, "0"), Trim(Y1), Val(sd)), mbc2(Trim(a3), Trim(a3), Val(sd))), mbc2(4 & String(sd, "0"), Trim(b3), Val(sd)))
z2 = mbbc2(qdfh(Trim(z2)), Val(sd))
zb1 = mcc2(mpc3(Trim(a3), Trim(z2)), 2 & String(sd, "0"), Val(sd))
zb2 = mcc2(mpc2(Trim(a3), Trim(z2)), 2 & String(sd, "0"), Val(sd))
zc1 = mpc3(Trim(Y1), mcc2(mpc2(mbc2(Trim(a3), Trim(Y1), Val(sd)), Trim(c3)), Trim(z2), Val(sd)))
zc2 = mpc2(Trim(Y1), mcc2(mpc2(mbc2(Trim(a3), Trim(Y1), Val(sd)), Trim(c3)), Trim(z2), Val(sd)))
y3 = jie2cifc(Trim(za), Trim(zb1), Trim(zc1), Val(sd))
y4 = jie2cifc(Trim(za), Trim(zb2), Trim(zc2), Val(sd))
Text9 = y3
Text10 = y4
Label1.Caption = Val(Label1.Caption) + 1
Text14.Text = Text14.Text & "  输入" & Label1.Caption & ":  " & "a=" & k & ",  b=" & ja & ",  c=" & jb & ",  d=" & jc _
  & ",e=" & jd & ";  输出结果" & Label1.Caption & ":    " & "x1,2=" & Text9.Text & ",  x3,4=" & Text10.Text
End Sub

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2022-7-6 12:26 | 显示全部楼层
输入1:  a=1,  b=2,  c=3,  d=4,e=-5;  输出结果1:    x1,2=-0.687509062557641972761017201778+ -1.371633382010711683016399697636,  x3,4=-0.312490937442358027238982798221+ -1.857874439171989445346701282261i  

输入2:  a=1,  b=11,  c=46,  d=96,e=120;  输出结果2:    x1,2=-4.414731491148088975319044433426+ -1.294583421496928798415482164043i,  x3,4=-1.085268508851911024680955566574+ -2.119366801671099328593384848563i
回复 支持 反对

使用道具 举报

发表于 2022-7-7 18:39 | 显示全部楼层
主楼的方程是有根式解的,如下是朋友给出的根式解:(看上去有点复杂)
解 0
x = 1


解 1
x = (-sqrt(225/(2*sqrt((36*((4*sqrt(14969)*%i)/sqrt(3)+460/27)^(2/3)-15*((4*sqrt(14969)*%i)/sqrt(3)+460/27)^(1/3)+1552)/((4*sqrt(14969)*%i)/sqrt(3)+460/27)^(1/3)))-((4*sqrt(14969)*%i)/sqrt(3)+460/27)^(1/3)-388/(9*((4*sqrt(14969)*%i)/sqrt(3)+460/27)^(1/3))-5/6)/2)-sqrt((36*((4*sqrt(14969)*%i)/sqrt(3)+460/27)^(2/3)-15*((4*sqrt(14969)*%i)/sqrt(3)+460/27)^(1/3)+1552)/((4*sqrt(14969)*%i)/sqrt(3)+460/27)^(1/3))/12-11/4

     
解 2
x = sqrt(225/(2*sqrt((36*((4*sqrt(14969)*%i)/sqrt(3)+460/27)^(2/3)-15*((4*sqrt(14969)*%i)/sqrt(3)+460/27)^(1/3)+1552)/((4*sqrt(14969)*%i)/sqrt(3)+460/27)^(1/3)))-((4*sqrt(14969)*%i)/sqrt(3)+460/27)^(1/3)-388/(9*((4*sqrt(14969)*%i)/sqrt(3)+460/27)^(1/3))-5/6)/2-sqrt((36*((4*sqrt(14969)*%i)/sqrt(3)+460/27)^(2/3)-15*((4*sqrt(14969)*%i)/sqrt(3)+460/27)^(1/3)+1552)/((4*sqrt(14969)*%i)/sqrt(3)+460/27)^(1/3))/12-11/4

     
解 3
x = (-sqrt((-225/(2*sqrt((36*((4*sqrt(14969)*%i)/sqrt(3)+460/27)^(2/3)-15*((4*sqrt(14969)*%i)/sqrt(3)+460/27)^(1/3)+1552)/((4*sqrt(14969)*%i)/sqrt(3)+460/27)^(1/3))))-((4*sqrt(14969)*%i)/sqrt(3)+460/27)^(1/3)-388/(9*((4*sqrt(14969)*%i)/sqrt(3)+460/27)^(1/3))-5/6)/2)+sqrt((36*((4*sqrt(14969)*%i)/sqrt(3)+460/27)^(2/3)-15*((4*sqrt(14969)*%i)/sqrt(3)+460/27)^(1/3)+1552)/((4*sqrt(14969)*%i)/sqrt(3)+460/27)^(1/3))/12-11/4

     
解 4
x = sqrt((-225/(2*sqrt((36*((4*sqrt(14969)*%i)/sqrt(3)+460/27)^(2/3)-15*((4*sqrt(14969)*%i)/sqrt(3)+460/27)^(1/3)+1552)/((4*sqrt(14969)*%i)/sqrt(3)+460/27)^(1/3))))-((4*sqrt(14969)*%i)/sqrt(3)+460/27)^(1/3)-388/(9*((4*sqrt(14969)*%i)/sqrt(3)+460/27)^(1/3))-5/6)/2+sqrt((36*((4*sqrt(14969)*%i)/sqrt(3)+460/27)^(2/3)-15*((4*sqrt(14969)*%i)/sqrt(3)+460/27)^(1/3)+1552)/(…………
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|数学中国 ( 京ICP备05040119号 )

GMT+8, 2024-4-29 19:15 , Processed in 0.082031 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表