저는 과학 계산을 파이썬으로 배우고 있습니다. 여기 파이썬 : 내 다항식 계수는 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
,
하지만 가야는 : 나는 f = 10
을 설정하면
10*x**5 - 17.0*x**4 - 505.0*x**3 + 1775.0*x**2 - 248.999999999999*x - 630.0
는 따라서, 모든 그것은 작동하지만 그렇게해야하는 이유를 나는 보지 않는다, (10)의 요인에 의해 꺼져 있습니다. 나는 명백한 실수를하고 있는가? 고맙습니다!
수식이 표시되지 않습니다. 이걸 고칠 수 있을까요? –
symbols()은 무엇을합니까? –
특정 루트를 갖는 다항식을 구성 중입니다. coeff를 곱하면 어떤 수로도 뿌리는 동일하게 유지됩니다. – mingaleg