2013-04-22 27 views
14

Tôi vừa mới bắt đầu sử dụng Máy tính xách tay IPython và đã bị cuốn hút bởi sức mạnh của nó. Tôi đã sử dụng một vài ví dụ có sẵn trên mạng để bắt đầu. Tôi đã làm theo hướng dẫn này: http://nbviewer.ipython.org/url/finiterank.com/cuadernos/suavesylocas.ipynb nhưng đầu ra toán không được hiển thị như mong đợi. Dưới đây là mã của tôi và đầu ra:Máy tính xách tay 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 

Tôi cũng đã thử các ví dụ khác và chúng cũng không được hiển thị đúng cách. Tôi làm sai ở đâu?

+0

Ở đó dường như có nhiều cách như phiên bản * người dùng. Ngoài ra còn có một cách chính xác (TM) mà tôi cũng muốn biết. – Krastanov

+0

Điều gì sẽ xảy ra nếu bạn xóa các dòng 'init_printing' và/hoặc' pylab'? – asmeurer

+0

@asmeurer: Không thay đổi. Vẫn có cùng một đầu ra – DotPi

Trả lời

17

Tôi đã gặp vấn đề tương tự. Hãy thử

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

thay vì

%load_ext sympyprinting 

Tôi đang sử dụng sympy 0.7.2

+0

Cũng hoạt động với tôi w/ipython 2.3 và sympy 0.7.6 –

+0

Hoạt động như một nét duyên dáng với sympy 1.0 và IPython 5.4.1. Cảm ơn bạn! – scrutari

2

Gần đây tôi có cùng một vấn đề, và tôi đang sử dụng Linux Crunchbang, đó là một dẫn xuất của Redhat tôi suy nghĩ. Ban đầu tôi đã cài đặt sympy bằng cách sử dụng

pip install sympy 

Tuy nhiên, điều này dẫn đến vấn đề ở trên như được mô tả. Vì vậy, sau đó tôi đã đi đến trang web sympy và nhân bản kho git vào một thư mục. Sau đó, nó có thể được cài đặt (một lần trong thư mục địa phương) bằng cách sử dụng

python setup.py install 

Sau đó mọi thứ hoạt động tốt, vì vậy tôi nghĩ rằng nó có liên quan đến phiên bản được sử dụng. Đối với hồ sơ, các lệnh tôi đã sử dụng để khởi tạo việc in ấn trong python là

import sympy 
sympy.init_printing() 
2

nhập:

from sympy import * 
init_printing() 

Ví dụ:

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

Output:

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

Các vấn đề liên quan