Maximaで出力した数式をCで使う

Maximaで数式を出力したものをそのままCopyすると、2乗とかの部分が「^2」表記になってしまう*1
これでは他のプログラムにぶち込もうにも対応していないので困っていたところ。
わざわざMaximaで式を出すっていうのは結構な長さの式の場合が多く、置換していくにも面倒でした。


福井大学の浪花 智英氏のサイト*2で、この問題を解決する便利ツールが配布されている事を発見。
講義資料→Maxima→ページ下部「cform.lisp」をダウンロード

  • 「cform.lisp」を適当な場所に保存
  • Maximaを起動
  • File→Load Packageからcform.lispを読み込み
    • load("C:/...cformまでのパス.../cform.lisp")$でも可能。
  • これでcform(式);と与えることで式をプログラムで使える形にしてくれる。


今のところ累乗をpow()に変えてくれることは確認。
他の置き換えはどうなんだろう、というか正直他に問題があまり無いような気が...?
使っていくにつれて気付くかな、そしたらまたメモします。

*1:Texとかなら問題ない、というか実はCopy LaTexとかあるので便利。他にはCopy Imageなんかもある

*2:http://www.rbt.his.u-fukui.ac.jp/~naniwa/index_j.html