本文主要是介绍别人的傅氏级数展开式函数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在 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 为傅氏级数展
开式.
这篇关于别人的傅氏级数展开式函数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!