求助以下式子的傅里叶如何用matlab实现
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/21 01:55:31
求助以下式子的傅里叶如何用matlab实现
x=0.5sin(0.7t),要将这个式子展开为如下图所示的傅里叶级数形式.
其中i=根号-1,w=0.7.ak为要求的傅里叶级数.
考虑N个谐波,如何求得此式的2N+1个傅里叶级数.
x=0.5sin(0.7t),要将这个式子展开为如下图所示的傅里叶级数形式.
其中i=根号-1,w=0.7.ak为要求的傅里叶级数.
考虑N个谐波,如何求得此式的2N+1个傅里叶级数.
先写两个m文件 计算系数
function bn=fbn(f,n)
syms x
bn=int(f*sin(n*x),x,-pi,pi)/pi; 这个文件名是fbn.m
function an=fan(f,n)
syms x
an=int(f*cos(n*x),x,-pi,pi)/pi; 文件名fan.m
下边是主程序
syms x n
N=10;
f=0.5*sin(0.7*x);
a0=fan(f,0);
a=zeros(1,N);
b=zeros(1,N);
for i=1:N
a(i)=fan(f,i);
b(i)=fbn(f,i);
end
fx=a0/2;
for i=1:N
fx=fx+a(i)*cos(i*x)+b(i)*sin(i*x);
end
fx
function bn=fbn(f,n)
syms x
bn=int(f*sin(n*x),x,-pi,pi)/pi; 这个文件名是fbn.m
function an=fan(f,n)
syms x
an=int(f*cos(n*x),x,-pi,pi)/pi; 文件名fan.m
下边是主程序
syms x n
N=10;
f=0.5*sin(0.7*x);
a0=fan(f,0);
a=zeros(1,N);
b=zeros(1,N);
for i=1:N
a(i)=fan(f,i);
b(i)=fbn(f,i);
end
fx=a0/2;
for i=1:N
fx=fx+a(i)*cos(i*x)+b(i)*sin(i*x);
end
fx