如下是用鲍丰武的解方程公式做的程序,用于解一元三次方程(得到数值解):
Private Sub Command1_Click()
Dim a, b, c
ja = Val(Text1): jb = Val(Text2): jc = Val(Text3): jd = Val(Text4)
a = Val(jb / ja): b = Val(jc / ja): c = Val(jd / ja)
m = Val(36 * a * b - 8 * a ^ 3 - 108 * c)
If Val(m ^ 2 + (12 * b - 4 * a ^ 2) ^ 3) > 0 Then
n = Val(m ^ 2 + (12 * b - 4 * a ^ 2) ^ 3) ^ 0.5
If m + n < 0 Then
p = Abs(m + n) ^ (1 / 3)
p = Val(-p)
Else
p = Abs(m + n) ^ (1 / 3)
End If
如下也是用鲍丰武的解方程公式做的程序,用于解一元三次方程(得到数值解):
Private Sub Command1_Click()
Dim a, b, c
ja = Val(Text1): jb = Val(Text2): jc = Val(Text3): jd = Val(Text4)
a = Val(jb / ja): b = Val(jc / ja): c = Val(jd / ja)
m = Val(36 * a * b - 8 * a ^ 3 - 108 * c)
If Val(m ^ 2 + (12 * b - 4 * a ^ 2) ^ 3) > 0 Then
n = Val(m ^ 2 + (12 * b - 4 * a ^ 2) ^ 3) ^ 0.5
If m + n < 0 Then
p = Abs(m + n) ^ (1 / 3)
p = Val(-p)
Else
p = Abs(m + n) ^ (1 / 3)
End If