傅里叶逼近
《MATLAB程序设计实践》
科学计算的算法及其举例应用:
(1)、傅里叶逼近:
1.用法说明:对于连续周期函数,只要计算出其傅里叶展开级数即可,在Matlab中编程实现的连续函数的傅里叶逼近法函数为:FZZ。
功能:用傅里叶级数逼近已知的连续周期函数。
调用格式:[A0,A,B]=FZZ(func,T,n).
其中,func为已知函数;
T为已知函数的周期;
N为展开级数的项数;
A0为展开后的常数项;
A为展开后的余弦项系数;
B为展开后的正弦项系数。
2.源程序代码:
function [A0,A,B]=FZZ(func,T,n)
syms t;
func=subs(sym(func),sym('x'),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
3.举例说明:傅里叶逼近应用实例。用傅里叶级数(取5项)逼近函数x,输出系数值。
>>