方波信号傅里叶级数展开

芒芒生打椰 2019-06-02 02:40:36
clc; clear; close all; syms x; %定义符号变量x用于积分'int()'的计算 t=0:0.001:4; T=1; %周期 w=2*pi/T; y=max(square(w*t),0); %max()最大值为1,最小值为0,方波s(t) a0=1; %系数a0=(2/T)*int(1,x,0,T/2)=1; n=5; %展开项数 %求和 f1=0; for k=1:n an1=(2/T)*int(1*cos(k*w*x),x,0,T/2); %系数an bn1=(2/T)*int(1*sin(k*w*x),x,0,T/2); %系数bn f1=f1+an1*cos(k*w*t)+bn1*sin(k*w*t); end F1=f1+0.5; %a0/2=0.5; m=20; %展开项数 f2=0; %求和 for k=1:m an2=(2/T)*int(1*cos(k*w*x),x,0,T/2); %系数an bn2=(2/T)*int(1*sin(k*w*x),x,0,T/2); %系数bn f2=f2+an2*cos(k*w*t)+bn2*sin(k*w*t); end F2=f2+0.5; %a0/2=0.5 %图形的显示 figure; plot(t,y,'b',t,F1,'r',t,F2,'g'); legend('s(t)原图y','项数为5时的展开式图F1','项数为20时的展开式图F2'); title('s(t)及其傅里叶展开'); xlabel('t'); ylabel('y or F1 or F2');
...全文
2001 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

3,424

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 其他开发语言
社区管理员
  • 其他开发语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧