#include #include #define NX 720 int main(void){ FILE *gp; int i; double dx, x[NX+1], y1[NX+1], y2[NX+1], y3[NX+1]; /* ---- データ作成 ---- */ dx=4*M_PI/NX; for(i=0; i<=NX; i++){ x[i]=-2*M_PI+i*dx; y1[i]=sin(x[i]); y2[i]=cos(x[i]); y3[i]=tan(x[i]); } /* ---- グラフ作成の準備 ---- */ gp = popen("gnuplot -persist","w"); fprintf(gp, "set xrange [-6.5:6.5]\n"); fprintf(gp, "set yrange [-1.5:1.5]\n"); fprintf(gp, "plot '-' with lines linetype 1 title \"sin\",\ '-' with lines linetype 2 title \"cos\",\ '-' with lines linetype 3 title \"tan\"\n"); /* ---- 最初のデータ(sin)の書き込み ---- */ for(i=0; i<=NX; i++){ fprintf(gp,"%f\t%f\n", x[i], y1[i]); } fprintf(gp,"e\n"); /* ---- 2番目のデータ(cos)の書き込み ---- */ for(i=0; i<=NX; i++){ fprintf(gp,"%f\t%f\n", x[i], y2[i]); } fprintf(gp,"e\n"); /* ---- 3番目のデータ(tan)の書き込み ---- */ for(i=0; i<=NX; i++){ fprintf(gp,"%f\t%f\n", x[i], y3[i]); } fprintf(gp,"e\n"); pclose(gp); return 0; }