変数を直接割り当てても、変数を遡及的に使用した式は変更されません。sympyの式で複数のシンボルを置換する方法は?
>>> from sympy import Symbol
>>> x = Symbol('x')
>>> y = Symbol('y')
>>> f = x + y
>>> x = 0
>>> f
x + y
変数を直接割り当てても、変数を遡及的に使用した式は変更されません。sympyの式で複数のシンボルを置換する方法は?
>>> from sympy import Symbol
>>> x = Symbol('x')
>>> y = Symbol('y')
>>> f = x + y
>>> x = 0
>>> f
x + y
置換するいくつかの値:実際にあなたが本当に
は試してみてください(http://docs.sympy.org/latest/tutorial/basic_operations.htmlを参照)subs
でそれらを代用したいまで値を代入しないように設計されてsympy
>>> from sympy import Symbol
>>> x, y = Symbol('x y')
>>> f = x + y
>>> f.subs({x:10, y: 20})
>>> f
30
これまでの回答を探していました。なぜ私のコードがうまくいかなかったのか理解していますが、値をサブクラスするための構文のクイックリファレンスが必要でした。私の最初のグーグルサーチで何かを見つけることができなかったので、いつか次の男をいつか救うために考え出した後、答えを共有すると思った。投稿Q&Aスタイルはstackoverflowの機能です。 http://meta.stackoverflow.com/questions/290038/answer-your-own-question-qa-style – Wesley
fがシンボルの行列の場合はどうなりますか? 'a = symarray( 'a'、3)'のように? –
f.subs({x:0})
f.subs(x, 0) # as alternative
の代わりに
x = 0
fがシンボルの行列の場合はどうなりますか? 'a = symarray( 'a'、3)'のように? –
コマンドx = Symbol('x')
店SympyのSymbol('x')
Pythonの変数x
に。後で作成するsympy式f
には、Symbol('x')
が含まれ、Python変数x
は含まれません。
x = 0
を再割り当てすると、Python変数x
はゼロに設定され、もはやSymbol('x')
には関連付けられません。これはSympy式には影響しません。これにはまだSymbol('x')
が含まれています。
これが最良のSympyドキュメントのこのページで説明されています。他の回答で述べたようあなたが何をしたいのか http://docs.sympy.org/latest/gotchas.html#variables
は、f.subs(x,0)
です。
fがシンボルの行列の場合はどうなりますか? 'a = symarray( 'a'、3)'のように? –
チェックアウト: 'expr.subs(x、val)'についてはhttp://docs.sympy.org/latest/tutorial/basic_operations.html –