在 MathLink 中设置 ComplexType
本文关键字:ComplexType 设置 MathLink | 更新日期: 2023-09-27 17:55:15
我还有一个。我尝试在 C# 中使用 Mathematica MathLink 中的ml.ComplexType = System.Type.GetType("Complex");
,但是当我尝试使用 GetComplexArray 读取数字时,它抛出了一个异常,指出我必须使用 IMathLink.SetComplexType()
方法,该方法似乎不存在。
有没有办法在不解析字符串的情况下做到这一点,因为我一辈子都无法正确地做到这一点?
SetComplexType 的文档在这里: http://reference.wolfram.com/mathematica/NETLink/ref/SetComplexType.html. 您也可以通过将"NETLink/ref/SetComplexType"粘贴到 Mathematica 文档中心来找到它。 这两个来源都表明,在 Mathematica 中使用之前,您必须执行 Needs["NETLink
]"。
供其他人参考,我自己发现了这个问题的答案。
您要做的是创建具有必要属性/方法(例如 System.Numerics.Complex
)的任何类的虚拟实例,此处名为 myVar
。现在假设ml
是IKernelLink
的实例,调用
ml.ComplexType = myVar.GetType();
然后,您可以使用 ml.GetComplex()
或 ml.GetComplexArray()
。