例如,用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
