[英]Locust seeming to fire request_success event hook 60x than my actual requests
[英]How to extract coefficients from my equation of: x^3 - 60x^2 + 1100x - 6000 / -6000?
給定一個整數數組,我試圖提取每個"x^i"
、 ....、 "x^3"
、 "x^2"
、 "x"
前面的系數。
給定方程v(x) = (x-x0)(x-x1)...(xx(i-1)) / (xi-x0)(xi-x1)...(xi-x(i-1))
例如,如果給定數組是 [30, 20, 10, 0],那么預期結果將是:
x^3 - 60x^2 + 1100x - 6000 / -6000
我快到了,我只需要找到一種方法從分子中獲得1, -60, 1100, -6000
。
我一直在嘗試各種拆分方法,但似乎沒有奏效。
我當前的代碼:
from sympy import *
def extract_coeff(array):
coeff = []
x=Symbol('x')
count = 0
for item in array:
if item != 0:
count = count + 1
total = len(array)
list = []
numerator_list = []
numerator = 1
denom_list = []
denom = 1
for i in range(total):
list.append(array[i])
for item in list:
denom_list.append((list[-1] - item))
denom_list.pop()
for item in denom_list:
denom = denom * item
# numerator
for item in array:
if item != 0:
numerator = numerator * (x-item)
numerator = expand(numerator)
print(numerator)
numerator = str(numerator)
# store coefficient
if numerator[0] == 'x':
coeff.append(1)
# trying to split (PLEASE HELP)
numerator = numerator.replace('+ ', ', ')
print(numerator.split(', '))
extract_coeff([30,20,10,0])
假設你有一個方程
>>> from sympy.abc import x
>>> eq = (x**3 - 60*x**2 + 1100*x - 6000) / -6000
你想看看分子。 如果您確定沒有復合分數,那么numer(eq)
將起作用。 如果x/3 + x
中可能有多個術語,則使用as_numer_denom()
>>> n, d = eq.as_numer_denom()
現在將分子n
轉換為 Poly 並詢問所有系數:
>>> Poly(n).all_coeffs()
[-1, 60, -1100, 6000]
由於分母為負數,因此該負號現在位於分子中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.