python实验13_科学计算

本文介绍了实验13中如何使用numpy库进行多项式处理,计算函数的导数,并利用matplotlib库绘制函数、导数图形。实验强调了numpy和matplotlib在数据处理中的重要性,以及它们在实际应用中的便利性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实验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))

输出:

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

② 利用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()

3. 心得体会

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

### Python 科学计算实验 #### 使用 NumPy 进行基础矩阵运算 NumPy 提供了高效的多维数组对象以及用于处理这些数组的工具。对于科学计算而言,这构成了核心组件之一。 ```python import numpy as np # 创建两个维数组 a = np.array([[1, 2], [3, 4]]) b = np.array([[5, 6], [7, 8]]) # 执行矩阵乘法 result = np.dot(a, b) print(result) ``` 此代码展示了如何创建并操作矩阵[^3]。 #### 利用 SciPy 解决线性方程组 SciPy 构建于 NumPy 基础之上,提供了更多高级的功能模块,比如求解微分方程、优化算法等,在这里展示了一个简单的例子——解决线性代数问题中的线性方程组。 ```python from scipy import linalg A = [[3, 2, -1], [2, -2, 4], [-1, 0.5, -1]] B = [1, -2, 0] solution = linalg.solve(A, B) print(solution) ``` 这段脚本说明了怎样利用 `linalg` 子包内的函数来找到给定系数矩阵 A 右侧向量 B 下未知变量 x 的值[^1]。 #### 数据整理与分析:Pandas 应用实例 Pandas 是一个灵活而强大的数据分析,特别适合处理表格型数据集;下面的例子读取 CSV 文件并对其中的数据进行了基本探索: ```python import pandas as pd dataframe = pd.read_csv('example.csv') summary_statistics = dataframe.describe() missing_values = dataframe.isnull().sum() print(summary_statistics) print(missing_values) ``` 上述片段体现了 Pandas 在加载外部数据源之后可以轻松完成描述统计缺失值检测的任务[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值