例如,用Excel解一元四次方程需要用到算術立方根。
Excel裏面沒有自帶求算術立方根的函數,但是可以自己用VB寫出來。
Function IMCBRT(x, Optional w As Integer = 0)
If WorksheetFunction.Imaginary(x) = 0 Then
IMCBRT = WorksheetFunction.Power(x, 1 / 3)
Else
IMCBRT = WorksheetFunction.ImPower(x, 1 / 3)
End If
If w Mod 3 = 1 Then
w1 = WorksheetFunction.Complex(-1 / 2, VBA.Sqr(3) / 2)
IMCBRT = WorksheetFunction.ImProduct(w1, IMCBRT)
ElseIf w Mod 3 = 2 Then
w2 = WorksheetFunction.Complex(-1 / 2, -VBA.Sqr(3) / 2)
IMCBRT = WorksheetFunction.ImProduct(w2, IMCBRT)
End If
End Function
Function IMROUND(x, Optional n As Integer = 0)
real = WorksheetFunction.Round(WorksheetFunction.ImReal(x), n)
imag = WorksheetFunction.Round(WorksheetFunction.Imaginary(x), n)
IMROUND = WorksheetFunction.Complex(real, imag)
End Function
Function IMOPPSITE(x)
If x = 0 Then
IMOPPSITE = 0
Else
real = -WorksheetFunction.ImReal(x)
imag = -WorksheetFunction.Imaginary(x)
IMOPPSITE = WorksheetFunction.Complex(real, imag)
End If
End Function
函數的用法:
IMCBRT(x)求x的算術立方根,IMCBRT(x,1)和IMCBRT(x,2)求x的其他兩個立方根
IMROUND(x,n)讓複數x四捨五入保留n位小數
IMOPPSITE(x)求複數x的相反數-x
一元四次方程分為三類:A類、B類和AB類。
用只含三重根式的一元四次方程求根公式可以算出來8個數值。
A類方程只有前4個根是原方程的解,後4個根是增根,不是原方程的解。
B類方程前4個根是增根,後4個根才是原方程的解。
AB類方程,前後4個根是一模一樣的,都是原方程的解,沒有增根。