f(x)*(-1)^x的离散傅里叶变换及Matlab中如何绘制坐标轴
来源:互联网 发布:电脑笔记软件 知乎 编辑:程序博客网 时间:2024/06/08 08:09
今天在看图像处理的书时,想绘制一个普通函数的离散傅里叶函数,及领悟函数f(x)*(-1)^x的离散傅里叶变换相当于将原函数的离散傅里叶变换向左或向右平移半个周期。在绘制过程中,想要给图像添加一个坐标轴,发现,添加坐标轴还有点麻烦,对应我这个新手来说。后来经过一番百度,用到了mathworks的arrow函数,就是绘制出来的箭头有点大。代码如下。
clc;clear all;close all;x=ones(7,1)';%生成一个长度为7的矩形序列Fu=fft(x,140);%求序列的长度为63的离散傅里叶变换%Fu=[fliplr(Fu) Fu];%为了对称,在负轴也生成一个周期。Fu=[Fu,Fu];plot([-140:1:139],abs(Fu),'--');%绘制幅度谱xlabel('u');ylabel('|F(u)|');%annotation('arrow',[0 0],[0 1]);%annotation('arrow',[0.5 0.5],[0 1 ]);%[a,b] = ginput;xaxis=arrow([-140,0],[150,0]);%绘制x轴,起点为(-140,0),终点为(150,0)yaxis=arrow([0 0],[0 7.5]);%绘制y轴,起点为(0,0),终点为(0,7.5)%set(xaxis,'Facecolor',[0 1 0],'EdgeColor',[0 1 0]);%设置x轴的颜色为绿色xlim([-140,140]);ylim([0,7]);figure(2);a=[1:7];x=(-1).^a.*x;Fu=fft(x,140);%求序列的长度为63的离散傅里叶变换Fu=[Fu,Fu];plot([-140:1:139],abs(Fu),'--');%绘制幅度谱%plot(abs(Fu));xlabel('u');ylabel('|F(u)|');xaxis=arrow([-140,0],[150,0]);%绘制x轴,起点为(-140,0),终点为(150,0)yaxis=arrow([0 0],[0 7.5]);%绘制y轴,起点为(0,0),终点为(0,7.5)% %set(xaxis,'Facecolor',[0 1 0],'EdgeColor',[0 1 0]);%设置x轴的颜色为绿色xlim([-140,140]);ylim([0,7]);
图片如下
发现figure2相对于figure1平移了半个周期。
在绘制坐标轴时利用的arrow函数见http://cn.mathworks.com/matlabcentral/fileexchange/278-arrow
在绘制坐标轴时,网上有很多人说用annotation函数,常见的是annotation1 = annotation(figure1,'arrow',[0.131 0.131],[0.92 0.96]);annotation2 = annotation(figure1,'arrow',[0.88 0.96],[0.108 0.108]);但是这样基本上只使用于坐标轴在左下角的情况。而且,关于annotation的用法,这篇博客说的比较好:http://www.matlabsky.com/thread-13465-1-1.html。一个核心就是使用annotation绘制箭头时,annotation('arrow',x,y) % 建立从(x(1), y(1))到(x(2), y(2))的箭头注释对象。annotation对象的父对象是figure对象,上面提到的坐标x,y是标准化的坐标,即整个图形窗口(figure对象)左下角为(0, 0),右上角为(1, 1)。宽度w和高度h也都是标准化的,其取值在[0, 1]之间。与图像中数据坐标不一致,存在bug,arrow函数很好第解决了这个问题。
- f(x)*(-1)^x的离散傅里叶变换及Matlab中如何绘制坐标轴
- Matlab中绘制带箭头的坐标轴
- matlab中如何绘制离散点的fft的图
- MATLAB双坐标轴的绘制
- matlab中绘制平行于坐标轴的直线
- MATLAB中cov(x)与cov(x,1)的区别
- Matlab绘制自然原点坐标的坐标轴
- 利用MATLAB绘制隐函数f(x,y)=x^2 * sin(x+y^2)+y^2 * exp(x+y)+5 * cos(x^2+y)=0的曲线
- opencv 2.x学习笔记(十四)离散傅里叶变换
- 已知f(x)1)f(x)dx
- 不必要的F(X)
- 在二维离散傅里叶变换中进行频谱平移(MATLAB::fft2shift)的作用
- Highcharts图形x坐标轴密度的问题
- matlab三维散点绘制以及坐标轴的设置
- F[x]
- F(x)
- F(X)
- F(X)
- 小米四启用虚拟按键以及禁用实体按键
- 初次linux下安装apache2.4.27遇到的一点问题和解决方法
- Cookie
- SPOJ1812:Longest Common Substring(后缀自动机)
- 树形背包O(nm)求解
- f(x)*(-1)^x的离散傅里叶变换及Matlab中如何绘制坐标轴
- 用tornado将flask部署到Nginx上
- 榴莲分配 递推
- liulu博客
- Java:面试题的一些总结
- LeetCode(34)--Search for a Range
- KMP算法解析
- next()和nextLine()的区别
- jquery的相关使用