求助以下式子的傅里叶如何用matlab实现
来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/06/23 17:40:18
求助以下式子的傅里叶如何用matlab实现
x=0.5sin(0.7t),要将这个式子展开为如下图所示的傅里叶级数形式.
![](http://img.wesiedu.com/upload/5/6d/56dd397b1b419a806c9fe59b2f6f9794.jpg)
其中i=根号-1,w=0.7.ak为要求的傅里叶级数.
考虑N个谐波,如何求得此式的2N+1个傅里叶级数.
x=0.5sin(0.7t),要将这个式子展开为如下图所示的傅里叶级数形式.
![](http://img.wesiedu.com/upload/5/6d/56dd397b1b419a806c9fe59b2f6f9794.jpg)
其中i=根号-1,w=0.7.ak为要求的傅里叶级数.
考虑N个谐波,如何求得此式的2N+1个傅里叶级数.
![求助以下式子的傅里叶如何用matlab实现](/uploads/image/z/17817853-13-3.jpg?t=%E6%B1%82%E5%8A%A9%E4%BB%A5%E4%B8%8B%E5%BC%8F%E5%AD%90%E7%9A%84%E5%82%85%E9%87%8C%E5%8F%B6%E5%A6%82%E4%BD%95%E7%94%A8matlab%E5%AE%9E%E7%8E%B0)
先写两个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