2013-04-22 1 views
14

Ho appena iniziato a utilizzare IPython Notebook e sono rimasto affascinato dal suo potere. Ho utilizzato alcuni esempi disponibili in rete per iniziare. Stavo seguendo questo tutorial: http://nbviewer.ipython.org/url/finiterank.com/cuadernos/suavesylocas.ipynb ma l'output matematico non viene visualizzato come previsto. Di seguito è riportato il mio codice e l'output:Notebook IPython Sympy Math Rendering

In [30]: 

%load_ext sympyprinting 
%pylab inline 

from __future__ import division 
import sympy as sym 
from sympy import * 

init_printing() 

x,y,z=symbols("x y z") 
k,m,n=symbols("k m n", integer=True) 

The sympyprinting extension is already loaded. To reload it, use: 
    %reload_ext sympyprinting 

Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.kernel.zmq.pylab.backend_inline]. 
For more information, type 'help(pylab)'. 

In [31]: 

t = sin(2*pi*x*(k**2))/ (4*(pi**2)*(k**5)) + (x**2)/(2*k) 
t 
Out[31]: 
    2  ⎛  2 ⎞ 
x sin⎝2⋅π⋅k ⋅x⎠ 
─── + ───────────── 
2⋅k   2 5 
     4⋅π ⋅k 

Ho provato altri esempi anche, e sono, inoltre, non sempre resi correttamente. Dove sto andando male?

+0

Là sembrano essere tanti modi quanti gli utenti di versioni *. C'è anche A Correct Way (TM) che vorrei anche sapere. – Krastanov

+0

Cosa succede se rimuovete le righe 'init_printing' e/o' pylab'? – asmeurer

+0

@asmeurer: nessuna modifica. Ancora la stessa uscita – DotPi

risposta

17

Ho avuto lo stesso problema. Prova

from sympy.interactive import printing 
printing.init_printing(use_latex=True) 

invece di

%load_ext sympyprinting 

Sto usando sympy 0.7.2

+0

Funziona anche con me w/ipython 2.3 e sympy 0.7.6 –

+0

Funziona come un fascino con sympy 1.0 e IPython 5.4.1. Grazie! – scrutari

2

Recentemente ho avuto lo stesso problema, e sto usando Linux CrunchBang, che è un derivato di Redhat I pensare. Originariamente ho installato sympy usando

pip install sympy 

Tuttavia, questo ha portato al problema precedente come descritto. Così sono andato alla pagina web di sympy e clonato il repository git in una cartella. Poi si può essere installato (una volta nella cartella locale) utilizzando

python setup.py install 

Dopo di che tutto ha funzionato bene, quindi penso che avesse qualcosa a che fare con la versione utilizzata. Per la cronaca, i comandi che ho usato per inizializzare la stampa in pitone erano

import sympy 
sympy.init_printing() 
2

Import:

from sympy import * 
init_printing() 

Esempio:

x = symbols('x') 
a = Integral(cos(x)*exp(x), x) 
Eq(a, a.doit()) 

uscita:

Eq(Integral(exp(x)*cos(x), x), exp(x)*sin(x)/2 + exp(x)*cos(x)/2)

Problemi correlati