2013-04-22 3 views
14

Ich habe gerade mit der Verwendung von IPython Notebook begonnen und bin von seiner Kraft fasziniert. Ich habe ein paar Beispiele aus dem Internet benutzt, um damit anzufangen. Ich folgte diesem Tutorial: http://nbviewer.ipython.org/url/finiterank.com/cuadernos/suavesylocas.ipynb aber die Mathematikausgabe wird nicht wie erwartet gerendert. Unten ist der meinen Code und die Ausgabe: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 

ich auch andere Beispiele ausprobiert haben, und sie sind auch nicht richtig wiedergegeben zu werden. Wo gehe ich falsch?

+0

Dort scheinen so viele Möglichkeiten zu haben wie die Benutzer von Version *. Es gibt auch A Correct Way (TM), die ich auch gerne kennen würde. – Krastanov

+0

Was passiert, wenn Sie die Zeilen "init_printing" und/oder "pylab" entfernen? – asmeurer

+0

@asmeurer: Keine Änderung. Immer noch die gleiche Ausgabe – DotPi

Antwort

17

Ich hatte das gleiche Problem. Versuchen

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

statt

%load_ext sympyprinting 

Ich bin mit sympy 0.7.2

+0

Funktioniert auch für mich w/ipython 2.3 und sympy 0.7.6 –

+0

Funktioniert wie ein Charme mit Sympy 1.0 und IPython 5.4.1. Vielen Dank! – scrutari

2

ich vor kurzem hatte das gleiche Problem, und ich bin mit Linux Crunchbang, die ein Derivat von Redhat I denken. Ursprünglich habe ich sympy unter Verwendung

installiert. Dies führte jedoch zu dem oben beschriebenen Problem wie beschrieben. Also ging ich auf die Sympy-Webseite und klonte das Git-Repository in einen Ordner. Dann kann es installiert ist (im lokalen Ordner einmal) werden von

python setup.py install 

mit After, dass alles gut funktioniert, so dass ich denke, dass es etwas mit der Version verwendet zu tun hatte. Für die Aufzeichnung verwendeten Befehle, die ich der Druck in Python

import sympy 
sympy.init_printing() 
2

Import waren zu initialisieren:

from sympy import * 
init_printing() 

Beispiel:

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

Ausgang:

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