2020
09-23
09-23
python生成任意频率正弦波方式
如下所示:defsignal_xHz(A,fi,time_s,sample):returnA*np.sin(np.linspace(0,fi*time_s*2*np.pi,sample*time_s))A:为信号幅值fi:为信号频率time_s:为时间长度(s)sample:为信号采样频率补充拓展:PythonFFT合成波形实例使用Pythonnumpy模块带的FFT函数合成矩形波和方波,增加对离散傅里叶变换的理解。导入模块importnumpyasnpimportmatplotlib.pyplotasplt分别是产生一个周期的方波和三角波程序#产生s...
继续阅读 >
linspace可以用来实现相同间隔的采样;numpy.linspace(start,stop,num=50,endpoint=True,retstep=False,dtype=None)返回num均匀分布的样本,在[start,stop]。Parameters(参数):start:scalar(标量)Thestartingvalueofthesequence(序列的起始点).stop:scalar序列的结束点,除非endpoint被设置为False,在这种情况下,thesequenceconsistsofallbutthelastofnum+1evenlyspacedsamples(该序列包括所有除了...
本篇,我们学习PyQt5界面中拖放(Drag和Drop)控件。拖放动作在GUI中,拖放指的是点击一个对象,并将其拖动到另一个对象上的动作。比如百度云PC客户端支持的拖放文件以快速移动文件:拖放动作能够很直观很方便的在GUI程序中完成一些很复杂或繁琐的操作。在PyQt中实现拖放在PyQt5中,我们也可以很轻松地使用拖放功能。使用Qt设计师或者使用API都可以实现。我们先使用Qt设计师将GUI的图形设计出来,在之前的GUI的基础上,我们新建一...
在默认情况下,我们使用PyQt5创建出来的窗口和部件都是默认的样式,虽然谈不上很丑,但是也毫无美感可言。其实,在PyQt5中,我们可以有较高的自由度来自定义窗口和各种小部件的样式,通过自定义这些样式,以达到美化图形界面的目的。本篇文章中,我们就通过一个实际的例子,使用QSS和PyQt5的配置属性,实现图形用户界面的美化工作。首先上效果图:一、对界面进行布局和组件的布置在图像界面编程中,一个好的布局有助于全局把控界面...
2018年,Python仍然是数据科学领域解决重大任务和挑战的佼佼者。去年,我们发了一篇博文,列举了一些被证明是最有用的Python库。今年,我们扩充了原来的清单,并重新审视之前讨论过的库,重点关注在过去一年内出现的更新。我们对它们进行了分组,排序不分先后,因为真的说不清它们哪个更好。核心库与统计1.NumPy(提交:17911,贡献者:641)一般我们会将科学领域的库作为清单打头,NumPy是该领域的主要软件库之一...
本教程将向具有任何编程技能水平的Python开发人员介绍区块链。通过从零开始实现一个公有区块链并构建一个简单应用程序来利用它,您将了解区块链到底是什么。您将能够使用Flask微框架为区块链的不同功能创建端点,比如添加事务,然后在多个机器上运行脚本来创建一个去中心化网络。您还将了解如何构建一个简单的用户界面,以便与区块链进行交互,并存储任何用例的信息,比如对等支付、聊天或电子商务。Python是一...
你的下一个Python项目需要一个模板引擎来自动生成HTML吗?这有几种选择。在我的日常工作中,我花费大量的时间将各种来源的数据转化为可读的信息。虽然很多时候这只是电子表格或某种类型的图表或其他数据可视化的形式,但也有其他时候,将数据以书面形式呈现是有意义的。但我的头疼地方就是复制和粘贴。如果你要将数据从源头移动到标准化模板,则不应该复制和粘贴。这很容易出错,说实话,这会浪费你的时间。...
面向对象的编程在实现想法乃至系统的过程中都非常重要,我们不论是使用TensorFlow还是PyTorch来构建模型都或多或少需要使用类和方法。而采用类的方法来构建模型会令代码非常具有可读性和条理性,本文介绍了算法实现中使用类和方法来构建模型所需要注意的设计原则,它们可以让我们的机器学习代码更加美丽迷人。大多数现代编程语言都支持并且鼓励面向对象编程(OOP)。即使我们最近似乎看到了一些偏离,因为人们开始使用...
优化算法时间复杂度算法的时间复杂度对程序的执行效率影响最大,在Python中可以通过选择合适的数据结构来优化时间复杂度,如list和set查找某一个元素的时间复杂度分别是O(n)和O(1)。不同的场景有不同的优化方式,总得来说,一般有分治,分支界限,贪心,动态规划等思想。减少冗余数据如用上三角或下三角的方式去保存一个大的对称矩阵。在0元素占大多数的矩阵里使用稀疏矩阵表示。合理使用copy与de...
人生苦短,我用Python,Python是非常棒的快速构建应用程序的编程语言。在这篇文章中我们将学习如何使用Python去构建一个RSS提示系统,目标是使用Fedora快乐地学习Python。如果你正在寻找一个完整的RSS提示应用程序,在Fedora中已经准备好了几个包。Fedora和Python——入门知识Python3.6在Fedora中是默认安装的,它包含了Python的很多标准库。标准库提供了一些可以让我们的任务更加简单完成...
只用了不到4小时。AlphaZero在去年底通过自我对弈,就完爆上一代围棋冠军程序AlphaGo,且没有采用任何的人类经验作训练数据(至少DeepMind坚持这么认为,嗯)。昨天,GitHub有位大神@Zeta36用Keras造出来了国际象棋版本的AlphaZero,具体操作指南如下。项目介绍该项目用到的资源主要有:去年10月19号DeepMind发表的论文《不靠人类经验知识,也能学会围棋游戏》基于DeepMind的想法,GitHub用户@mokemokechi...
编者按:WEB开发是一个非常热门的职业。该工作的技术性很强,它需要你必须不停地提高、不断地加强,才不会被别人比下去,才能保住饭碗。看了以下文章,希望对你提高技能能有一些帮助。本文编译自BrandonMorelli在Medium上发表的文章The2018WebDeveloperRoadmap。想学习代码?没有比现在更好的时候了。下面是一个关于在2018年如何成为一名网络(Web)开发人员的路线图。不要让这些图片吓倒你。要想成为一位优秀的开发...
尽管一些人认为区块链是一个等待问题的解决方案,但毫无疑问,这种新技术是计算机的奇迹。但是,区块链到底是什么呢?区块链它是比特币或其他加密货币进行交易的数字账本,账本按时间顺序记录并对外公开。在更一般的术语中,它是一个公共数据库,新数据存储在一个名为块的容器中,并被添加到一个不可变链(后来的区块链)中添加了过去的数据。在比特币和其他加密货币的情况下,这些数据是一组交易记录。当然,数据可...