• python实验13_科学计算


    实验13:科学计算

    1.实验目标及要求

    (1)掌握numpy库的常用方法。
    (2)掌握使用matplotlib库的常用方法。

    2. 实验主要内容

    ① 利用numpy库中的多项式处理函数,计算函数f(x)=x5+2x3+1 当x=2和x=5时的值,并输出f(x)的一阶导数和二阶导数。
    代码部分:

    import numpy as np
    # import matplotlib.pyplot as plt
    
    x=np.arange(-10,10)
    f=np.poly1d(np.array([1,0,2,0,0,1]))
    print(f([2,5]))
    print(np.polyder(f,1))
    print(np.polyder(f,2))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    输出:

    [  49 3376]
       4     2
    5 x + 6 x
        3
    20 x + 12 x
    
    • 1
    • 2
    • 3
    • 4
    • 5

    ② 利用matplotlib库中的pyplot模块,绘制x在【-10,10】取值区间上的f(x)函数、一阶导数和二阶导数的图形,要求:
    (A)绘制三个子图,分别放置上述的三个图形。
    (B)第一个子图区域,标题为Polynomial,使用红色实线绘制。
    (C)第二个子图区域,标题为First Derivative,使用蓝色虚线绘制。
    第三个子图区域,标题为Second Derivative,使用绿色实心圆点绘制。
    代码部分:

    import numpy as np
    import matplotlib.pyplot as plt
    
    x=np.arange(-10,11)
    f1=np.poly1d(np.array([1,0,2,0,0,1]))
    y1=f1(x)
    f2=np.polyder(f1,1)
    y2=f2(x)   # 一阶导数 y的值
    f3=np.polyder(f1,2)
    y3=f3(x)  # 二阶导数 y的值
    
    plt.subplot(2,2,1)
    plt.plot(x,y1,label='y=x^5+2*x^3+1',color='r')
    plt.title('Polynomial')
    plt.legend()
    plt.subplot(2,2,2)
    plt.plot(x,y2,"b--",label='y=5*x^4+6*x^2')
    plt.title('First Derivative')
    plt.legend()
    plt.subplot(2,2,3)
    plt.plot(x,y3,"g.",label='y=20*x^3+12*x')
    plt.title('Second Derivative')
    plt.legend()
    plt.rcParams['font.sans-serif'] =['SimHei']
    plt.rcParams['axes.unicode_minus']=False
    plt.show()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

    3. 心得体会

    numpy和matplotlib都是非常不错的数据处理的模块,加上pandas合称为数据处理三板斧,可见作为数据处理的模块,在数据处理方面上地位也是非常高的,是被大众肯定的。Numpy模块主要用于对数据的处理和生成作用,可以对数据进行所需要的处理。matplotlib是对数据处理的结果或者数据进行统计绘图的模块,可以将数据和结果通过图像的形式显而易见的呈现出来,包括折线图,直方图,柱状图,饼状图,散点图,3D图等等形式,可以满足大部分的数据的处理。本次实验也是对这两个模块进行了初步的认识,因为之前有学习过这方面的知识,所以实验起来也是比较轻松的,也算是对之前学习的一次巩固吧。

  • 相关阅读:
    【JavaEE】计算机是如何工作的
    JVM 堆外内存查看方法
    java中的try-with-resource语法
    查找算法——二分查找
    c++_learning-模板元编程
    【单片机】16-LCD1602和12864和LCD9648显示器
    两个必须更新浏览器的理由,危险就在你身边
    Hexagon_V65_Programmers_Reference_Manual(34)
    DHorse v1.3.0 发布,基于k8s的发布平台
    Mock.js使用
  • 原文地址:https://blog.csdn.net/m0_66225311/article/details/134032183