0

我还有一个。我尝试ml.ComplexType = System.Type.GetType("Complex");在 C# 中使用 Mathematica MathLink,但是当我尝试使用 GetComplexArray 读取数字时,它抛出了一个异常,指出我必须使用IMathLink.SetComplexType()似乎不存在的方法。

有没有办法在不解析字符串的情况下做到这一点,因为我一生都不能正确地做到这一点?

4

2 回答 2

1

SetComplexType 的文档在这里:http ://reference.wolfram.com/mathematica/NETLink/ref/SetComplexType.html 。您也可以通过将“NETLink/ref/SetComplexType”粘贴到 Mathematica 文档中心来找到它。这两个来源都表明您必须Needs["NETLink在 Mathematica 中使用之前执行 ]"。

于 2011-05-04T18:48:02.343 回答
1

供其他人参考,我自己发现了这个问题的答案。

您所做的是创建具有必要属性/方法(例如System.Numerics.Complex)的任何类的虚拟实例,此处命名为myVar. 现在假设ml是一个实例IKernelLink,调用

ml.ComplexType = myVar.GetType();

然后,您可以使用ml.GetComplex()ml.GetComplexArray()

于 2011-05-07T00:56:13.883 回答