2013-04-22 14 views
14

Właśnie zacząłem używać IPython Notebook i byłem zafascynowany jego mocą. Użyłem kilku przykładów dostępnych w Internecie, aby zacząć. Śledziłem ten samouczek: http://nbviewer.ipython.org/url/finiterank.com/cuadernos/suavesylocas.ipynb, ale wyniki matematyczne nie są renderowane zgodnie z oczekiwaniami. Poniżej znajduje się mój kod i dane wyjściowe:IPython Notebook 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 

Próbowałem również inne przykłady, a są one również nie uzyskiwanie renderowane prawidłowo. Gdzie się mylę?

+0

Tam wydaje się być tak wiele sposobów, jak wersje * użytkownicy. Istnieje również A Correct Way (TM), którą również chciałbym poznać. – Krastanov

+0

Co się stanie, jeśli usuniesz linie 'init_printing' i/lub' pylab'? – asmeurer

+0

@asmeurer: Bez zmian. Wciąż to samo wyjście – DotPi

Odpowiedz

17

Miałem ten sam problem. Spróbuj

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

zamiast

%load_ext sympyprinting 

Używam sympy 0.7.2

+0

działa również dla mnie w/ipython 2,3 i sympy 0.7.6 –

+0

działa jak czar z sympy 1,0 ipython 5.4.1. Dziękuję Ci! – scrutari

2

Niedawno miałem ten sam problem, i używam Linux CrunchBang, która jest pochodną RedHat I myśleć. Pierwotnie zainstalowałem sympy przy użyciu

pip install sympy 

Jednak doprowadziło to do powyższego problemu zgodnie z opisem. Więc poszedłem na stronę sympy i sklonowałem repozytorium git do folderu. Następnie można go zainstalować (raz w lokalnym folderze) za pomocą

python setup.py install 

Po tym wszystko działało dobrze, więc myślę, że to ma coś wspólnego z wersją używanego. Dla przypomnienia, polecenia I wykorzystywane do inicjowania Druk pytona były

import sympy 
sympy.init_printing() 
2

importu:

from sympy import * 
init_printing() 

przykład:

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

wyjściowa:

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

Powiązane problemy