首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >傅里叶级数MATLAB绘图

傅里叶级数MATLAB绘图
EN

Stack Overflow用户
提问于 2015-02-25 18:38:21
回答 1查看 251关注 0票数 0

我试图用各种谐波绘制一个分解后的三角波,结果我被困住了。

我能够计算系数值,它们是矢量形式,但我不能把它转换成输出信号并绘制它。我抄袭了我迄今所做的事。

我只是有点困惑,希望能有个方向。

代码语言:javascript
运行
复制
syms t k w_0;

w_0=(2*pi);
k=[1:4]

a_k=(2/1)*(int(2*t*cos(k*w_0*t),t,0,.5)+(int((2-2*t)*cos(k*w_0*t),t,.5,1)))
b_k=(2/1)*(int(2*t*sin(k*w_0*t),t,0,.5)+(int((2-2*t)*sin(k*w_0*t),t,.5,1)))
a_0=(int(2*t,t,0,.5)+int(2-2*t,t,.5,1))


t=[0:.1:10];

%x=a_0+(symsum((a_k.*cos(w_0*k*t)+b_k.*sin(w_0*k*t)),1,2))

for i=[1:4]
    x=a_0+a_k(i)*cos(w_0*i.*t)+b_k(i)*sin(w_0*i.*t)
end

plot(t,x)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-25 18:51:51

你似乎做的一切都是正确的,但你没有把你的波分量相加在一起。您只是一个接一个地将它们分配给x,覆盖最后一个。

试一试

代码语言:javascript
运行
复制
x = 0;
for i=[1:4]
    x = x + a_0+a_k(i)*cos(w_0*i.*t)+b_k(i)*sin(w_0*i.*t)
end
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28727004

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档