如何在matlab中绘制这个gibbs傅里叶图

时间:2012-10-16 15:06:54

标签: matlab

请有人可以帮助我,我需要用gibbs振荡来绘制这个波浪闭合的牙齿,我有一天要做它而且我从来没有用Matlab绘图。

这是我试图为gibbs振荡波编程的图:http://imageshack.us/a/img585/9724/kakai12.jpg

这就是我所做的,但如果它以这种方式运作则不是真的。

clear all; 
syms x n; 
f=(-4)*(x-pi); 
T=2; w0=((2*pi)/T); 
fb=f*sin(n*w0*x); 
bn=(2/x)*int(fb,x,0,2*pi); 
x=0:1/(1000):15; 
bn_12=bn*sin(n*w0*x); 
c=1; j=100; 
fs=symsum(bn_12,n,c,j)

请有人帮忙。

1 个答案:

答案 0 :(得分:0)

现在无法测试,但这样的事情应该有效:

t = -4:0.01:4 %Create numerical vector of time
T = 2; %Period, adjust as suitable
V = 4; %Adjust to appropriate amplitude
w0 = 2*pi/T; %Angular frequency

line = (V/pi) * w0 * t - V; %Start with straight line with correct gradient and y intercept
%Then subtract 2*V for every 2*pi
step = floor((w0 * t) / (2*pi))*2*V; %So step should be a step function that steps up 2V every 2pi
sawtooth = line  - step;

plot(w0*t, sawtooth)