matlab的最常用画图命令函数是plot(),使用实例:
x=-2*pi:pi/10:2*pi %x的区间【-2π,2π】
y=sin(x)+cos(x) %计算y值
plot(x,y,'r-') %画图
xlabel('x'),ylabel('y(x)') %坐标轴名称
title('y=sin(x)+cos(x)') %图形标题名称
其余画图命令还有,ezplot,polar,ezpolar等二维绘图命令
如想了解,可以进一步私聊。
是你想要的结果吗??
clc clear all close all
x=[0,1,2,3,4,5,6,7]%输入的信号,自己可以改变
%整体运用原位计算
m=max(nextpow2(x))
N=2.^m % 求x的长度对应的2的最低幂次m
n=1:N
if length(x)<N
x=[x,zeros(1,N-length(x))] % 若x的长度不是2的幂,补零到2的整数幂
end
nxd=bin2dec(fliplr(dec2bin([1:N]-1,m)))+1 % 求1:2^m数列序号的倒序
y=x(nxd) % 将x倒序排列作为y的初始值
for mm=1:m % 将DFT作m次基2分解,从左到右,对每次分解作DFT运算,共做m级蝶形运算,每一级都有2^(mm-1)个蝶形结
Nz=2^mmu=1 % 旋转因子u初始化为WN^0=1
WN=exp(-i*2*pi/Nz) % 本次分解的基本DFT因子WN=exp(-i*2*pi/Nz)
for j=1:Nz/2 % 本次跨越间隔内的各次蝶形运算,在进行第mm级运算时需要2^(mm-1)个 蝶形
for k=j:Nz:N % 本次蝶形运算的跨越间隔为Nz=2^mm
kp=k+Nz/2 % 蝶形运算的两个因子对应单元下标的关系
t=y(kp)*u % 蝶形运算的乘积项
y(kp)=y(k)-t % 蝶形运算
y(k)=y(k)+t % 蝶形运算
end
u=u*WN % 修改旋转因子,多乘一个基本DFT因子WN
end
end
y1=fft(x) %与系统自带fft函数实现值对比
mag1=abs(y)
subplot(2,1,1)
stem(n,x)
title('输入序列x(n)')
subplot(2,1,2)
stem(n,mag1)
title('8点FFT计算结果')
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)