0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Pythonからc言語を通ってPnuplotに出力

Last updated at Posted at 2023-10-26

自分自身が大苦戦したので、覚書。
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ファイルが作成できた。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?