Академический Документы
Профессиональный Документы
Культура Документы
Bruna Santos
June 1, 2010
c0701003@alunos.fc.up.pt
Agradecimento
Gostaria de agradecer Dr. Ana Paula Rocha pelas correces e sugestes efectuadas neste tutorial.
Abstract Este tutorial uma breve introduo extenso do software livre Python, o Python (x,y). Esta extenso pode ser utilizada como uma (mega) calculadora, dispondo de uma enorme variedade de constantes, operaes e funes matemticas predenidas. Apresentar-se- algumas funcionalidades dos mdulos Numpy, Scipy e Matplotlib. Alm disso, ser feita uma introduo ao interface grco Sypder. A arquitectura do interface Spyder est organizado em diversas componentes possibilitando uma maior interatividade com o utilizador.
Contents
1 Introduo 1.1 O que Python (x,y)? 1.2 Conceitos Bsicos . . . 1.2.1 Numpy . . . . 1.2.2 SCIPY . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 5 5 5 5
2 O Ambiente Spyder 2.1 Ambiente Grco: Spyder 2.2 Help . . . . . . . . . . . . 2.3 Consola Interativa . . . . 2.4 Histrico . . . . . . . . . . 2.5 Shell . . . . . . . . . . . . 2.6 Workspace . . . . . . . . .
6 . 6 . 6 . 7 . 8 . 8 . 11
. . . . . .
3 Seco Rpida 3.1 Operaes Bsicas . . . . . . . . . . . 3.2 Constantes Matemtica . . . . . . . . 3.3 Funes matemticas do mdulo math 3.4 Variveis . . . . . . . . . . . . . . . . . 3.5 Polinmios . . . . . . . . . . . . . . . 3.6 Funes . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
12 12 12 13 14 14 15
Introduo
http://www.pythonxy.com/
Possu diversos ambientes integrados, nomeadamente o Spyder. Este ambiente caracteriza-se por ser intuitivo, interactivo e semelhante ao Matlab.
math
e o nmero de euler.
Um pacote designa-se como hierarquias dos mdulos. Por exemplo, o Numpy a base para que o Scipy funcione, ou seja, trata-se de um dependncia computacional.
1.2.1 Numpy
O NumPy um mdulo da linguagem Python que permite trabalhar com vectores e matrizes multidimensionais .Possui diversas ferramentas sosticadas, onde se destacam:
Ferramentas de lgebra linear; Transformadas de Fourier bsicas; Ferramentas para gerao de nmeros aleatrios;.
1.2.2 SCIPY
O Scipy outro mdulo da linguagem Python. Implementa diversas algoritmos de clculo cientco e complementa o suporte de vectores multidimensionais do Numpy. Os sub-mdulos do Scipy podem ser utilizados para diferentes objectivos, nomeadamente, implementao de algoritmos de integrao numrica, processamento de sinal e imagem, optimizao, entre outros. Destacam-se:
OPTIMIZE SIGNAL -
LINSOLVE -
INTERPOLATE: STATS :
1 assim
O Ambiente Spyder
O interface Spyder possui algumas potencialidades na apresentao dos resultados, gesto da variveis, formatao numrica dos resultados, edio da linha de comandos, entre outros. Nesta seco, descrevemos algumas das suas potencialidades.
2.2 Help
Para obtermos informaes sobre qualquer funo disponivel no Python (x,y) recorremos ao comando a funo
sin , basta fazer: 1 Dez distribuies discretas e oitenta e uma distribuies connuas
6
help.
>>>help (sin)
help
Object
do interface do Spyder:
Object
Figure 2.4: Interactive console . Como se pode visualizar os diferentes mdulos podem car automaticamente disponveis. Na opo
Interactive Console
s seguintes opes:
2.4 Histrico
Para acedermos ao histrico podemos clicar na opo History log.
2.5 Shell
Do lado esquerdo temos uma
Shell
Para executarmos uma implementao computacional na Shell, temos duas opes: 1. F9 2. Na opo Source
.py
Dispomos de diversas opes quando surge uma janela que contm o grco semelhante anteriormente apresentada. As opes so:
10
2. Salvamos atravs do icone 3. Incorporamos o grco no interface do Spyder com podemos ver em seguida:
2.6 Workspace
A opo
Workspace
11
3
put).
Seco Rpida
(inO resultado avaliado e devolvido. No Python (x,y) a distino de um input para output faz-se na presena de
>>>, no caso input e na ausncia de >>> no caso output. Por exemplo, podemos avaliar a expresso: >>> 2+5
>>>2*3+4;Ao intoduzirmos ; o resultado da expresso no impresso no ecr. Se pretendemos aceder s ltimas expresses introduzida, avaliadas, carregamos, por exemplo, prosseguidamente na seta do teclado
Operador + * / **
Na diviso de inteiros preciso impregar ( ) no divisor ou numerador para que seja impressa a parte decimal: >>>1/6
>>>1./6
0.16666666666666666
Figure 3.1: Exemplo de diviso de inteiros
pi
e,
12
>>>pi >>>e
3.1415926535897931 2.7182818284590451
Figure 3.2: Nmero de Euler e a constante >>>log(10)
2.3025850929940459
>>>log10(10)
>>>log2(3)
1.5849625007211563
Figure 3.3: Operaes com funes logaritmicas
No Python (x,y) a funo logaritmica est denida para bases com trs valores diferentes: 1. log() - logaritmo nepriano 2. log10() - logaritmo de base 10 3. log2()- logaritmo de base 2 Nas funes trignomtricas o argumento introduzido ter que ser em radianos.
>>>sin(pi/4)
0.70710678118654757
>>>sqrt(2)/2
0.70710678118654757
Figure 3.4: Operaes com funes do mdulo
math
13
Funo sin(argumento) cos(argumento) tan(argumento) sqrt(argumento) exp(argumento) abs(argumentos) conj(argumento) j real(argumento) imag(argumento) maximum(argumentos) minimun(argumentos) reciprocal(x) factorial(x) radians(ngulo) degrees(ngulo)
Descrio seno cosseno tangente raz quadrada exponencial valor absoluto numero complexo conjugado complexo parte real unidade imaginria mximo de um conjunto de valores minimio de um conjunto de valores
1 x x!
converte ngulos em graus para radianos converte ngulos em radianos para graus
3.4 Variveis
A atribuio de valores a variveis feito da seguinte forma:
3.5 Polinmios
Para criar polinmios de grau
Vejamos, atravs
2. Calcular as razes de um polinmio; 3. Avaliar um polinmio num dado valor; 4. Integrar e derivar um polinmio;
14
2 x2 + 3 x 4
>>>zeros=roots(p)
array([-2.35078106, 0.85078106])
>>> p(5) 61 >>> Derivada=p.deriv() >>>print Derivada
4x + 3
>>>Integral=p.integ() >>>print Integral
0.6667x3 + 1.5x2 4x
Figure 3.6: Clculo Diferencial e Integral
3.6 Funes
A construo de uma funo, por exemplo, a funo real h denida por
(x +2)2
def
h(x) =
sis onde se encontra a lista dos parmetros, separados por virgulas. Por exemplo: # Denindo uma funo na def h(x): return (x+1)**2
Shell
Aps, salvarmos a funo com o nome h, por exemplo, pressionamos a tecla F9 para executar o cheiro.
Na consola interativa podemos calcular o valor da funo h em 0 e 3, por exemplo: >>>h(0)
>>>h(3)
16
Numpy
vectores
e
Os recursos matemticos, apresentados na secco anterior, fazem parte da distribuio padro do Python(x,y). operaes em
matrizes
O Numpy um pacote que inclui diversas assim como funes associadas a estes.
15
4.1 Array
Um
array
array([1, 2, 3, 4, 5])
>>>b=np.arange(0.,4.5,.5)
array([ 0. , 0.5, 1. , 1.5, 2. , 2.5, 3. , 3.5, 4. ]) O valor nal no impresso no impresso com o comando arange()
>>># Dados sobre array's >>>Print Formato do array: >>>b.shape
>>> b
(9,)
dtype('oat64')
Figure 4.1: Objecto: array
array
4.2 Matrizes
No
Por exemplo:
>>>Print Criar uma matriz a partir de uma lista: >>>l=[[3,4,5], [6,7,8], [9,0,1]]; >>>x=np.matrix(l); >>> print transpose(M)
[[3 6 9] [4 7 0] [5 8 1]]
>>> print R*M
[[30 26 32]]
>>> np.linalg.solve(M,np.array([0,1,2]))
16
>>> A=array([(9,4,2), (5,3,1), (2,0,7)]); >>> # Decompondo usando QR >>> Q,R = linalg.qr(A) >>>Q >>>
Linalg
nomeadamente o
Numpy serve de base para diversos outros projectos de cdigo aberto Matplotlib e o Scipy.
Matplotlib
Alm de produzir
O Matplotlib biblioteca disponivel com o Python(x,y). potncia, grco de barras, entre outros. Vejamos alguns exemplos:
Algorithm 1 Algoritmo:
# exemplo 1 x=arange(0,20,0.1); y=cos(x)
# Grco da funo cos(x) plot(x,y) #Legenda para o eixo X xlabel('x') #Legenda para o eixo Y ylabel('cos(x)') # Legenda no topo da gura title('f(x)=cos(x)')
17
18
(1.0, 1.4999999999999995e-40)
6
O
Scipy
Scipy um mdulo que expande o Numpy.
Seguem-se alguns exemplos de
utilizao: Vamos testar a correlao linear entre duas variveis: Um dos procedimentos em estatstica para a comparao entre duas amostras o teste T-student.
19
(-3.2391053207156637, 0.0088828669913687541)
ao valor p .
Concluses
Conclui-se que o Python (x,y) uma excelente ferramenta nas cincias exactas revelando-se uma ptima alternativa aos demais softwares comerciais.
20
References
[1] http://docs.python.org/index.html [2] http://python.pt/blog/tag/tutoriais/ [3] http://www.dcc.fc.up.pt/~acm/aulas/IP10/#ee [4] http://www.dcc.fc.up.pt/~acm/aulas/IP10/how.pdf
21