• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:MathematicaのCFormについて)

MathematicaのCFormについて

このQ&Aのポイント
  • MathematicaのCFormを使うとべき乗はPower、複素数はComplexと出力されますが、Cの環境ではpowとcomplex<double>に直さないと動きません。
  • CFormの出力がpowやcomplex<double>になるようにするにはどのような設定や操作が必要でしょうか?
  • 現在は応急処置としてCForm[expr]/.{Power -> pow, ArcTan -> atan2, Sin -> sin, Cos -> cos}としていますが、正しい式が出力されているのか疑問です。Complexのみ書き換えができませんでした。

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

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

StringReplace[ToString[CForm[expr]], "Complex" -> "complex<double>"] では流石に乱暴すぎでしょうか。 Power等は、mdefs.h(mathematica同梱)をインクルードすると使えます。 ただし、Complexは含まれていません。 ちなみに、私はmdefs.hを使わずに、自前のマクロで置き換えています。

関連するQ&A