• ベストアンサー

Mathematica:警告の表示を消去する関数など

数学ソフトのMathematicaで、関数を実行した際に出力される警告などの表示を出力させない、あるいは消去する関数(あるいは何らかの設定)をご存知のかたいらっしゃいませんでしょうか??たとえばGeneral::stopやInverse::lucといった警告です。 具体的には、NonlinearFitのような出来合の関数をForループの中で使っているのですが、この手の警告がループの数だけ表示されるので、ループの中に警告表示を消去するような関数を埋め込めればと考えています。なにか解決策をお教えいただければ助かります。

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

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

例えばブロック関数をいれると積分の際のエラーメッセージは出ません。 Block[{$Messages = {}}, NIntegrate[ (E^(-x^2)) Cos[x]/Sin[x], {x, 0, Infinity}]] しかし警告は重要なメッセージなのでブロックすることは進めません。メッセージが出ないような方法を探すことの方が大事です。何故ならメッセージはmathematicaの内部プログラムで何らかの問題があることを知らせてくれているわけなので、極端な話結果が意味あるものかどうかは全く保障されないということです。 例えば積分などでは、根本的な問題を解決してエラーがでないようにすることが大抵の場合できます。 それは分っているけどメッセージをブロックしたいなら上記のBlockを使ってください。

rei1701
質問者

お礼

情報ありがとうございました。助かりました。

関連するQ&A