C程序
#include<stdio.h>
#define pi 3.1415926
main()
{
int i;
double s, t;
for(i = 0; i <= 800*pi; i++) //因为t=i/100.0,所以t的取值范围为[0,8*pi]
{
t = i / 100.0; //pi个单位内取100个样本点
if(t>=0 && t<=2*pi)
s = 1/pi*t-1;
if(t>2*pi && t<=4*pi)
s = 1/pi*t-3;
if(t>4*pi && t<=6*pi)
s = 1/pi*t-5;
if(t>6*pi && t<=8*pi)
s = 1/pi*t-7;
printf("%f\t%f\n", t, s);
}
}
gnuplot绘图
matlab代码
x = 0 : 0.01 :8*pi;
y = sawtooth(x);
plot(x, y);
axis([0 8*pi -1.5 1.5])