程序代码如下:

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;
end
sumY = sum(y(:));
figure
subFigure = 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

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

  1. 《OpenCv视觉之眼》Python图像处理六 :Opencv图像傅里叶变换和傅里叶逆变换原理及实现

    本专栏主要介绍如果通过OpenCv-Python进行图像处理,通过原理理解OpenCv-Python的函数处理原型,在具体情况中,针对不同的图像进行不同等级的.不同方法的处理,以达到对图像进行去噪.锐 ...

  2. 【经典算法实现 44】理解二维FFT快速傅里叶变换 及 IFFT快速傅里叶逆变换(迭代法 和 递归法)

    [经典算法实现 44]理解二维FFT快速傅里叶变换 及 IFFT快速傅里叶逆变换(迭代法 和 递归法) 一.二维FFTFFTFFT快速傅里叶变换 公式推导 二.二维FFTFFTFFT 及 IFFTIF ...

  3. 浅谈互联网时代下融媒技术现状

    浅谈互联网时代下融媒技术现状 摘要:近年来,我国数字技术的迅速发展使得媒体技术在"互联网+"时代下不断发展融合,形成了如今的融合媒体技术.新兴融媒技术的发展给广播电视行业带来了新的 ...

  4. 《趣题学算法》—第0章0.3节算法的伪代码描述

    本节书摘来自异步社区<趣题学算法>一书中的第0章0.3节算法的伪代码描述,作者徐子珊,更多章节内容可以访问云栖社区"异步社区"公众号查看. 0.3 算法的伪代码描述 上 ...

  5. [大数据之Yarn]——资源调度浅学

    在hadoop生态越来越完善的背景下,集群多用户租用的场景变得越来越普遍,多用户任务下的资源调度就显得十分关键了.比如,一个公司拥有一个几十个节点的hadoop集群,a项目组要进行一个计算任务,b项目 ...

  6. 浅学JavaScript

    JavaScript是互联网上最流行的脚本语言,可广泛用于服务器.PC.笔记本电脑智能手机等设备: 对事件的反应: <!DOCTYPE html> <html> <hea ...

  7. 计算机辅助审计的特点是,浅谈新环境下计算机辅助审计的特点和应用_1

    浅谈新环境下计算机辅助审计的特点和应用_1 (7页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 24.90 积分 从本学科出发,应着重选对国民经济具有一定 ...

  8. TencentOS浅学过程记录

    TencentOS浅学过程记录 前言 一.RTOS 二.学习资料来源 三.初步学习过程中的疑难问题解决 任务调度以及轮询时间片 消息队列与邮箱队列 互斥锁 任务中为什么一定要加while(1)循环 内 ...

  9. python爬虫笔记——Scrapy框架(浅学)

    一.创建Scrapy爬虫项目 步骤: 安装scrapy:在pycharm项目(自己新建的爬虫项目)的终端输入 pip install scrapy 创建爬虫项目:同样在终端输入 scrapy star ...

  10. DO、DTO、BO、VO、POJO等各种O浅学(总结)

    DO.DTO.BO.VO.POJO等各种O浅学(总结) 有哪些 O 关键的 O :DO.DTO.VO.BO 整个数据流程传递 区别用处 VO与DTO的区别 VO与DTO的应用 DTO与DO的区别 DT ...

最新文章

  1. Android基础 : Android Service[转]
  2. signature=60e238a971088f65081a607ed25e04b3,Healthcare Claims Loss Control Systems And Methods
  3. 当下网络营销市场中为何企业可通过网络营销提升自我价值?
  4. Microsoft Edge Chrome 下载
  5. 【一起去大厂系列】针对left join以及limit的两条优化小技巧
  6. 重庆计算机教师招聘 专业技能测试什么,教师招聘考试面试,专业技能测试考什么?全在这了...
  7. oracle dataguard 日志 很多no,Oracle DataGuard主庫丟失歸檔日志后備庫的RMAN增量恢復一例...
  8. php各安装包中TS和NTS及SRC/VC6|VC9|VC11|VC14|VC15版本区别意思详解(转)
  9. python调用win32api详解_Python调用Win32 API实现截图
  10. FLASH动画之制作动画
  11. Matlab中sqrt函数的用法
  12. 数据库--MySQL
  13. 如何在Chrome(或任何浏览器)中编辑任何网页
  14. 前端页面查看PDF文档内容总结
  15. 未来的计算机辅助教学是什么样的,计算机辅助教学cat是什么软件
  16. 武汉市科技重大专项项目榜单申报条件、流程时间
  17. 中国·希腊国家馆落户上海自贸区
  18. java中jcl,从批处理JCL执行java
  19. Web 应用安全发展的介绍
  20. [转]不可思议的Qt GrahpicView演示-重返德军总部(有视频哦)

热门文章

  1. 技嘉主板bios设置内存图解
  2. mysql杏林中医诊所管理系统毕业设计源码133742
  3. VUE调用打印机打印页面
  4. html5妇女节游戏,2020三八妇女节趣味游戏大全_妇女节可以举办哪些活动
  5. python矩阵连乘_python动态规划解决矩阵连乘
  6. VUE和Element-UI下拉框select实现拼音,中文搜索
  7. 电子行业ERP解决方案
  8. 基于cpolar内网穿透工具ssh远程访问linux服务器
  9. 用gulp-imageisux智图api压缩图片
  10. stm8s stvd 编译出错