나는 값을 반환하는 기능을 가지고 A A PolyFit에 따라 값 A0, C, C0에 따라 :파이썬은 또 다른 큰 하나에 하나의 다항식을 삽입 sympy 얻을 최종 다항식
import sympy
a = Symbol("a")
a0 = Symbol("a0")
c = Symbol("c")
c0 = Symbol("c0")
t = Symbol("t")
a_func = Poly(0, a0, c, c0)
coeff = np.array([-0.71424954, 1.7335939 , -1.76528173, 1.2361201 , 0.00255529])
num_a_coeff = len(coeff)
for ii in xrange(num_a_coeff):
a_func += coeff[ii] * ((c-c0)/a0)**(num_a_coeff-1-ii)
a_func = a0 + (a_func * c)
아직 잘되지 않습니다 일반적인 다항식과 같은 형식의, num_a_coeff 내가 다른 표현이 a_func을 구현하려는 내 경우 5 인 :
multiFit_coeff = np.array([944210317e-03,-280710762e-03,378400594e-04])
# gives power of 1, a, c, t
multiFit_power = np.array([[5,0,0,0],[4,3,2,0],[,4,1,0]])
main_func = []
num_coeff = len(multiFit_coeff)
for i in xrange(num_coeff):
temp = multiFit_coeff[i] *
(1**multiFit_power_less[i][0] *
a_func**inc.multiFit_power[i][1] *
c**multiFit_power[i][2] *
t**multiFit_power[i][3])
main_func.append(temp)
그래서 A0, C0, C와 t에 의존하는 표현이있다.
a_func**4 * c
I는 (C)의 다항식 싶은 말 이래 (A0 : 마지막 식에 각 변수 (a_func, C 및 t)의 최대 출력은 I과 같은 식을 예 그래서 5 인 , C0, t는 상수), I는 목록으로 잘 형식의 다항식을 저장 루프 마지막에
main_func.append(sympy.polys.poly_from_expr(temp, c))
을 사용했습니다. 그러나 a_func가 3 이상의 값으로 작동하는 경우를 생각해 보면 계산이 끝나지 않습니다 ...이 문제를 해결하는 방법은 무엇입니까? 나는이 계산이 sympy에서 그렇게 힘들지 않을 것이라고 생각했다. 어떤 제안이라도 많은 덕분입니다. 이것은 내 첫 번째 질문입니다.
'multiFit_power'에 지정한 줄에 오타가 있습니다. – asmeurer