質問するログイン新規登録
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

gnuplot

gnuplot(ニュープロット)は、2次元や3次元のグラフ作成ができるソフトウェアです。さまざまな数式やデータ集計などのグラフを描写することが可能で、特に2次元グラフを描画する機能は強力です。

Q&A

解決済

2回答

4460閲覧

vscode2022でc言語でgnuplotを使ってグラフを出したい

HRT

総合スコア2

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

gnuplot

gnuplot(ニュープロット)は、2次元や3次元のグラフ作成ができるソフトウェアです。さまざまな数式やデータ集計などのグラフを描写することが可能で、特に2次元グラフを描画する機能は強力です。

0グッド

0クリップ

投稿2022/02/18 05:30

編集2022/02/18 06:18

0

0

visial stdio 2022でc言語でgnuplotを使用して. f(x)=|Sin(x / 5) * 10のグラフを出そうとしているのですが、実行すると
'gnuplot' は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されていません。
このような結果になってしまいます。pathを通したりしてもうまくいきません。
Terminalでgnuplot --versionとするとgnuplot: The term 'gnuplot' is not recognized as a name of a cmdlet, function, script file, or executable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.となります。

コードはこちらです。

#include<stdio.h> #include<math.h> #define GNUPLOT_PATH "C:/gnuplot/bin/gnuplot.exe" void main(void) { FILE* hoge; hoge = _popen(GNUPLOT_PATH, "w"); fprintf(hoge, "set xlabel\"(x/5)*10\n"); fprintf(hoge, "set ylabel\"sin\n"); fprintf(hoge, "set xrange[-10:10]\n"); fprintf(hoge, "set yrange[-1:1]\n"); fprintf(hoge, "plot sin(x/5)*10;\n"); fflush(hoge); fprintf(hoge, "pause mouse\n"); fflush(hoge); _pclose(hoge); }

何か間違いがあれば教えていただけるとありがたいです

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

y_waiwai

2022/02/18 05:33

このままではコードが読みづらいので、質問を編集し、</>(コードの挿入)ボタンを押し、出てくる’’’の枠の中にコードを貼り付けてください
HRT

2022/02/18 06:19

ご指摘ありがとうございます。
guest

回答2

0

ベストアンサー

hoge = _popen(GNUPLOT_PATH, "w");

これって、そのファイルを実行するんではなく、書き換えてしまってますね

投稿2022/02/18 05:50

y_waiwai

総合スコア88180

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ソースの中ではフルパスを指定しているので,パスを通そうと指定した場所に実行ファイルが存在することが必要です。

そこで実行ファイルの位置の確認です。まず,ターミナルからの確認ですが,
C:\gnuplot\bin\gnuplot.exe --versionでバージョン表示されるかどうか確認してみて下さい。

次に,インストーラでは標準でインストールされる場所,
& 'C:\Program Files\gnuplot\bin\gnuplot.exe' --versionで表示されるかどうか試してみて下さい。(入力の表示はPower Shellの場合)

また,& 'C:\Program Files (x86)\gnuplot\bin\gnuplot.exe' --versionも可能性がありますね。

下の二つどちらかでバージョンが表示できるようなら,

c

1#define GNUPLOT_PATH "\"C:/Program Files/gnuplot/bin/gnuplot.exe\""

もしくは

c

1#define GNUPLOT_PATH "\"C:/Program Files (x86)/gnuplot/bin/gnuplot.exe\""

でうまくいく可能性が高いと思います。

システムの環境変数PATHを実行ファイルがあるフォルダに通した後なら

c

1#define GNUPLOT_PATH "gnuplot.exe"

でもうまくいくと思いますが,システムを再起動しないと反映しないと思います。

投稿2022/02/18 11:25

ujimushi_sradjp

総合スコア2192

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.30%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問