- 1、本文档共52页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《0.SNMP基础
科学计算包SciPY及应用
第11讲
Scipy简介
解决python科学计算而编写的一组程序包
快速实现相关的数据处理
如以前的课程中的积分
Scipy提供的数据I/O
相比numpy,scipy提供了更傻瓜式的操作方式
二进制存储
from scipy import io as fio
import numpy as np
x=np.ones((3,2))
y=np.ones((5,5))
fio.savemat(rd:\111.mat,{mat1:x,mat2:y})
data=fio.loadmat(rd:\111.mat,struct_as_record=True)
data[mat1]
Scipy的IO
data[mat1]
array([[ 1., 1.],
[ 1., 1.],
[ 1., 1.]])
data[mat2]
array([[ 1., 1., 1., 1., 1.],
[ 1., 1., 1., 1., 1.],
[ 1., 1., 1., 1., 1.],
[ 1., 1., 1., 1., 1.],
[ 1., 1., 1., 1., 1.]])
统计假设与检验 stats包
stats提供了产生连续性分布的函数,
均匀分布(uniform)、
正态分布(norm)、
贝塔分布(beta);
产生离散分布的函数,
伯努利分布(bernoulli)、
几何分布(geom)
泊松分布 poisson
使用时,调用分布的rvs方法即可
统计假设与检验 stats包
import scipy.stats as stats
x=stats.uniform.rvs(size=20)
#产生20个在[0,1]均匀分布的随机数
y=stats.beta.rvs(size=20,a=3,b=4)
产生20个服从参数a=3,b=4的贝塔分布随机数
z=stats.norm.rvs(size=20,loc=0,scale=1)
产生了20个服从[0,1]正态分布的随机数
x=stats.poisson.rvs(0.6,loc=0,size=20)
产生poisson分布
假设检验
假设给定的样本服从某种分布,如何验证?
import numpy as np
import scipy.stats as stats
normDist=stats.norm(loc=2.5,scale=0.5)
z=normDist.rvs(size=400)
mean=np.mean(z)
med=np.median(z)
dev=np.std(z)
print(mean=,mean, med=,med, dev=,dev)
设z是实验获得的数据,如何验证它是否是正态分布的?
假设检验
假设给定的样本服从某种分布,如何验证?
statVal, pVal = stats.kstest(z,norm,(mean,dev))
print(pVal=,pVal)
计算得到:
pVal= 0.667359687999
结论:我们接受假设,既z数据是服从正态分布的
信号特征
低频的原始信号,加高频的噪声
如何去掉噪声?
快速傅里叶变换 FFT
应用范围非常广,在物理学、化学、电子通讯、信号处理、概率论、统计学、密码学、声学、光学、海洋学、结构动力学等
原理是将时域中的测量信号转换到频域,然后再将得到的频域信号合成为时域中的信号
时域信号转换为频域信号时,将信号分解成幅值谱,显示与频率对应的幅值大小
一个信号是由多种频率的信号合成的
将这些信号分离,就能去掉信号中的噪声
快速傅里叶变换 FFT
Scipy类库中提供了快速傅里叶变换包fftpack
FFT应用案例—产生带噪声的信号
import numpy as np
import matplotlib.pyplot as plt
from scipy import fftpack as fft
timeStep = 0.02 # 定义采样点间隔
timeVec = np.arange(0, 20, timeStep) # 生成采样点
# 模拟带高频噪声的信号sig
sig = np.sin( np.pi / 5 * timeVec) + 0.1 * np.random.randn(timeVec.size) # 表达式中后面一项为噪声
plt.plot(timeVec, sig)
plt.show()
信号特征
低频的原始信号,加高频的噪声
如何去掉噪声?
FFT信号变换 sig已知
n=sig.size
sig_fft = fft.fft(si
您可能关注的文档
最近下载
- 常见的平面牵出线调车工作(宽屏).ppt
- 行风建设及医德医风考核领导小组 .pdf VIP
- 2024危险化学品重大生产安全事故隐患判定标准考核试题及答案.docx VIP
- 宁攀高速zcb1-14项目部现浇箱梁统计表.xlsx VIP
- 咸阳市事业单位招聘硕士研究生人员真题.docx VIP
- 物业管理服务节能降耗与环保管理方案.pdf
- 万东医疗DR产品介绍课件.ppt
- 高中政治2025届高考《中国特色社会主义》真题汇总练习(附参考答案).doc
- 联通新融合发展技能竞赛(业务管理及稽核赛道)试题及答案.doc VIP
- 山东省临沂市罗庄区2023-2024学年七年级上学期期中考试语文试题(含答案).doc VIP
文档评论(0)