- ベストアンサー
複素数のプログラムの組み方
複素数のプログラムの組み方 今自分はy=exp(-jkx)という式のプロットをするプログラムを組んでいます。 しかしexpの()の中はdouble型しか定義できないということがわかったのでオイラーの 公式よりcos(kx)-isin(kx)と変換してプログラムを組んでいるのですがなぜか y=xのグラフになってしまいます。isin(kx)の方に問題があると思いますが #include <complex.h>もできています… どなたか式の作り方を教えて頂けないでしょうか? よろしくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
double complex k, x; だと仮定して, double complex y = cexp(I * k * x); でよいと思いますが。 または,<tgmath.h>をインクルードして, double complex y = exp(I * k * x); とか。 あと,問題点がプロットにあるのか式にあるのかちゃんと区別した方がよいですよ。 例えばprintfで出力した時に値が正しいことは確認していますか。
その他の回答 (1)
- qppi_tbo
- ベストアンサー率33% (1/3)
回答No.2
complex.hを使ったことが無いので、ご質問の回答として適しているか分かりませんが、 複素平面上にプロットするなら、横軸x、縦軸yとはならないと思うのですが。 横軸はあくまで実軸、縦軸は虚軸。
質問者
お礼
返事が遅れてしまい大変申し訳ございません。 ありがとうございました。
お礼
返事が遅れてしまい大変申し訳ございません。 ありがとうございました。