matlab函数

傅立叶变换的意义

寵の児 提交于 2020-01-20 23:01:55
一、傅立叶变换的由来 关于傅立叶变换,无论是书本还是在网上可以很容易找到关于傅立叶变换的描述,但是大都是些故弄玄虚的文章,太过抽象,尽是一些让人看了就望而生畏的公式的罗列,让人很难能够从感性上得到理解,最近,我偶尔从网上看到一个关于数字信号处理的电子书籍,是一个叫 Steven W. Smith, Ph.D. 外国人写的,写得非常浅显,里面有七章由浅入深地专门讲述关于离散信号的傅立叶变换,虽然是英文文档,我还是硬着头皮看完了有关傅立叶变换的有关内容,看了有茅塞顿开的感觉,在此把我从中得到的理解拿出来跟大家分享,希望很多被傅立叶变换迷惑的朋友能够得到一点启发,这电子书籍是免费的,有兴趣的朋友也可以从网上下载下来看一下, URL 地址是: http://www.dspguide.com/pdfbook.htm 要理解傅立叶变换,确实需要一定的耐心,别一下子想着傅立叶变换是怎么变换的,当然,也需要一定的高等数学基础,最基本的是级数变换,其中傅立叶级数变换是傅立叶变换的基础公式。 二、傅立叶变换的提出 让我们先看看为什么会有傅立叶变换?傅立叶是一位法国数学家和物理学家的名字,英语原名是 Jean Baptiste Joseph Fourier (1768-1830) , Fourier 对热传递很感兴趣,于 1807 年在法国科学学会上发表了一篇论文,运用正弦曲线来描述温度分布

MATLAB强化学习入门——二、网格迷宫、Q-learning算法、Sarsa算法

浪尽此生 提交于 2020-01-19 20:51:33
一、多步决策问题和网格迷宫 上一篇文章里讨论多臂赌机问题是单步最优决策问题的对应模型。而在这之后,则可以考虑离散的多步决策问题。离散的多步决策问题,对应的典型问题模型则是网格迷宫(Grid World)。 前文中,ε-greedy策略,softmax策略的原理及其特点得到了讨论。而这些策略,可以看作智能体应对某一状态时选择动作的方式。策略应用的前提,则是智能体对于动作的优劣有着某种估计(无论正确与否)。 当策略应用到多步决策问题上时,如果想要令同样的策略产生作用并选择动作,就需要对系统所处的每一个状态以及对应动作的优劣进行估计。状态价值函数 V(x) (state value function)以及状态-动作价值函数Q(x,a) (state-action value function)也就应运而生了。 图1 Windy Grid World 网格迷宫问题可以描述为智能主体在一个类似棋盘的离散网格空间中学习到达目标点的最优策略的问题。在普通的网格中增加一些变化,添加影响小球运动的风速,即得到Windy Grid World,如图一。智能体在该情况下的移动,受到时不变的风速影响。 状态价值函数与动作-状态价值函数之间的关系可以用Bellman方程得到,具体可参看[1]或者浙江大学的机器学习MOOC。而在算法的具体实现上,往往仅仅需要动作-状态价值函数,即Q函数。 总的思路是

scala akka 修炼之路6(scala函数式柯里化风格应用场景分析)

混江龙づ霸主 提交于 2020-01-19 19:54:45
胜败兵家事不期,包羞忍耻是男儿——斗牛士fighting,fighting,fighting... 小象学习和使用scala也一段时间了,最初小象学习scala主要为了学习spark生态,可是深入学习scala的一些特性后。深深被scala函数式和面向对象的风格所折服,不得不赞美设计这门语言的设计者。小象大学阶段在使用MATLAB做数据分析和自己主动化设计时,就非常喜欢使用MATLAB的命令行和面向矩阵运算的风格编写分析代码。喜欢使用java编写层次化和清晰的模块接口,而这些Scala语言设计中都有非常好的设计。不得不说 scala的函数式和面向对象风格。能够让想想随时发生。假设你是画家,使用scala写出来的代码更像一幅充满诗意的风景画。假设你是作家,写出的将是一个扣人心弦的跌宕起伏的大篇。 scala给不同类型的程序猿不同的体验和感受。而使用scala函数式柯里化风格。能够编写出更加抽象,功能化和高效的函数式代码。 小象在定义主函数功能的时候经常出现这样的情况,函数体中的代码越写越长,本来能够拆分的功能,因为写代码的时候逻辑思绪根本停不下来,不愿意中途打断去定义那些繁琐的辅助函数,往往一个函数就一路走到头,最后使主函数代码段非常长。不便理解,功能复杂,须要后期慢慢拆分功能。小象在学习使用scala函数式柯里化风格后。在思绪停不下来又须要拆分功能的时候

神奇的e

允我心安 提交于 2020-01-19 01:06:30
开场 之前一直写关于嵌入式linux和zynq的一些内容。这次打算加入DSP,这篇是一些基础知识,作为入门笔记。打算加下来从卷积、傅里叶、拉普拉斯、Z变换、离散傅里叶等来思考一些信号系统的知识。最后通过一些工程实例比如滤波器、PID控制器、调制解调器来应用下这些知识,这只是个开端。 e的起源 生活中经常会遇到这样一个问题,去银行存钱,银行会反着付给我们一些保管费,叫做利息。一般来讲银行说的利率是年利率。 做个简单的模型,小明去银行存1元钱,利率是100%,那年终小明会拿到连本带利一共(1+1*100%) 1 =2元。 假设银行的利率是按照月来给的,一年小明连本带利会拿到多少钱?(1+1/12) 12 =2.61303元(约等于),这是个复利的过程。 假设利息是按天支付的呢? (1+1/365) 365 =2.714567482元(约等于)。 现在,我们就可以根据上面的过程,总结出小明用不同的方式存款能拿到的总金额。 sum = (1+1/n) n ,而且你可以试下,当n>>+∞时,sum>>e=2.718281828。 想计算e,显然需要一个更好的工具了。 上面的问题,用极限的形式来表示就是: 很好理解,即使没有学过高等数学,表面上来看,也是当n趋于无穷大时,求后面代数式的结果。这个代数式的结果就是额e! 其实,看起来越难的数学,才越贴近我们的真是生活。比如求正方形的面积很简单s

Matlab基本函数-hidden函数,matlab中hidden off有什么用?

廉价感情. 提交于 2020-01-17 03:09:58
在用mesh画的3维图中,hidden off 是显示被前面图形遮挡的后面图形部分(隐藏关闭)。相反hidden on是不显示后面被遮挡的部分(隐藏打开)。 1、hidden函数:设置或取消隐藏线模式 2、用法说明 (1)hidden on 函数对当前图形打开隐藏线条删除,使网格图后面的线条被前面的线条遮住。设置曲面图形对象的属性FaceColor为坐标轴背景颜色; (2)hidden off 函数对当前图形关闭隐藏线条删除; (3)hidden 函数在两种状态hidden on和hidden off之间切换。 3、举例说明 (1)>> mesh(peaks) (2)>> hidden on (3)>> hidden off (4)>> hidden (5)>> hidden 4、附录 >> help hidden hidden Mesh hidden line removal mode. hidden ON sets hidden line removal on for meshes in the current axes. hidden OFF sets hidden line removal off so you can see through meshes in the current axes. hidden by itself toggles the state of

Matlab griddata函数功能介绍

走远了吗. 提交于 2020-01-17 03:07:01
功能 数据格点 格式 (1)ZI = griddata(x,y,z,XI,YI) 用二元函数z=f(x,y)的曲面拟合有不规则的数据向量x,y,z。griddata 将返回曲面z 在点(XI,YI)处的插值。曲面总是经过这些数据点(x,y,z)的。输入参量(XI,YI)通常是规则的格点(像用命令meshgrid 生成的一样)。XI 可以是一行向量,这时XI 指定一有常数列向量的矩阵。类似地,YI 可以是一列向量,它指定一有常数行向量的矩阵。 (2)[XI,YI,ZI] = griddata(x,y,z,xi,yi) 返回的矩阵ZI 含义同上,同时,返回的矩阵XI,YI 是由行向量xi 与列向量yi 用命令meshgrid 生成的。 (3)[XI,YI,ZI] = griddata(.......,method) 用指定的算法method 计算: ‘linear’:基于三角形的线性插值(缺省算法); ‘cubic’: 基于三角形的三次插值; ‘nearest’:最邻近插值法; ‘v4’:MATLAB 4 中的griddata 算法。 来源: CSDN 作者: Kernel-Tomposon 链接: https://blog.csdn.net/shixin_0125/article/details/104010324

MATLAB学习_函数自定义与调用

孤街醉人 提交于 2020-01-12 14:45:43
另一个博客地址 konosuba.xyz 自定义函数 MATLAB可以在单独的 .m 文件中定义函数 比如有一文件 myadd.m ,文件中内容为 function y = myadd(a, b) % 这里可以写函数的使用说明,前面以%开头 % 在工作区中,help myadd将显示此处的说明 y = a + b; end %可以略去 第一行 function y = myadd(a, b) 告诉 MATLAB,这个函数将返回一个值,并且返回的这个值将被存放于变量 y 里。 另外,还可以得知这个函数有两个参数 a 和 b ,以及定义的函数体,即 y = a + b myadd是函数名。以m文件定义的函数必须保存为函数名的形式 要使用 myadd函数,该函数必须在 Matlab 的搜索路径中。 调用方式 只需在MATLAB中直接使用函数名调用,MATLAB会自动在其搜索路径中找到对应 .m 文件,例如 >> c = myadd(1, 2) c = 3 MORE MATLAB中允许定义的函数返回值是多个值或多个参数,只需在定义函数时写为 [y1, y2...] = function_name(x1, x2...) 来源: CSDN 作者: Tiiktak 链接: https://blog.csdn.net/u010518385/article/details/103944863

Matlab学习笔记(三)——数值计算

拥有回忆 提交于 2020-01-11 22:35:35
3.1 矩阵特征值和奇异值 3.1.1 行列式、逆和秩 det(A) 求方阵A的行列式 rank(A) 求A的秩 inv(A) 求A的逆矩阵 pinv(A) 求A的伪逆 3.1.2 特征值和特征向量的求取 E=eig(A):用于求A的全部特征值,构成向量E [V,D]=eig(A):用于求A的全部特征值,构成对角矩阵D,并求A的特征向量构成V的列向量 3.2 概率和统计 3.2.1 基本分析函数 sum函数:用于求矩阵列矩阵元素或向量的和 B=sum(A):若A为向量,则返回所有元素的和;如A为矩阵,则返回其他各列所有元素和 B=sum(A,dim):返回A中第dim维的所有元素和 cumsum函数:用于求矩阵或向量的累积和 B=cumsum(A):若输入参数A为一个向量,则返回该向量所有元素累积和,若A为矩阵,则返回该矩阵各列元素的累计和,即返回一个行向量 B=cumsum(A,dim) A为矩阵,若dim=1,则表示在列方向上求累计和;若dim=2,则表示在行方向上求累计和 cumsum是累计和,结果中含有每一步的运算结果,sum给出的则是最终求和的结果 prod函数:用于求矩阵元素的积 B=prod(A):若A为向量,则返回所有所元素的积;若A为矩阵,则返回各列所有元素积 B=prod(A,dim):返回A中第dim维所有元素的积 sort函数

Matlab绘制图像(plot函数)

喜欢而已 提交于 2020-01-11 15:08:44
Matlab使用 plot函数 绘制图像。 1. 语法 语法 说明 plot(X, Y) 创建 Y 中数据对 X 中对应值的二维线图。 如果 X 和 Y 都是向量,则它们的长度必须相同。plot 函数绘制 Y 对 X 的图。 如果 X 和 Y 均为矩阵,则它们的大小必须相同。plot 函数绘制 Y 的列对 X 的列的图。 如果 X 或 Y 中的一个是向量而另一个是矩阵,则矩阵的各维中必须有一维与向量的长度相等。 如果矩阵的行数等于向量长度,则 plot 函数绘制矩阵中的每一列对向量的图。 如果矩阵的列数等于向量长度,则该函数绘制矩阵中的每一行对向量的图。 如果矩阵为方阵,则该函数绘制每一列对向量的图。 如果 X 或 Y 之一为标量,而另一个为标量或向量,则 plot 函数会绘制离散点。但是,要查看这些点,必须指定标记符号,例如 plot(X,Y,‘o’)。 plot(X, Y, LineSpec) 设置线型、标记符号和颜色。 plot(X1, Y1, …, Xn, Yn) 绘制多个 X、Y 对组的图,所有线条都使用相同的坐标区。 plot(X1, Y1, LineSpec1, …, Xn, Yn, LineSpecn) 设置每个线条的线型、标记符号和颜色。您可以混用 X、Y、LineSpec 三元组和 X、Y 对组: 例如,plot(X1, Y1, X2, Y2,

贯穿时域与频域的方法——傅立叶分析

和自甴很熟 提交于 2020-01-10 03:57:24
Q1:时域与频域是什么? 时域故名思议就是随着时间的推移,我们所能直观感受的东西或事物,比如说音乐,我们听到动听的音乐,这是在时域上发生的事情。 而对于演奏者来说音乐是一些固定的音符,我们听到的音乐在频域内是一个永恒的音符,音符的个数是有限且固定的,但可以组合出无限多的乐曲。 傅立叶也告诉我们,任何周期函数都可以看作不同振幅,不同相位的正弦波的叠加。就像用音符组合出音乐一样。 贯穿时域和频域的方法之一,就是傅立叶分析,傅立叶分析又分为两个部分:傅立叶级数和傅立叶变换。 Q2:傅立叶级数是啥? 傅立叶级数指出任何周期函数都可以看作不同振幅,不同相位的正弦波的叠加。 对比傅立叶变换:傅立叶变换指出非周期的函数(函数曲线下的面积是有限的)也可以用正弦或余弦乘以加权函数的积分来表示。 说的过程大概是这样子的: 在傅立叶级数中要介绍两个概念:频谱(幅度谱),相位谱。 有了这两个东西之后我们就可以更容易理解把周期函数拆分为各个正弦函数叠加的过程了。 频谱(幅度谱) 之前我们提到了时域和频域,从不同的“域”来看可能会产生很不一样的效果,到底有多不一样呢?先上个图来看一下。 可以看出,从时域来看,我们会看到一个近似为矩形的波,而我们知道这个矩形的波可以被差分为一些正弦波的叠加。 而从频域方向来看,我们就看到了每一个正弦波的幅值,可以发现,在频谱中,偶数项的振幅都是0,也就对应了图中的彩色直线