新浪博客

周期函数傅里叶变换

2010-03-27 21:59阅读:
当被逼进函数为周期函数时,用代数多项式来逼近效率不高,而且误差较大,这时用傅里叶来逼近是比较好的。
下面我给大家介绍一下连续周期函数和离散周期函数福利也逼近的具体做法:
1、 连续周期函数的福利也逼近
对于连续周期函数需要用到的函数是fzz();
调用格式:[A0,A,B]=fzz(func,T,n)。
其中,func 为已知函数;
T为已知函数的周期;
N为展开级数的项数;
A0为展开的常数项;
A 为展开后的余弦系数;
B为展开后的正弦项系数;
下面是fzz的源代码:
function [A0,A,B]=fzz(func,T,n)
syms t;
func=subs(sym(func),findsym(sym(func)),sym(‘t’));
A0=int(sym(func),t,-T/2,T/2)/T;
for (k=1:n)
A(k)=int(func*cos(2*pi*k*t/T),t,-T/2,T/2)*2/T;
A(k)=vpa(A(k),4);
B(k)= int(func*sin(2*pi*k*t/T),t,-T/2,T/2)*2/T;
B(k)=vpa(B(k),4);
end
再加一个程序实例吧:
取五项逼近函数x
输入以下命令:
[A0,A,B]=fzz(‘x’,2*pi,5);
A0 =

0



A =

[ 0., 0., 0., 0
., 0.]



B =

[ 2., -1., .6667, -.5000, .4000]
会了吧?
ps:别忘了定义fzz函数啊!

我的更多文章

下载客户端阅读体验更佳

APP专享