zoukankan      html  css  js  c++  java
  • 切比雪夫多项式拟合

    切比雪夫多项式拟合,个人理解就是用其可以来拟合一个函数,如下面例子中x为1,2,3,4时,对应的y为1,3,5,4,我们用契比雪夫多项式拟合来表示这样的一个函数。

     例子:

    import numpy.polynomial.chebyshev as chebyshev
    import numpy as np
    import numpy.linalg as linalg
    
    
    x = np.array([1, 2, 3, 4])
    y = np.array([1, 3, 5, 4])
    
    
    deg = len(x) - 1
    A = chebyshev.chebvander(x, deg)
    
    
    print(A, "# A")
    c = linalg.solve(A, y)
    print(c,"# c")
    for v in x:
            print( v, np.polynomial.Chebyshev(c)(v),"#p(%d)" % v)

    结果:

     -----------------------------------------------------------------------------------------------------------

    例子2:

    根据输入x,拟合函数 cos(x)

    import numpy.polynomial.chebyshev as chebyshev
    import numpy as np
    import numpy.linalg as linalg
    
    x = np.linspace(0,1,10)
    y = np.cos(x)
    
    
    
    deg = len(x) - 1
    A = chebyshev.chebvander(x, deg)
    
    
    print(A, "# A")
    c = linalg.solve(A, y)
    print(c,"# c")
    print("x值	", "拟合的y值	", "实际的y值	")
    for v in x:
            print( v, np.polynomial.Chebyshev(c)(v), np.cos(v))

    结果:

    =====================================================

    参考:

    http://liao.cpython.org/scipy09/

    本博客是博主个人学习时的一些记录,不保证是为原创,个别文章加入了转载的源地址还有个别文章是汇总网上多份资料所成,在这之中也必有疏漏未加标注者,如有侵权请与博主联系。
  • 相关阅读:
    记录日常Linux常用软件
    CentOS7.2重置root密码的处理方法
    Nginx配置文件详细说明
    ES项目实战
    foreachRDD
    Hive的数据倾斜
    SparkStreaming实战(数据库(NoSQL))
    Spark(4)
    SparkStreming中 `transform()`算子的 的使用
    RDD源码分析
  • 原文地址:https://www.cnblogs.com/devilmaycry812839668/p/14856309.html
Copyright © 2011-2022 走看看