matlab傅里叶变换怎么做?新手也能看懂的教程!

吉云

大家今天来跟大家聊聊我在 Matlab 里捣鼓傅里叶变换的那些事儿。

我对这玩意儿一头雾水,啥傅里叶变换,听着就头大。后来因为项目需要,不得不硬着头皮上,结果发现,也没那么吓人嘛

摸索阶段

matlab傅里叶变换怎么做?新手也能看懂的教程!

我先是去网上搜一堆资料,发现 Matlab 里有个叫 fft 的函数,说是专门用来做快速傅里叶变换的。我就想着,先拿这个函数试试水。

我记得很清楚,当时我找到的资料里有这么一句:“Y = fft(X)”,说是用这个就能计算 X 的离散傅里叶变换。我就照葫芦画瓢,在Matlab里敲这个代码。

动手实践

光敲这一行代码肯定不行,我还得准备数据。我记得当时是弄一个正弦信号,因为这玩意儿比较简单,频率啥的也好控制。网上资料说,要先确定信号的采样频率和采样点数,还要创建一个时间向量。这些我都照做,然后用这些数据创建一个信号向量。

有数据,我就开始用 fft 函数进行计算。我记得当时的代码大概是这样的:

matlab

matlab傅里叶变换怎么做?新手也能看懂的教程!

clc;

clear;

CU=[]; % 这里我导入我的数据

CU_f=fft(CU); % 这里做 FFT 变换

跑完之后,出来一堆数据,我也看不懂!然后我就去搜,怎么把这些数据变成我能看懂的东西。发现可以用图形来显示,就是把结果画出来。

matlab傅里叶变换怎么做?新手也能看懂的教程!

于是我又加几行代码:

matlab

figure(1)

subplot(2,1) % 这里是把图分成两部分,具体我也记不清,反正就是照着网上的例子写的

然后,Duang!图出来!虽然还是有点懵,但起码能看到一些波形,有点像那么回事。

matlab傅里叶变换怎么做?新手也能看懂的教程!

深入研究

后来我又去研究更复杂的情况,比如用 integral 函数来进行傅里叶变换。我记得当时的代码是这样的:

matlab

a=zeros(1,N1); % 这里创建一个数组,用来存结果

for n=1:N1

a(n)=integral(@(x) signal0(x,k(n),T),0); % 这里用 integral 函数计算

matlab傅里叶变换怎么做?新手也能看懂的教程!

end

这个过程就更复杂,我也折腾好久,才慢慢弄明白。就是不断地尝试,不断地查资料,不断地调试。

最终实现

我总算是把傅里叶变换在 Matlab 里的应用给搞定。虽然过程挺曲折的,但现在回头看看,感觉还挺有成就感的。从一开始的啥也不懂,到现在能熟练地用 fft 函数,甚至还能用 integral 函数来做傅里叶变换,感觉自己进步还是挺大的。

我觉得学习这东西,最重要的就是动手去做,别怕麻烦,别怕出错。多试试,多查查资料,总能找到解决办法的。今天就分享到这里,希望对大家有所帮助!

matlab傅里叶变换怎么做?新手也能看懂的教程!

免责声明:由于无法甄别是否为投稿用户创作以及文章的准确性,本站尊重并保护知识产权,根据《信息网络传播权保护条例》,如我们转载的作品侵犯了您的权利,请您通知我们,请将本侵权页面网址发送邮件到qingge@88.com,深感抱歉,我们会做删除处理。

目录[+]