使用python进行多项式加法

Si_CPyR

假设一个多项式,P_A(x, 5) = x^5 + 2x^4 + 8x^2 + 9x^1 + 3,可以分解成两个列表,exp = [5,4,2,1,0] 和系数 = [1,2,8,9,0]。

我想编写一个可以将四个列表作为输入的函数,例如: add_coefficient(exp1, coeff1, exp2, coeff2) 并按照相对于相应指数的顺序返回系数列表,这只是一个排序集exp1 和 exp2。我该如何实施?我正在考虑 collections.counter() 或 while 循环,但无法开始。

安德鲁·麦克道威尔

可能有更高效的计算方法,但我会遍历每个列表,将结果存储在字典中,这在我看来是在 Python 中处理这种关系的自然方式。

exp_1 = [5,3,2,4] 
coeff_1 = [1,1,1,1]
exp_2 = [5,3,2,1] 
coeff_2 = [1,1,1,1]

def add_coefficient(exp1, coeff1, exp2, coeff2):
    exponent_coefficient_dict = dict()
    # Iterate through first pair of lists, storing as exp:coeff pairs.
    for index, exponent in enumerate(exp1):
        exponent_coefficient_dict[exponent] = coeff1[index]
    # Iterate through second pair of lists, storing or updating pairs.
    for index, exponent in enumerate(exp2):
        exponent_coefficient_dict[exponent] = exponent_coefficient_dict.get(exponent, 0) + coeff2[index]

    # Get a sorted list of the keys from the dictionary.
    combined_exp_list = sorted(exponent_coefficient_dict, reverse=True)
    combined_coeff_list = []

    # Populate a list for the coefficients according to the order 
    # the exponents appear in.
    for exponent in combined_exp_list:
        combined_coeff_list.append(exponent_coefficient_dict.get(exponent, 0))

    return (combined_exp_list, combined_coeff_list)

add_coefficient(exp_1, coeff_1, exp_2, coeff_2)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Java中使用链表进行多项式加法

来自分类Dev

C多项式加法练习

来自分类Dev

从零开始使用numpy / python进行多项式扩展

来自分类Dev

使用Apache Maths(Java)进行多项式回归

来自分类Dev

使用GNU Scientific C进行多项式拟合

来自分类Dev

使用Python求解五阶多项式

来自分类Dev

使用字典将Python中的多项式相乘

来自分类Dev

使用Python通过产品计算多项式

来自分类Dev

python中的漂亮多项式打印

来自分类Dev

Python中的多项式除法

来自分类Dev

漂亮的打印多项式与字典python

来自分类Dev

勒让德多项式Python

来自分类Dev

python多个变量的多项式包

来自分类Dev

Python中的多项式除法

来自分类Dev

漂亮的打印多项式与字典python

来自分类Dev

打印多项式的导数 - python

来自分类Dev

使用wxMaxima分解多项式

来自分类Dev

使用Numpy的多项式系数的误差

来自分类Dev

使用多项式的匿名函数

来自分类Dev

使用Numpy的多项式系数的误差

来自分类Dev

使用MATLAB生成随机多项式

来自分类Dev

使用sklearn进行多项式回归的最简单方法是什么?

来自分类Dev

使用神经网络软件包进行多项式分类

来自分类Dev

使用statsmodels.formula.api进行多项式回归

来自分类Dev

使用sklearn进行多项式回归的最简单方法是?

来自分类Dev

多项式类

来自分类Dev

多项式比近似

来自分类Dev

零零多项式

来自分类Dev

多项式模拟