1

フロイデンシュタイン方程式 (psi) の角度の 1 つを取得しようとしています。

k1 * cos(psi) - k2 * cos(fi) + k3 - cos(psi - fi) = 0

k1、k2、k3、および fi の値があります。私は次のことを試しました:

from sympy import Symbol, solve, cos

x = Symbol('x')
realPsi = solve(k1 * cos(x) - k2 * cos(fi) + k3 - cos(x - fi), x)

次のエラーが表示されます。

File "/usr/lib/python2.7/dist-packages/sympy/solvers/solvers.py", line 484, in solve solution = _solve(f, *symbols, **flags)  
File "/usr/lib/python2.7/dist-packages/sympy/solvers/solvers.py", line 700, in _solve soln = tsolve(f_num, symbol)
File "/usr/lib/python2.7/dist-packages/sympy/solvers/solvers.py", line 1143, in tsolve "(tsolve: at least one Function expected at this point")
NotImplementedError: Unable to solve the equation(tsolve: at least one Function expected at this point

私は以前にこの種のツールを使用したことがありません。おそらく、何か本当に間違ったことをしているのでしょう...何か
考えはありますか?

ありがとう、

ヘクター。

編集:
迅速な対応をありがとう。

私は次のことを試しました(cosを使った単純な方程式):

eq = 3.2 * cos(x + 0.2).rewrite(exp) + 1.7   

eq   

Out[1]: 1.6*exp(I*(-x - 0.2)) + 1.6*exp(I*(x + 0.2)) + 1.7   

solve(1.6*exp(I*(-x - 0.2)) + 1.6*exp(I*(x + 0.2)) + 1.7, x)

NotImplementedError: Unable to solve the equation(tsolve: at least one Function expected at this point  

私は正しく.rewriteを使用していますか??

4

2 に答える 2

2

もちろん、それは「うまくいく」はずですが、上記の「cosを使用したより単純な方程式」を少し助けて、答えを得ることができる場合があります。

>>> eq=3.2*cos(x+.2)+1.7
>>> [w.n(3,chop=True) for w in solve(expand(eq.rewrite(exp)))]
[-2.33, 1.93]
于 2013-05-30T08:12:10.043 に答える