Além dos tipos númericos int e float também podemos escrever números complexos da seguinte forma:
2+3j
As operações básicas funcionam também para esse tipo.
In [1]:
x = 2+3j
y = 5+2j
print x + y
print x*y
print x.real, x.imag
print x.conjugate()
Para as funções avançadas devemos utilizar a biblioteca cmath.:
In [2]:
import cmath
cmath.sqrt(-2)
Out[2]:
Além das bibliotecas fornecidas pelo Python e Anaconda, também podemos criar bibliotecas próprias.
Para isso, no seu diretório de trabalho crie um arquivo chamado MinhaLib.py, nele copie as funções feitas nas aulas de teoria e laboratório (alternativamente você pode abrir o notebook da aula e clicar em "Download as Python".
Digamos que nesse arquivo você definiu a função entropia(). Para utilizá-la basta fazer:
import MinhaLib as ml
print ml.entropia(0.1)
1) Crie uma função que retorne uma função que dê os valores das funções seno e cosseno dados por:
f(x) = A . sin(2*pi*freq*x + phi)
f(x) = A . cos(2*pi*freq*x + phi)
sendo:
amplitude A, a frequencia freq,e a fase phi definidos pelo usuário, o valor de pi pode ser obtido usando math.pi
In [4]:
import math
def CriaSenosCos(A,freq,phi):
def SenoCos(x):
sen = A*math.sin(2.0*math.pi*x + phi)
cos = A*math.cos(2.0*math.pi*x + phi)
return sen, cos
return SenoCos
SenoCos = CriaSenosCos(10, 3, 0.1)
seno, cos = SenoCos(2.1)
print seno, cos
In [ ]: