别人的傅氏级数展开式函数

在 Matlab 中,没有专门求傅氏级数的函数调用,但我们可编写一个函数来求 f (x)在
[-l,l]上的 Fourier 级数.
打开 Matlab 的 M 文件编辑窗口,输入如下命令行: 
function [A,B,F]=fseries(f,x,n,a,b) 
if nargin==3,a=-pi;b=pi;end 
L=(b-a)/2; 
if a+b~=0,f=subs(f,x,x+L+a);end %若 a+b 1 0,则执行后面语句;否则执行下面语句 
A=int(f,x,-L,L)/L;B=[];F=A/2; 
for i=1:n 
  an=int(f*cos(i*pi*x/L),x,-L,L)/L; 
bn=int(f*sin(i*pi*x/L),x,-L,L)/L;A=[A,an];B=[B,bn]; 
  F=F+an*cos(i*pi*x/L)+bn*sin(i*pi*x/L); 
end 
if a+b~=0,F=subs(F,x,x-L-a);
end 


输入完毕后,单击“保存”按钮,自动以名为 fseries 保存,可关闭 M 文件编辑窗口.该
函数的调用格式如下: 


syms x 
f=f(x) 
[A,B,F]=fserier(f,x,n,a,b) 


说明:其中,f 为给定函数,x 为自变量,n 为展开项数,a,b 为 x 的积分区间,若省略
a,b,则默认为求 f(x)在[-p,p ]上傅氏级数展开式,A、B为傅立叶系数,F 为傅氏级数展
开式
. 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值