私は今これを何時間も試してきました。私は基本的な概念を理解していないと思うので、これまでのところこの質問に答えることができませんでした。
私がしようとしているのは、次のような簡単な数学関数を実装することです:
_f(x) = x**2 + 1
_
その後、その関数を導出したいと思います。
私はシンボルと関数を次のように定義しました:
_x = sympy.Symbol('x')
f = sympy.Function('f')(x)
_
今、この関数f(x)
の方程式を定義することに苦労しています。 f.exp("x**2 + 1")
のようなものが機能していません。
また、この関数が最終的に定義された後、この関数のコンソールにどのように印刷できるのか疑問に思います。
_sympy.Function
_は未定義関数用です。 if f = Function('f')
then f(x)
は式で未評価のままです。
実際の関数が必要な場合(f(1)
を行う場合など、_x**2 + 1
_を_x=1
_で評価する場合、Python=
_def f(x):
return x**2 + 1
_
次に、f(Symbol('x'))
はシンボリック__x**2 + 1
_を与え、f(1)
は_2
_を与えます。
または、変数に式を割り当てることができます
_f = x**2 + 1
_
それを使用します。値の代わりにx
を使用する場合は、次のようにsubs
を使用します
_f.subs(x, 1)
_
ソリューションは次のとおりです。
>>> import sympy
>>> x = sympy.symbols('x')
>>> f = x**2 + 1
>>> sympy.diff(f, x)
2*x
別の可能性(isympy
コマンドプロンプト):
>>> type(x)
<class 'sympy.core.symbol.Symbol'>
>>> f = Lambda(x, x**2)
>>> f
2
x ↦ x
>>> f(3)
9
導関数の計算は次のように機能します。
>>> g = Lambda(x, diff(f(x), x))
>>> g
x ↦ 2x
>>> g(3)
6