zoukankan      html  css  js  c++  java
  • python多项式求解

    1. 例如:p(x) = x3 - 3x+5
      1. 可以使用向量P=[1,0,-3,5]表示,向量长度减一表示多项式最高项次数。
      2. 从右到左分别是变量x的0次幂、1次幂、2次幂……n次幂。
      3. 这里可以使用numpy的方法ployval进行计算。
        1. 1 import numpy as np
          2 p = np.array([1,0,-3,5])
          3 x=5
          4 print(np.polyval(p,x))
          5 
          6 x = [1,2,3,4,5]
          7 print(np.polyval(p,x))

    2. 上图所示求出X为不同值时多项式的值,同样np内也有方法可以求出多项式的根。
      1. import numpy as np
        
        p = np.array([1,0,-3,5])
        b = np.roots(p)                                     #求根
        
        print(b)
        
        r = np.real(b)                                              #取实数
        
        print(r)

    3. 多项式乘法
      1.   在泛函分析中,卷积(convolution)是通过两个函数 f g 生成第三个函数的一种数学算子,表示函数 f 经过翻转与平移与 g 的重叠部分的累积。
        1.    
          import numpy as np
          
          a = np.array([1,2,3,4])
          
          b = np.array([1,4,9,16])
          
          print(np.convolve(a,b))

          即(x3+2x2+3x+4 )X (x3+4x2+9x+16)  =  [1,2,20,50,75,84,64]

    未完待续…… 

  • 相关阅读:
    hdu 4508
    hdu 4506
    hdu 4505
    hdu 1525
    hdu 2212
    (贪心)删数问题
    (最短路 Dijkstra) hdu 1544
    (次小生成树) poj 1679
    (prim)hdu 1102
    (kruskal)hdu 1863
  • 原文地址:https://www.cnblogs.com/ambdyx/p/11650904.html
Copyright © 2011-2022 走看看