私は別のものを持っています。Mathematica MathLinkを使用ml.ComplexType = System.Type.GetType("Complex");
して C# で使用しようとしましたが、GetComplexArray で数値を読み取ろうとすると、IMathLink.SetComplexType()
存在しないように見えるメソッドを使用する必要があることを示す例外がスローされました。
文字列を解析せずにこれを行う方法はありますか?
私は別のものを持っています。Mathematica MathLinkを使用ml.ComplexType = System.Type.GetType("Complex");
して C# で使用しようとしましたが、GetComplexArray で数値を読み取ろうとすると、IMathLink.SetComplexType()
存在しないように見えるメソッドを使用する必要があることを示す例外がスローされました。
文字列を解析せずにこれを行う方法はありますか?
SetComplexTypeのドキュメントはここにあります:http://reference.wolfram.com/mathematica/NETLink/ref/SetComplexType.html。これは、「NETLink / ref/SetComplexType」をMathematicaドキュメントセンターに貼り付けることでも見つけることができます。これらのソースは両方ともNeeds["NETLink
、Mathematicaで使用する前に]"を実行しなければならないことを示しています。
他の誰かの参考のために、私は自分でこれに対する答えを発見しました。
必要なプロパティ/メソッド ( などSystem.Numerics.Complex
) を持つ任意のクラスのダミー インスタンスを作成し、ここでは という名前を付けmyVar
ます。ml
が のインスタンスであるとIKernelLink
仮定すると、
ml.ComplexType = myVar.GetType();
ml.GetComplex()
その後、またはを使用できますml.GetComplexArray()
。