自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 Mathematica 数字滤波器设计方法

注释:InverseFourierSequenceTransform表示离散的,InverseFourierTransform表示模拟的,离散的逆傅里叶变换原本也是模拟的采样,因此将模拟信号的变量,改成n,表示离散采样。根据Matlab中的定义,W是离散的,因此显示的空间同样是有限的。先在模拟信号的情况下设计一个理想的滤波器,但是实际上离散信号的情况下,无法达成这个理想滤波器。创建一个长度为55的多带滤波器,在0~\[Pi]区间之内,指定哪些区间为0,哪些区间为1,并给每个区间添加权重,55为阶数。

2024-10-25 10:22:59 354

原创 Mathematica入门23-更多关于Pattern

Blank[h]表示头部为h的任意表达式,Pattern[sym, obj],sym表达式名称,obj模式的对象,Pattern的缩写为":"@后将List作为函数的参数,@@将List的每个参数,作为一个单独的参数,@@@只是对第二层的List作为一组参数。将Condition和Pattern相互配合,仅仅作用域参数大于零的数字。两个Blank代表一个或者更多的参数,三个Blank代表零个或者更多参数。Condition缩写/;如果数字为整数,则倒序排列,并且加一个方框。小于0的数字,替换为字母w。

2024-10-16 08:57:06 212

原创 Mathematica入门22-自定义函数

1. 立即赋值:例如下述例子,例1中先计算x1的值后赋值给f1,所以f1在内存中记录的是值4。例2中,x2计算后仍旧是变量,所以f2保存的结果是变量x2,f2的结果随着变量x2而改变。2. 延迟赋值:f3永远记录的是表达式的结果,每次调用多是重新计算表达式。换一种顺序进行函数定义,定义的顺序和执行的效果无关。参数可以是任意形式的,并且可以自定义函数的值。所有函数,只有满足参数的要求,才会执行。使用延迟赋值的方法定义一个函数。表达式赋值给变量,分两种形式。立即赋值 & 延迟赋值。

2024-10-15 15:28:17 326

原创 Mathematica入门21-显示和布局

类似于Callout和Labeled的功能,会自动选择合适的功能。

2024-10-15 13:18:37 123

原创 Mathematica入门20-Association

使用FullForm可以转换成完整的形式。Association的参数,可以是List,也可以是单独的Rule。提取元素的方法,在Association后添加[键],提取对应的值。也可以想列表一样,使用Part提取元素。Association的操作,与List相同,键是被忽略不考虑在范围内的。将Association和List相互修改的方法。Association,简写为<| |>,是。添加和修改Association的方法。一些对Key和Value的操作。

2024-10-15 10:15:26 165

原创 Mathematica入门19-Expressions and Their Structure

List是普通的函数,其他函数内部元素也可以通过相同的方法提取元素,每个方括号作为一层,可以提取多层内部的元素。FullForm函数不仅仅是用在List的简写,其他方式也可以。如果需要将简写,还原为完整的形式,使用FullForm函数。每个变量都包含一种类型,使用Head查看变量类型。使用Cases的时候,可以根据变量类型进行匹配。List是一个完整的输入形式,{}是简写。Part可以提取List中的元素。

2024-10-14 20:10:10 126

原创 Mathematica入门18-匹配

"_"读作blank,匹配任何形式的表达式。MatchQ,表示两种模式是否相符合,符合返回True。与Case拥有相同的作用,Select也能从列表中选取合适的内容,但是Select后的条件是一个判断。"__",这里包含两个blank,意思是数量是任意的。一个blank仅代表一个字符。Replace,按照一定的规则替换表达式中符合的内容,使用符号表达式"/."如果在blank前加上一个前缀,即给匹配符号加上名称。也可以在匹配符号加上后缀,后缀表示的符号的类型。Case从List中选取符合要求的额内容。

2024-10-06 17:35:27 235

原创 Mathematica入门17-提取List

c,a表示起始位置,b是终止位置(如果b是负数,表示从后往前数),c是间隔,零个分号作为间隔。也可以取多层,使用逗号进行分隔。使用All表示所有元素,元素实际从1开始,0表示该表达式类型。x位于Puls(第一层)后的Power(第二层),所以范围{1,2},x^4属于第一层的第三个元素,依此类推。ReplacePart替换元素,提供位置信息,以及需要替代的内容。Positon在List中需按照匹配的元素,并且范围所在位置。返回前n层中匹配对象,下面的例子中n取1。Take也是类似,取前n个元素。

2024-10-06 12:36:17 467

原创 Mathematica入门16-更过关于List的操作

函数,拾取符合要求的函数。默认格式为Pick[list, sel], list是需要拾取的元素列表,sel是对应的真值表。或者Pick[List, sel, patt],将sel中的真值表就行修改,sel中符合patt的内容,设置为真。,是从样品中随机抽取一个元素,然后在剩余的元素中继续抽取,所以每次元素出现的概率为1次。,args是一个List,Thread将函数f作用于args中的每一个元素。合并数组,并且剔除相同元素。,从数据中随机选取一个元素。,将数据转换为特定的宽度。

2024-09-29 16:56:27 448

原创 Mathematica入门15--Nest && 判断

Nest只显示嵌套的最后一个结果,NestList将每一次嵌套的结果都显示出来,NestGraph使用图表的形式展现结果。expr应该是只有一个整体,如果包含两个参数,需要用List进行描述,同样f也需要表示为List的形式,而且有相同的个数,并且#后需要带数字,表示使用的是哪个参数。和Nest是一样的功能,但是会将每一次嵌套的结果都会显示下来,以上述同样的表达式作为例子。相同的参数列表,但是返回的结果是exp->expr1,然后以Graph的结果进行显示。MemberQ函数,是否是其中的成员。

2024-09-29 15:00:30 277

原创 Mathematica入门14-函数

一般函数的的写法,可以方括号。Map功能符号的表达式为。

2024-09-29 11:52:46 168

原创 Mathematica入门13-Graph

上述请款下,Table每次产生一个循环,都会去调用RandomInteger函数,所以产生的Graph是每次都不一致的。但是Evaluate表示先执行RandomInteger函数,产生一组固定的两个节点,然后在去执行20次Table,所以每次产生的结果都相同。产生一个Graph,Table产生的是一个二维数据,但是Graph只接收一维数组,因此使用Faltten将二维数组转换为一维数组后,传递给Graph。产生一个10个数的随机节点,然后组成有20条边。表示的是不带方向的Graph。

2024-09-29 10:56:29 265

原创 Mathematica入门12-Plot参数3

29. PlotStyle: 绘图风格,曲线的颜色粗细等等。修改坐标显示方式,例如Log,Log2,Log10等等。默认多个函数显示在一张图表中,但是也可以分别显示。

2024-09-22 10:23:21 322

原创 Mathematica入门11-Plot参数2

填充曲线和目标之间的颜色,目标可以是None,Axis/轴,Bottom/底部,Top/顶部,也可以是其他曲线{m},加大括号才表示是其他曲线,不加表示某一个轴,还可以指定曲线之间的格式,{i1->{p1, {g1_, g1+}}函数有些区域梯度大,需要比较高的采样点,Mesh采样频率低,通过MaxRecursion在原有的采样点之间添加几个点,可以提高采样率,MaxRecursion默认是最高的。默认应该使用的是Automatic,是自动分别断点区域的。显示采样的所有点,或者等间隔的显示。

2024-09-19 19:16:14 235

原创 Mathematica入门-10-Plot参数-1

不同函数或多或少会带有一些参数,形式如下,其中ImageSize表示参数名称,形容显示图像的大小,箭头类似于赋值的作用,Small表示值,表示Plot显示图像大小为Small作图功能是非常常见的,修改其中的一些参数,可以令表格图像更加漂亮。因此这几篇文章以常用的Plot参数为入口,学习这些参数的意义,其他作图函数也有着类似的功能。基本的显示函数功能。

2024-09-19 09:08:33 592

原创 Mathematica入门9--Table&Grid&Array

Table可以产生List;Grid类似与表格,可以将二维数组以表格的形式展现;而Array有作图功能,所有数据在他看来都是一张图片。讲述Table,Grid和Array作用。

2024-09-12 16:56:01 270

原创 Mathemtica入门8--Manipulate

一个交互控件函数Manimuplation,参数可以由不同控件,例如滑动条、按钮之类各种类型取控制,然后显示整体函数。文章展示的控件内容比较少,更多内容还是需要参考说明文档。

2024-09-08 19:45:40 327

原创 Mathematica入门7--Style&Graphic3D

讲述的是颜色,颜色相反的函数,颜色混合。最后讲解Style函数。

2024-09-08 17:10:08 275

原创 Mathematica入门6--Table

2. 当然表达式也可以带有参数,然后指定参数的范围,下图中默认是从1开始,当然也可以按照格式{n, start_value, stop_value, step_value}这种格式操作。这篇文章简述Table使用,之前有提到过,Table函数效率比较高,第一个参数是一个表达式,然后是范围。1. 将某一个表达式重复一定次数。

2024-09-08 15:02:32 509

原创 Mathematcia入门5--Plot&List

这篇文章讲述List的一些其他操作。

2024-09-07 19:26:54 183

原创 激光点阵算法

最初接触的就是GS算法,不断通过傅里叶和逆傅里叶变换,然后在两个面上替换不同光强,GS算法的光斑均匀度差。偶然机会学习到了GSW算法,没有认真看,大概的了解到是在傅里叶平面叠加相位图时,每个点的强度添加了权重,可以令每个光斑变得更加均匀。但是设计的时候,点和点之间选哟保持一定的间隔,曾经想过把点和点距离靠的最近,然后形成一个平顶光斑,这个是不可行的。生成任意形状平顶光斑是可以的,需要使用其他的算法,其他算法中会加入一些技巧。第二幅图的点阵光强是均匀的,第三幅图的点阵光强就是这么设计的。

2024-09-03 20:04:52 221

原创 Mathematica入门4--纯函数&Map@

类似于C++中的Lambda函数,或者也被成为匿名函数,定义一个函数的快捷操作方式,格式为(#n)&,#后面添加一个数字,表示第几个参数,也可以不添加,默认第一个,这相当于定义了有一个函数,函数后面通常跟随一个方括号,方括号内添加参数,他也是这种形式。映射,Map函数或者Apply,Map将一个函数分别映射到每个参数上,Apply将一个函数,映射到多个参数上。和之前提到的一样,有时候是表示的是一种函数,得到这个函数后,在后面加方括号,填入参数。这是符号的表达方式,也有对应的函数表达方式。

2024-09-03 19:44:52 411

原创 Mathematica入门3--Table

Table与其他迭代性能对比

2024-09-01 14:31:56 302

原创 Mathematica入门2--立即赋值&延迟赋值

1. 立即赋值和延迟赋值的理解。2. 列表表达式。3. 匹配定义。4.函数定义

2024-08-31 17:23:53 711

原创 傅里叶变换

Mathematica计算,从连续傅里叶变换讨论到离散傅里叶

2024-08-26 20:01:23 273

原创 Mathematica入门1--基础

基本的函数使用方法,以及变量赋值方式

2024-08-23 14:46:57 649

原创 Mathematica 入门

讲述我学习编程的经历,以及之后打算写点Mathematica的原因。

2024-08-21 17:22:06 215

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除