
C言語からgnuplotを呼び出したいのですが、一瞬表示されてすぐ消えてしまいます。
プログラムは以下のように書きました。
---------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(int argc, char **argv)
{
FILE *gid;
int i;
double x;
gid=popen("gnuplot -persist","w");
for (i=0; i<100 ;i++){
x = 0.03*i;
fprintf(gid,"plot sin(x-%f*pi)\n",x);
}
pclose(gid);
}
---------------------------------------------------------------
この後、
gcc test.c -lm
./a.out
でコンパイル、実行しました。
かなり初心者なので初歩的な質問かもしれませんがよろしくお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
>C言語からgnuplotを呼び出したいのですが、一瞬表示されてすぐ消えてしまいます。
消えるという意味は理解できませんが、「plot sin(x-%f*pi)」の定数項「%f*pi」が 0.03 刻みで変わる sin(x-const) のサインカーブを描くよう GnuPlot に命令をC言語で作ろうというものですよね。
一瞬表示で消えてしまうという不満のようですから、表示にディレイ(pause)を入れましょう。なお、GnuPlot に sin(x-const) の曲線を描くよう命令するもので、sin(x-const) の値を描画しろというものではありませんから、math.h と -lm オプションは不要です。
コンパイルして実行すると、グラフが右の方にスクロールします。
/* SIN(x - aπ) を描く
* file neme: test.c
* compile : gcc test.c
* execution: ./a.out
* by MacOSX
*/
#include <stdio.h> //fprintf(), popen(), pclose()
int main(void)
{
FILE *gid;
int i;
gid=popen("gnuplot -persist","w");
for (i=0; i<100 ;i++){
fprintf(gid, "plot sin(x-%.2f*pi)\n", 0.03*i);
fprintf(gid, "pause 0.2\n");
}
pclose(gid);
return 0;
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
wstringの主力
-
アンワインド セマンティクス
-
C++での <iostream.h>と<iostre...
-
最早開始時間と最遅完了時刻を...
-
C言語 エラーの原因がわからな...
-
信頼区間の1.96や1.65ってどこ...
-
「Aに対するBの割合」と「Aに対...
-
For文の終了値を関数にしても問...
-
配列をnビットシフトする
-
数学 一次関数 関数 y=-3/4x+k(...
-
std::set<int> で、ある値が何...
-
Enterキーを押されたら次の処理...
-
sscanfとscanfの違いがよくわか...
-
main.c:7:43: warning: implici...
-
#define _CRT_SECURE_NO_WARNIN...
-
InvokeMemberメソッドとは何を...
-
【#define】 defineで定義した...
-
2の補数を計算するプログラム
-
a^2の√=a が成り立たない場合
-
2÷3などの余りについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VC++で文字列から任意の文字を...
-
C++でShowCursorを使いたい。
-
enumの値から定義名を文字列化...
-
空ENTERの判別
-
VxWorks 6.4ソケット接続につい...
-
C++で、テキストファイルを一行...
-
switch文のエラーについて
-
_tcscat がうまくいきません(V...
-
C言語からgnuplot呼び出し
-
C言語のエラーを修正したい
-
std::map の const 修飾について
-
なぜ、C++の標準ヘッダをインク...
-
vc++の使い方について
-
gccでコンパイル時のエラー
-
このプログラミング誰か教えて...
-
STLでポインタのリストをsort()...
-
構造体配列のvectorへの変換と...
-
#defineの使い方について
-
#define中の#のエスケープ
-
リモートデスクトップの接続元I...
おすすめ情報