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

输出:

[  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图等等形式,可以满足大部分的数据的处理。本次实验也是对这两个模块进行了初步的认识,因为之前有学习过这方面的知识,所以实验起来也是比较轻松的,也算是对之前学习的一次巩固吧。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,关于Python科学计算和可视化实验报告,我可以给你一些基本的信息和建议。 Python是一种高级编程语言,具有易读易写、开放源代码、跨平台等特点,非常适合科学计算和数据分析。Python中有很多常用的科学计算和数据处理库,例如NumPy、Pandas、SciPyMatplotlib、Seaborn等,它们可以帮助我们进行数据的处理、可视化和分析。 在实验报告中,你可以先介绍一下你的研究背景和目的,然后说明数据来源和处理方法,再使用Python进行数据可视化和分析,最后总结你的实验结果和结论。 下面是一些可能有用的代码示例: 1. 导入常用库 ```python import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns ``` 2. 读取数据 ```python data = pd.read_csv('data.csv') ``` 3. 数据可视化 ```python # 绘制散点图 plt.scatter(data['x'], data['y']) plt.xlabel('x') plt.ylabel('y') plt.show() # 绘制直方图 plt.hist(data['x'], bins=10) plt.xlabel('x') plt.ylabel('Frequency') plt.show() # 绘制折线图 plt.plot(data['x'], data['y']) plt.xlabel('x') plt.ylabel('y') plt.show() # 绘制热力图 sns.heatmap(data.corr(), annot=True, cmap='coolwarm') plt.show() ``` 4. 数据分析 ```python # 计算统计量 mean = np.mean(data['x']) std = np.std(data['x']) corr = np.corrcoef(data['x'], data['y'])[0, 1] # 执行假设检验 from scipy.stats import ttest_ind t, p = ttest_ind(data[data['group'] == 0]['x'], data[data['group'] == 1]['x']) ``` 以上是一些简单的代码示例,你可以根据实际情况进行修改和扩展。希望对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值