• ベストアンサー

複素数のプログラムの組み方

複素数のプログラムの組み方 今自分はy=exp(-jkx)という式のプロットをするプログラムを組んでいます。 しかしexpの()の中はdouble型しか定義できないということがわかったのでオイラーの 公式よりcos(kx)-isin(kx)と変換してプログラムを組んでいるのですがなぜか y=xのグラフになってしまいます。isin(kx)の方に問題があると思いますが #include <complex.h>もできています… どなたか式の作り方を教えて頂けないでしょうか? よろしくお願い致します。

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

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

double complex k, x; だと仮定して, double complex y = cexp(I * k * x); でよいと思いますが。 または,<tgmath.h>をインクルードして, double complex y = exp(I * k * x); とか。 あと,問題点がプロットにあるのか式にあるのかちゃんと区別した方がよいですよ。 例えばprintfで出力した時に値が正しいことは確認していますか。

tropical_123
質問者

お礼

返事が遅れてしまい大変申し訳ございません。 ありがとうございました。

その他の回答 (1)

  • qppi_tbo
  • ベストアンサー率33% (1/3)
回答No.2

complex.hを使ったことが無いので、ご質問の回答として適しているか分かりませんが、 複素平面上にプロットするなら、横軸x、縦軸yとはならないと思うのですが。 横軸はあくまで実軸、縦軸は虚軸。

tropical_123
質問者

お礼

返事が遅れてしまい大変申し訳ございません。 ありがとうございました。

関連するQ&A

専門家に質問してみよう