Type Complesso
Re As Double
Im As Double
Mo As Double
Ph As Double
End Type
Function ReIm_to_MoPh(a As Complesso) As Complesso
a.Mo = Sqr(a.Re ^ 2 + a.Im ^ 2)
If a.Re >= 0 Then
If a.Re = 0 Then
a.Re = 0.000000000000001
End If
a.Ph = Atn(a.Im / a.Re)
Else
a.Ph = Atn(a.Im / a.Re) + Pi
End If
ReIm_to_MoPh = a
End Function
Function ScriviComplessoReIm(c As Complesso, cella As String) As Complesso
a = c.Re
b = c.Im
If b < 0 Then
segno = "-"
b = -1 * b
Else: segno = "+"
End If
stringa = a & " " & segno & " i" & b
Range(cella).Value = stringa
ScriviComplessoReIm = c
End Function
Function ScriviComplessoMoPh(c As Complesso, cella As String) As Complesso
a = c.Mo
b = c.Ph
stringa = a & " exp( i" & b & " )"
Range(cella).Value = stringa
ScriviComplessoMoPh = c
End Function
|