2017-12-21 20 views
1

私はPython 3.6とSymPy 1.1.1をインストールしました。オクターブで私はその後、コマンドオクターブでのSympyエラー:symの「f」がサポートされていない

pkg install -forge symbolic

を実行した私は、パッケージをロードし、それが動作するかどうかを確認するために syms xを試してみました。それはsucessfully実行され、私は

OctSymPy v2.6.0: this is free software without warranty, see source. 
Initializing communication with SymPy using a popen2() pipe. 
Some output from the Python subprocess (pid 10580) might appear next. 
Python 3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:54:40) [MSC v.1900 64 bit (AMD64)] on win32 
Type "help", "copyright", "credits" or "license" for more information. 
OctSymPy: Communication established. SymPy v1.1.1. 
Python 3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:54:40) [MSC v.1900 64 bit (AMD64)] 

を得た。しかし、私はCOMAND x=sym('x','f')を使用するとき、私はエラーを取得する:私は、最新のSymPyを持っているので、どんな意味がありません

error: sym: the assumption "f" is not supported in your Sympy version. 

。誰にも何をすべきか考えていますか?

答えて

0

SymPyバージョンでは、有効な前提は 'f'ではありません。バージョンの言及は注意散漫です。あなたは、前提を混乱させ、ラット・フラッグをしています。サポートされているすべての前提条件を確認するために

x = sym('x', 'positive') 

タイプassumptions('possible'):仮定は次のように動作します。このような

Ratflagsは 'r' と 'F' の仕事:

> x = sym(0.1, 'f') 
x = (sym) 

    3602879701896397 
    ───────────────── 
    36028797018963968 

> x = sym(0.1, 'r') 
x = (sym) 1/10 

彼らは、シンボリック変数に入れることを意図している数字の入力に適用されます。問題は、0.1以上の小数部分は、バイナリシステムで正確に表現されていないことです。 F」これはratflagで発生3602879701896397/36028797018963968.として

  1. は、額面でそれを取る:あなたは0.1を渡すときに、あなたが実際にこの入力を処理するための2つの方法があり3602879701896397/36028797018963968.

    を渡しています'

  2. 複雑な部分が1/10にどれほど近いかという理由で、実際には1/10を意味すると思います。これはラットフラグ 'r'で発生し、デフォルト動作です。

(ちなみに、オクターブ・インタフェースなしSymPyは、ユーザの意図を推測しようとせずに、デフォルトでは第一のアプローチを取ります。)

Reference on sym

関連する問題