私はPythonで科学計算を学んでいます。ここでPython:私の多項式係数は10の係数でオフになっています
は私の実装です:演習では、私は、この式で、そのルーツを使用して多項式を生成することが出来るのですdef poly(x,roots): #Pass real and/or complex roots
x = symbols(x)
f = 1
for r in roots:
f = f*(x - r)
return expand(f)
私はそれをテスト:
from sympy import expand
poly('x',[(-1/2), 5, (21/5), (-7/2) + (1/2)*sqrt(73), (-7/2) - (1/2)*sqrt(73)])
入手方法:
x**5 - 1.7*x**4 - 50.5*x**3 + 177.5*x**2 - 24.8999999999999*x - 63.0
しかし、私は取得する必要があります。
したがって10*x**5 - 17.0*x**4 - 505.0*x**3 + 1775.0*x**2 - 248.999999999999*x - 630.0
を、私はf = 10
を設定した場合、すべてが、10倍でオフになって、それは動作しますが、私はそれを行う必要があり、なぜ私は表示されません。私は明白な間違いをしていますか?ありがとうございました!
数式が表示されません。あなたはこれを修正できますか? –
symbols()は何をしますか? –
特定の根を持つ多項式を構築しています。 coeffを任意の数に掛ければ、根は同じままになります。 – mingaleg