今天在看图像处理的书时,想绘制一个普通函数的离散傅里叶函数,及领悟函数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=