200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 浅学一维傅里叶变换【下一章发布 : 快速二维傅里叶变换FFT 快速二维傅里叶逆变换IFFT】

浅学一维傅里叶变换【下一章发布 : 快速二维傅里叶变换FFT 快速二维傅里叶逆变换IFFT】

时间:2020-05-28 12:44:17

相关推荐

浅学一维傅里叶变换【下一章发布 : 快速二维傅里叶变换FFT 快速二维傅里叶逆变换IFFT】

程序代码如下:

clear%对数列:1,2,4,4进行傅里叶变换y1 = [1 2 4 4];[fy1,sumY1] = Fourier2(y1);%对函数:y = sin(x)进行傅里叶变换y2 = @(x) sin(x);[fy2,sumY2] = Fourier2(y2,1,0,10);%对数列:1,2,4,5,6,7,8,9进行傅里叶变换y3 = [1 2 3 4 5 6 7 8 9 ];[fy3,sumY3] = Fourier2(y3);%对函数:y = sin(x)-cos(x)进行傅里叶变换y4 = @(x) sin(x)-cos(x);[fy4,sumY4] = Fourier2(y4,1,0,10);

程序运行图如下:

1、对变量的截图

1、对 y = [1 2 4 4]进行离散傅里叶变换

2、对 y = sin(x)进行离散傅里叶变换

3、对 y = [1,2,4,5,6,7,8,9]进行傅里叶变换

4、对 y = sin(x)-cos(x)进行傅里叶变换

自写函数代码如下

function [fy,sumY] = Fourier2(y,dx,xLeft,xRight)%一维离散傅里叶变换%该函数是用于输入一个 函数 或 列向量 即y ,将y傅里叶变换后输出%fy是y的离散傅里叶变换,sumY是fy的零频,即y的各个数相加%此函数输出y傅里叶变换后的1、实部2、幅值3、相位% 创建命名函数的函数句柄:% fy = @myfun% 创建匿名函数的函数句柄:% fxy = @(x,y) x.^2 + y.^2;if length(y) ==1x = xLeft:dx:xRight;y = y(x);fy = y;elsex = 0:1:length(y)-1;end for x1 = 0:length(y)-1temp = 0;for x2 = 0:length(y)-1temp = temp + y(x2+1)*exp(-1j*2*pi*x1*x2/length(y));endfy(x1+1) = temp;endsumY = sum(y(:));figuresubFigure = 3;subplot(2,subFigure,1),plot(x,y,"red",'LineWidth',1.5),title("原函数连续图");subplot(2,subFigure,2),stem(x,y,"red",'LineWidth',1.5),title("原函数离散图");subplot(2,subFigure,4),stem(x,real(fy),"red",'LineWidth',1.5),title("傅里叶变换后实部图");subplot(2,subFigure,5),stem(x,abs(fy),"red",'LineWidth',1.5),title("傅里叶变换后幅值图");subplot(2,subFigure,6),stem(angle(fy),"red",'LineWidth',1.5),title("傅里叶变换后相位图");end

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。