Python科学计算(两)-- 时域和频域波形为正弦波形信号生成、计算和显示

# -*- coding: utf-8 -*-

import numpy as np
import matplotlib.pyplot as pl
import matplotlib
import math
import random row = 4
col = 4 N = 500
fs = 5
n = [2*math.pi*fs*t/N for t in range(N)]
axis_x = np.linspace(0,1,num=N)
myfont = matplotlib.font_manager.FontProperties(fname='c:\\windows\\fonts\\fzshjw_0.ttf') #频率为5Hz的正弦信号
x = [math.sin(i) for i in n]
pl.subplot(221)
pl.plot(axis_x,x)
pl.title(u'5Hz的正弦信号', fontproperties=myfont)
pl.axis('tight') #频率为5Hz、幅值为3的正弦+噪声 x1 = [random.gauss(0,0.5) for i in range(N)]
xx = []
#有没有直接两个列表相应项相加的方式??
for i in range(len(x)):
xx.append(x[i]*3 + x1[i]) pl.subplot(222)
pl.plot(axis_x,xx)
pl.title(u'频率为5Hz、幅值为3的正弦+噪声', fontproperties=myfont)
pl.axis('tight') #频谱绘制
xf = np.fft.fft(x)
xf_abs = np.fft.fftshift(abs(xf))
axis_xf = np.linspace(-N/2,N/2-1,num=N)
pl.subplot(223)
pl.title(u'频率为5Hz的正弦频谱图', fontproperties=myfont)
pl.plot(axis_xf,xf_abs)
pl.axis('tight') #频谱绘制
xf = np.fft.fft(xx)
xf_abs = np.fft.fftshift(abs(xf))
pl.subplot(224)
pl.title(u'频率为5Hz的正弦频谱图', fontproperties=myfont)
pl.plot(axis_xf,xf_abs)
pl.axis('tight')

有疑问的留简介讨论

版权声明:本文博客原创文章。博客,未经同意,不得转载。

Python科学计算(两)——时域波形和正弦信号的频谱的更多相关文章

  1. windows下安装python科学计算环境,numpy scipy scikit ,matplotlib等

    安装matplotlib: pip install matplotlib 背景: 目的:要用Python下的DBSCAN聚类算法. scikit-learn 是一个基于SciPy和Numpy的开源机器 ...

  2. Python科学计算之Pandas

    Reference: http://mp.weixin.qq.com/s?src=3&timestamp=1474979163&ver=1&signature=wnZn1UtW ...

  3. Python 科学计算-介绍

    Python 科学计算 作者 J.R. Johansson (robert@riken.jp) http://dml.riken.jp/~rob/ 最新版本的 IPython notebook 课程文 ...

  4. Python科学计算库

    Python科学计算库 一.numpy库和matplotlib库的学习 (1)numpy库介绍:科学计算包,支持N维数组运算.处理大型矩阵.成熟的广播函数库.矢量运算.线性代数.傅里叶变换.随机数生成 ...

  5. Python科学计算基础包-Numpy

    一.Numpy概念 Numpy(Numerical Python的简称)是Python科学计算的基础包.它提供了以下功能: 快速高效的多维数组对象ndarray. 用于对数组执行元素级计算以及直接对数 ...

  6. Python科学计算结果的存储与读取

    Python科学计算结果的存储与读取 总结于2019年3月17日  荆楚理工学院 计算机工程学院 一.前言 显然,作为一名工科僧,执行科学计算,需用Python.PS:快忘记Matlab吧.我用了二十 ...

  7. Python科学计算(二)windows下开发环境搭建(当用pip安装出现Unable to find vcvarsall.bat)

    用于科学计算Python语言真的是amazing! 方法一:直接安装集成好的软件 刚开始使用numpy.scipy这些模块的时候,图个方便直接使用了一个叫做Enthought的软件.Enthought ...

  8. 目前比较流行的Python科学计算发行版

    经常有身边的学友问到用什么Python发行版比较好? 其实目前比较流行的Python科学计算发行版,主要有这么几个: Python(x,y) GUI基于PyQt,曾经是功能最全也是最强大的,而且是Wi ...

  9. Python科学计算PDF

    Python科学计算(高清版)PDF 百度网盘 链接:https://pan.baidu.com/s/1VYs9BamMhCnu4rfN6TG5bg 提取码:2zzk 复制这段内容后打开百度网盘手机A ...

随机推荐

  1. 分层抽样(Stratified sampling)

    1. 基本概念 统计学理论中,分层抽样针对的是对一个总体(population)进行抽样的方法.尤其适用于当总体内部,子总体(subpopulations)间差异较大时.每一个 subpopulati ...

  2. 数据类型总结——String(字符串类型)

    相关文章 简书原文:https://www.jianshu.com/p/546a755c3eb6 数据类型总结——概述:https://www.cnblogs.com/shcrk/p/9266015. ...

  3. tomcat 启动项目时出现 ZipException: error in opening zip file

    错误情况 项目用 maven 打好 war 包后放到 tomcat 下,启动 tomcat,出现以下错误 3-Nov-2017 12:21:44.346 严重 [localhost-startStop ...

  4. 建立空间参考 ISpatialReference

    转自原文建立空间参考 ISpatialReference ISpatialReferenceFactory spatialReferenceFactory = new SpatialReference ...

  5. ios开发之手势处理 之手势识别一

    #import "ViewController.h" @interface ViewController ()<UIGestureRecognizerDelegate> ...

  6. C#编写TensorFlow人工智能应用

    C#编写TensorFlow人工智能应用 TensorFlowSharp入门使用C#编写TensorFlow人工智能应用学习. TensorFlow简单介绍 TensorFlow 是谷歌的第二代机器学 ...

  7. 【t011】最小覆盖子串

    Time Limit: 1 second Memory Limit: 32 MB [问题描述] 给定一个含有N个元素的序列A,你的任务就是求出序列A的最小覆盖子串的长度. 本题中的一些定义: 串S,是 ...

  8. scala 通过apply创建类的对象

    package cn.scala_base.oop.scalaobject; class Boy(name: String) { private var age: Int = 0; println(n ...

  9. storm 经常使用类

    弄 <dependency> <groupId>org.apache.storm</groupId> <artifactId>storm-core< ...

  10. 调制:调幅(AM)与调频(FM)

    AM:amplitude modulation,幅度调制: FM:Frequency Modulation,频率调制: 1. 为什么要调制 MW:Medium Wave,中波,SW:Short Wav ...