我的matlab笔记.docx

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
我的matlab笔记

Matlab之fft画图问题例一、x=0:1000; y=sin(2*pi*x/500); plot(y)信号周期T=500,则f=1/500,理论上,角频率=2*pi*f=0.0126。还有一种理解:正弦信号,理解为就是角频率。那么,应计算为:2*pi/500,得0.0126.做fft并画图:c= fft(y);plot(abs(c))频率在3的位置,这是什么意思呢?例二、 y1=sin(2*pi*x/1000);plot(y1)信号周期1000.则f=1/1000,则角频率=2*pi*1/1000=0.0063同上,按照常规理解,角频率应计算为:2*pi/1000 = 0.0063画图: d=fft(y1); plot(abs(d))频率在2左右,什么意思呢?例三.y2=sin(2*pi*x/250);plot(y2)频率计算为:2*pi/250 = 0.0251画图: f=fft(y2);plot(abs(f))例四、y4=sin(2*pi*x/200);频谱:问题:为什么得到的频率值和理论上的不一样呢?解释:因为横坐标没有转换,这里只是根据总点数(四个例子都是1001点)来画图,而傅里叶变换横坐标应该是频率才对,故只需将横轴转化为频率即可。怎么转化呢?由快速傅里叶变换(FFT)的定义,是将频率范围变换到0-2*pi,故只需要将100个点和0到2*pi对应起来即可。可在四个例子中将画图语句改为:plot(2*pi/length(x)*([0:1000]),abs(fft(yn)));即可换算成正确的横坐标。画例一的图:单一频率位置:全图为:横坐标范围即是0到2*pi。更为一般的情况是,将横轴转化为0到1,横坐标标识改为pi,即,只画一半频率的图,并且将频率归一化:plot(1/length(x)*([0:500]),abs(fft(yn(1:501))));图像:Matlab之解方程函数solve调用格式:syms xsolve(x2-1);solve(x2-2*x-1==0);即先要定义一个符合变量,然后将未知数用此符号变量表示。Matlab的log函数求自然对数。若直接调用,不需要写底数,求出的是自然对数的值。如:log(10 )ans = 2.3026要注意的是:求10 的自然对数不能写成log10,因为log10是求10 为底的对数。Matlab会报错: log10Error using log10Not enough input arguments.要求10为底的对数,可用格式log10(A)来实现。另外要注意的是,matlab只能直接求自然对数和10为底的对数。如下列语句: log4(16)报错如下:Undefined function log4 for input arguments of type double.故在matlab中要求其他底数的对数,需要转化为求自然对数或者10为底的对数。上式可化为:log(16)/log(4).注意要加括号!!!

文档评论(0)

xy88118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档