第2章 MATLAB数值计算(10)

2019-08-31 19:40

X=fft(x,N) %对离散序列进行离散傅立叶变换

说明:x可以是向量、矩阵和多维数组;N为输入变量x的序列长度,可省略,如果X的长度小于N,则会自动补零;如果X的长度大于N,则会自动截断;当N取2的整数幂时,傅立叶变换的计算速度最快。通常取大于又最靠近x长度的幂次。

一般情况下,fft求出的函数为复数,可用abs及angle分别求其幅值和相位。 ? ifft:一维快速傅立叶逆变换。 语法:

X=ifft(x,N) %对离散序列进行离散傅立叶逆变换

【例2.27】利用傅立叶变换和卷积公式求两个离散序列的卷积。

已知:A(n)???0?1其它?0 B(n)??n?2,3,?10?1其它

n?4,5,?9 A=ones(1,10); A(1)=0

A =

0 1 1 1 1 1 1 1 1 1 B=ones(1,9); B([1 2 3])=0

B =

0 0 0 1 1 1 1 1 1 C=conv(A,B) %计算卷积

C =

Columns 1 through 13

0 0 0 0 1 2 3 4 5 6 6 6 6

Columns 14 through 18

5 4 3 2 1 N=32; %序列长度为32

AF=fft(A,N); %傅立叶变换 BF=fft(B,N); CF=AF.*BF;

CC=real(ifft(CF)); %过滤掉虚部

图2.10 卷积结果

程序分析:可以看到直接计算的卷积结果C和用傅立叶变换求卷积的CC结果相同,如图2.10所示。其中序列长度N的取值应为2的整数幂,必须不小于length(A)+length(B)-1。

2.6.4向量函数

? 两个向量的矢量积(叉乘) 语法: cross(a,b)

? 两个向量的数量积(点乘) 语法: dot(a,b)

说明:通常a、b为包含3个元素的向量。 【例2.28】计算向量的叉乘和点乘。

a=[1 2 3]; b=[4 5 6]; c=cross(a,b)

c =

-3 6 -3 c=dot(a,b)

c =

32


第2章 MATLAB数值计算(10).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2016年内蒙古财经大学会计专硕学制、学费、招生人数、网报数据、

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: