1

Pythonを再インストールした後、次の簡単なコード

import sympy as sm

x = sm.Symbol('x')

f = sm.Function('f')

y = sm.dsolve(sm.diff(f (x),x)-3*f(x)(1-0.5f(x)),f(x))

print(y)

次の出力が得られます。

Eq(x + 0.333333333333333*log(1.0*f(x) - 2.0) - 0.333333333333333*log(1.0*f(x)), C1)

しかし、それが私に正しい答えを与える前に: f(x) == -2.0/(C1*exp(-3.0*x) - 1.0).

誰かがこれを修正するのを手伝ってくれますか?

4

2 に答える 2

0

まず、最初の投稿での構文と編集の間違いについてお詫び申し上げます。実際、現在、私はまったく同じコードを 2 台のコンピューターで実行しています。1 台は Windows 用の Anaconda を使用し、もう 1 台は Ubuntu 用の Spyder を使用しており、どちらも Python 2.7 を使用しており、2 つの異なる答えが得られました。コードは次のとおりです。

import sympy as sm

x = sm.Symbol('x')
f = sm.Function('f')(x)

y=sm.dsolve(sm.diff(f,x)-3*f*(1-0.5*f),f)
print(y)

Ubuntu バージョンでは明示的な解が得 f(x) == -2.0/(C1*exp(-3.0*x) - 1.0) られますが、Windows マシンでは暗黙的な解が得られます Eq(x + 0.3333333333333*log(1.0*f(x) - 2.0) - 0.333333333333*log(1.0*f(x)), C1)

于 2016-10-12T11:46:06.120 に答える