自分自身が大苦戦したので、覚書。
vscodeを使用
gnuplotのimport機能を使用。
このサイトを参考にした。
ビット数があっているのに、上のページに書いていエラーが出た。
対処、cdで\plugin まで移動したら成功した。
pythonで定義した関数をcで出力
y=str(y(x))
filename = f"ファイル.c"
with open(filename, mode="w") as f:
f.write("y(x)=")
f.write(y)
これで出力したc言語の数式を下のプログラムに入れ込む。
ただし、変数一つの場合。
#include "gnuplot_plugin.h"
#include <math.h>
DLLEXPORT struct value dcdcy(int nargs, struct value *arg, void *p)
{
double x = RVAL(arg[0]);
struct value r;
r.type = CMPLX;
/* Enforce a match between the number of parameters declared
* by the gnuplot import command and the number implemented here.
*/
RETURN_ERROR_IF_WRONG_NARGS(r, nargs, 1);
/* Sanity check on argument type */
RETURN_ERROR_IF_NONNUMERIC(r, arg[0]);
r.v.cmplx_val.real = "使用する数式";
r.v.cmplx_val.imag = 0.0;
return r;
}
dllにするために、ターミナルで実行
gcc -shared -o ”ファイル名”.dll ファイル名.c
これで、importできるdllファイルが作成できた。