2013-04-22 127 views
14

我剛剛開始使用IPython Notebook,並對其功能着迷。我一直在使用網上提供的幾個例子開始使用。我在學習本教程:http://nbviewer.ipython.org/url/finiterank.com/cuadernos/suavesylocas.ipynb,但數學輸出未按預期呈現。下面是我的代碼和輸出:IPython筆記本Sympy數學渲染

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 

我已經嘗試過其他的例子還有,他們也沒有得到正確地呈現。我哪裏錯了?

+0

那裏似乎與版本*用戶一樣多。還有我也想知道的A Correct Way(TM)。 – Krastanov 2013-04-22 21:02:59

+0

如果刪除'init_printing'和/或'pylab'這兩行,會發生什麼? – asmeurer 2013-04-23 14:34:07

+0

@asmeurer:沒有變化。仍然是相同的輸出 – DotPi 2013-04-23 15:17:57

回答

17

我有同樣的問題。嘗試

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

,而不是

%load_ext sympyprinting 

我使用sympy 0.7.2

+0

也適用於w/ipython 2.3和sympy 0.7.6 – 2015-02-11 14:30:53

+0

像sympy 1.0和IPython 5.4.1一樣具有魅力。謝謝! – scrutari 2017-07-20 09:58:01

2

最近我有同樣的問題,而且我使用Linux Crunchbang,這是紅帽我的衍生物認爲。本來我安裝sympy使用

pip install sympy 

但是,這導致了上述問題,然後我去了sympy網頁,並將git存儲庫克隆到一個文件夾中。然後,它可以通過使用

python setup.py install 

之後一切正常安裝(本地文件夾一次),所以我認爲它有一些東西需要與所使用的版本。對於記錄,命令我用於初始化在python印刷是

import sympy 
sympy.init_printing() 
2

導入:

from sympy import * 
init_printing() 

實施例:

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

輸出:

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