1

.NET / Linkプロトコルを使用してMathematica8を呼び出すC#ライブラリ(DLL)を作成しようとしています。具体的には、FFTなどに使用しています。現在、EvaluateToOutputFormを使用して、結果の文字列をdoubleに解析しています。Evaluate()とGetDoubleArray()を使用しようとすると、間違った次元のデータから読み取ろうとしているというエラーメッセージ(例外)が表示されます。Evaluate( "2 + 2")を使用してからGetInteger()を使用しても、待機中のデータが(基本的に)整数ではないというエラーで失敗します。

EvaluateToOutputForm()の問題は、たとえばAbs @ Fourier [data]から解析している数値が、重要な(たとえばかなり長い)入力に対して間違っていることです。何が悪いのかわかりません。ここの誰かが私を助けることができますか?

4

1 に答える 1

2

OutputForm は、実際には結果を表示する場合にのみ役立ちます。結果の数値の完全な精度を維持するため、ここでは InputForm を使用する必要があります。InputForm 構文は明確に定義されており、解析可能です。また、InputForm は、OutputForm のような疑似 2D フォーマットにはなりません。

于 2011-05-03T20:41:50.123 に答える