[数学][软件] FOUR_TRAN Example 1: Filtering [FOUR_TRAN傅里叶分析工具使用案例1: 滤波]

实干、实践、积累、思考、创新。 滤波,傅里叶分析的一个应用。用前面自己写的 FOUR_TRAN 傅里叶分析工具进行分析。 函数 y1: y1=10*SIN(2*PI()*0.5*x),振幅为10,频率为0.5; 函数2: y2=0.5*SIN(2*PI()*10*x),振幅为0.5,频率为10; 函数yw 为函数y1与函数y2的叠加: y=y1+y2 从图可见,由于y2振幅小,频率大,y1振幅大,频率小。叠加后y整体趋势与y1类似,相当于在y1的基础上加上了一些波动。 我么记下来通过傅里叶变化,想办法把从y中把这些波动的y2过滤掉。 打开FOUR_TRAN,导入离散后的函数y,并进行傅里叶分析。 从上图可见,傅里叶变换,可准确解析出两个主要频率成分,一个是0.5,一个时10,其中频率为0.5的傅里叶振幅谱大,而频率为10的傅里叶振幅谱小,能量成分低。与我们前面的函数一致。 接着我们把频率为0.5附近的成分累加起来(逆变换),如下图红色部分,红色曲线基本就是最初的y1,y2被成功过滤掉了。 如下,红儿曲线即是过滤掉频率10后的曲线,曲线与y1一致。 接着我们把频率为10附近的成分累加起来(逆变换),得到下图的红色部分,此时红色部分基本是函数y2,y1成功过滤掉了。 这就是简单的滤波的例子。 关于软件( About the Program)   [01] [数学][地震动][软件] FOUR_TRAN: Fourier Analysis …

[数学][地震动][软件] FOUR_TRAN: Fourier Analysis Tool [傅里叶分析工具]

实干、实践、积累、思考、创新。 程序图标 ( Program Icon ) 程序介绍 ( Program Introduction) 简单的离散傅里叶变换(DFT,Discrete Fourier Transform)分析工具,导入数据,进行DFT变化,并获得频率Frequency,相位谱Fourier Phase,幅值谱Fourier Amplitude,功率谱 Power Spectrum等结果。并可任意组合选定频率成分,查看组合结果,滤波功能 (filtering)。直观感性地理解傅里叶变换的魅力。当然,这个东西也可以用来分析地震波。(PS。趁着在家自我隔离的时间学习,希望新型冠状病毒肺炎疫情早日被战胜。) 案例 ( Examples ) [01] [数学][软件] FOUR_TRAN Example 1: Filtering [FOUR_TRAN傅里叶分析工具使用案例1: 滤波] [02] [数学][软件] …

[编程][算法][优化] 编程训练:函数的移动渐进线(MMA)近似

            注释 ( Comments )   ( 如果您发现有错误,欢迎批评指正。邮箱:jidong_cui@163.com . 如果您喜欢这篇博文,请在上面给我 点个赞 吧! 🙂   🙂      ( If you found any mistakes in the post, please let me know. Email : jidong_cui@163.com. If you like this posts, …

[编程][软件][Programming] 编程训练:模拟退火算法(Simulated annealing algorithm)

程序图标 ( Program Icon ) 程序介绍 ( Program Introduction) 好吧,研究一下算法。编程训练,过一过后面再具体应用到。 测试算例( Test Examples ) 注释 ( Comments )   ( 如果您发现有错误,欢迎批评指正。邮箱:jidong_cui@163.com . 如果您喜欢这篇博文,请在上面给我 点个赞 吧! 🙂   🙂      ( If you found any mistakes in the post, please let me know. Email …

[工具][编程][软件] Multi-Parameter Plot [多参数绘图分析工具]

程序图标 ( Program Icon ) 程序介绍 ( Program Introduction) 做研究做分析我们经常需要跟各种数据打交道,为了清晰的表达数据之间的关系,我们往往需要用到各种图,如散点图,折线图等等。首先,图是表达各种变量之间关系的最直接的方法,一个好的图往往使人理解问题事半功倍。因此,我经常觉得,一篇好的文章,如果有图,那么它的图肯定是很清晰的。因此,你不妨可以通过文章中的图的质量来判断文章的质量,如果一篇文章的图做得很丑,表达又不清晰,通常这不是一篇好文章 🙂 🙂 ,当然事情也不绝对! 因为图的重要,所以我们尝尝需要各种绘图软件,如Excel,Origin,Sigmaplot,Matlab等。 除此之外,图还有另外一个功能:寻找变量之间的关系。由于图可以表达变量之间的关系,因此,我们常常通过变量之间的图来寻找变量之间的关系,从图中获取变量信息是一个十分重要的学问。对于从图获得信息这个功能,上面的一般软件都可以做,但是往往不方便,尤其是当变量特别多、同时需要不断变换各种坐标轴的变量、需要利用各种信息筛选数据并进行绘图时,上述提到的软件就特别不方便。 由于当时做博士论文时涉及到一些参数分析的东西,为了更好的做科研,就自己做了简单的小软件,并且命名为: Multi-Parameter Plot,软件基本功能是: (1)导入数据,并快速选取坐标轴变量,绘制2D 和 3D 坐标图。 (2)可以根据不同的变量对数据进行分类,并且每一个变量可以设置多个区间,按不同区间交叉绘图。方便我们控制变量绘图,观察数据的规律。 (3)可以设定选定变量的容差,寻找数据中选定变量的容差在限值范围的数据,并通过虚线链接起来。方便我们控制变量绘图,观察数据的规律。 (4)绘制选定变量的累积分布函数(Cumulative Distribution Function)。 (5)图形输出到EXCEL文件。 Multi-parameter Plot 基本满足了我的要求,在做博士论文的时候节省了大量的时间,软件适合去做前期参数分析、观察和找规律,然后可以导出数据,用前面提到的那些软件绘制漂亮的图形。 程序界面( …

[编程][算法][游戏] 编程训练: 3 5 7 游戏开发

程序图标 ( Program Icon )      程序介绍 ( Program Introduction) 3 5 7扑克牌游戏,基本规则是,每次从一行中抽取任意张牌,最后一张牌,谁抽到谁输。 前一排年会上,容总发起了 3 5 7游戏挑战,我连续下了两盘,都输了,所以回去研究了一下,游戏十分有意思,也是很有规律的,并编写了这个小程序。现在看这个游戏,还是很简单的。感兴趣的小伙伴可以试试。 程序界面 ( Program Interface )   下载 ( Download ) GAME 357: Game357_byCJD_20180929.7z 微信公众号 ( Wechat Subscription) 欢迎关注 “结构之旅” 微信公众号

[编程][算法][几何] 编程训练: 离散点的闭合路径 [Closed Path for points]

[编程][算法][几何] 编程训练: 离散点的闭合路径 [Closed Path for points] 注释 ( Comments )   ( 如果您发现有错误,欢迎批评指正。邮箱:jidong_cui@163.com . 如果您喜欢这篇博文,请在上面给我 点个赞 吧! 🙂   🙂      ( If you found any mistakes in the post, please let me know. Email : jidong_cui@163.com. If you like this …

[编程][算法][几何] 编程训练: 凸包问题 [Convex-Hull Problem]

编程训练: 凸包问题。就是寻找散点的凸多边形包围盒。 百度就可以找到算法原理和代码,由于处理数据时候用到,就练练手。 算法真的很有趣。 注释 ( Comments )   ( 如果您发现有错误,欢迎批评指正。邮箱:jidong_cui@163.com . 如果您喜欢这篇博文,请在上面给我 点个赞 吧! 🙂   🙂      ( If you found any mistakes in the post, please let me know. Email : jidong_cui@163.com. If you like this posts, please give …

[数学][概率] Buffon’s Needle problem [蒲丰投针问题]

著名的几何概率问题 —— 蒲丰投针问题(Buffon’s Needle problem ),最初由数学家Georges-Louis Leclerc, Comte de Buffon于18世纪提出。问题可表述为:假定长度为L的的针,随机投到画满间距为T的平行线的纸上,求针和平行线相交的概率。同时有趣的是,该概率值和圆周率(PI)有关系,因此,我们可以利用投针试验来计算圆周率(PI)的值。实际上,这个试验有价值的地方在于:我们可以设计一个试验,它的概率与我们感兴趣的一个变量有关,然后通过大量试验来估算这个量,这其实就是目前使用得十分广泛的蒙塔卡罗法(Monte Carlo method)的主要思想。

[数学][几何][分形] Mandelbrot Set & Julia Set

前两天在网上无意看到了很多关于分形的东西。感觉十分漂亮。分形体现了一种有序和无序的统一。有兴趣的可以上网搜些资料看看,还有很多专门的分形软件、网站、论坛。 最出名的分形我想就是MandelbrotSet和JuliaSet了。因为分形几何学的创始人就是IBM研究室的数学家B.B.Mandelbrot。下面简单介绍一下MandelbrotSet和JuliaSet的算法。其实算法原理还是比较简单。 MandelbrotSet由一个二次迭代方程:zn+1 = zn2 +c,z0=c所得到。也就是对所有的复平面上的点c都进行迭代,不发散的点都属于Mandelbrot集的范围。 JuliaSet由一个二次映射:zn+1 = zn2 +c 产生。c为一定值。也就是选定一个常复数,然后对所有的复平面上的点z进行迭代,不发散的点都属于Julia集的范围。 其中z和c都是复数。迭代的次数越多,图形显示就越精细,可以无限细分,同时分形还有自相似性,就是无限放大一个细小的部分,看起来和原来的部分一样。 由于分形的无限性,对图形的显示和算法都是极大的挑战。一般编程的书都会用这个例子来介绍多核计算、并行计算。哈哈。手痒了,还是编个程序来看一下效果吧。截图如下: 1、先是Mandelbrot Set(迭代次数50): (1)来个黑白调色方案(黑色的就是Mandelbrot集的范围) (2)黑白的调色方案太单调了,来看看彩色的效果如何 2、JuliaSet是什么样的呢,我们接下来看看,这次选择迭代次为500次,从下面的图也可以看到,显示的内容更加细致和漂亮。由于Julia集和选择的复常数C有关,下面选择了几个典型的例子来看看效果。。 (1)c=-0.8+0.17i (2)c=-0.7-0.38i (3)  c=0.3 哈哈,真的很漂亮,配色很重要,配色没配好,在网上随便找了几个配色方案。算法也没有仔细去考虑。很多书有专门的分形算法介绍。 小结:数学真的很美,很好玩。

漂亮的秀曲线图

在网上http://blog.csdn.net/hero82748274/article/details/5304386看到漂亮的秀曲线图。 基本原理很简单,就是沿着某几个方向划分等间距的点,然后将这些方向等间距的点连线。 图形可以有很多种不同的组合情况,比如不同的角度,不同的划分间距。