Python Scipy Numpy

Iniciado por freumn, 06 de Setembro de 2009, 06:15

tópico anterior - próximo tópico

freumn

Pessoal... algumas bibliotecas numericas do python esta bichadas... eu acho...
Pra ser mais breve e direto... olhem estes dois exemplos e as respectivas respostas de execução:
######################### Programa
import scipy
import scipy.integrate
import scipy.gplt
def Lorentz(w,t,R,S,B):
x,y,z=w
return scipy.array([S*(y-x), x*(R-z)-y, x*y-B*z])
w0=scipy.array([0.,1.,0.])
time=scipy.arange(0., 100., 0.01)
S=10.; R=28.; B=8./3.
trajeto=scipy.integrate.odeint(Lorentz,w0,time,args=(S,R,B))
scipy.gplt.plot3d(trajeto,'.')
#################### Resposta
Traceback (most recent call last):
File "teste2.py", line 3, in <module>
import scipy.gplt
ImportError: No module named gplt

########################## 2 Programa
import numpy
y=2
z=sin(y)
print z

###################### Resposta
Traceback (most recent call last):
File "teste.py", line 2, in <module>
print sin(2)
NameError: name 'sin' is not defined


Eu instalei os pacotes ... python-numpy, python-scipy, matlibplot entre outros... do repositorio do ubuntu(9.04) ... via apt-get install

Sera que estao bichados?

Sera que falta instalar alguma coisa?

Alguem ja teve este mesmo problema?

Alguma dica?

[]s
Aprendendo sempre...

fchevitarese

Pelo erro que você postou está faltando um módulo aí ...

import scipy.gplt
ImportError: No module named gplt

vai no console do python... digita import scipy ...

Depois da um dir(scipy) e vê se tem este módulo gplt...
É isto que está acusando erro ;)
Fred Chevitarese - GNU/Linux
http://chevitarese.wordpress.com

Felix

Não sei se é relacionado exatamente ao seu problema, mas um usuário estava com problemas hoje e vi um bug no launchpad que fazia referencia a isso, veja o tópico:
Re: Configuração: OpenGL + GeForce

Darcamo

Quando você importa um módulo, você chama as funções dele com modulo.função
Por isso que você obteve o erro
CitarNameError: name 'sin' is not defined

Logo, ao invés de
z=sin(y)
tente
z=numpy.sin(y)

Se quiser usar sin diretamente, faça
from numpy import sin
ou
from numpy import *

Nesse último caso você importa tudo e o namespace fica poluido, mas facilita as coisas enquanto está testando.

freumn

Aprendendo sempre...