• ベストアンサー

gnuplotでグラフをだしたいのですがわからないです。

以下は二項分布のC言語プログラミングソースです。 #include<stdio.h> #include<stdlib.c> #include<math.h> void error(char *s) { printf("%s\n", s); } int main() { int k,m; double u,q,s,t; printf("m,u?"); scanf("%d%lf", &n,&u); q = 1 - p; s = t =pow(q, m); if (s == 0) error("mかu が大きすぎます。"); for (k = 0;k <m; k++) { printf("%4d %7.4f\n",k,s); t *= (m - k) * u / ((k + 1)*q); s += t; } printf("%4d %7.4f\n",m,s); return EXIT_SUCCESS; } この実行結果で出た数値をグラフ化をしたいのです。折線グラフでも、曲線グラフでも構わないので、おしえていただけないでしょうか???

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

No1さんのままだと余計なものまでくっついてくるので 補足しますが、 グラフに表示するために必要な数字のみを printfするようにしてNo.1さんのように やっったらいいと思います。 また、いちいち ./プログラム名 > 結果ファイルと やるのがめんどくさいなら fprintfでファイル出力しても いいかと思いますが…。 あとは参考URLのgnuplotのやり方を 参考にしてみてもいいと思います。

参考URL:
http://t16web.lanl.gov/Kawano/gnuplot/
nishidakun
質問者

お礼

かなりありがとうございます。これでグラフが出ることができました。かなり遅くなりましたが御礼をもうしあげます。このgnuplotかなりかんたんですね。epsファイルに保存して、latexにだせば、ある意味excelよりもきれいなグラフができますよ。

その他の回答 (1)

noname#15808
noname#15808
回答No.1

このプログラムの実行ファイル名がa.outだとすると ./a.out > dist.dat として,実行結果をファイルに出力する. 次にgnuplotを実行し plot 'dist.dat' w lines とする.

関連するQ&A

専門家に質問してみよう