我還有一個。我嘗試在C#中使用Mathematica MathLink中的ml.ComplexType = System.Type.GetType("Complex");
,但是當我嘗試使用GetComplexArray讀取數字時,它拋出了一個異常,聲明我必須使用方法IMathLink.SetComplexType()
,該方法似乎不存在。在MathLink中設置ComplexType
有沒有辦法做到這一點不解析字符串,因爲我不能爲我的生活做到這一點正確嗎?
我還有一個。我嘗試在C#中使用Mathematica MathLink中的ml.ComplexType = System.Type.GetType("Complex");
,但是當我嘗試使用GetComplexArray讀取數字時,它拋出了一個異常,聲明我必須使用方法IMathLink.SetComplexType()
,該方法似乎不存在。在MathLink中設置ComplexType
有沒有辦法做到這一點不解析字符串,因爲我不能爲我的生活做到這一點正確嗎?
對於其他人的參考,我發現這個問題的答案一個我自己。
你要做的就是創建一個虛擬實例具有必要的屬性/方法(如System.Numerics.Complex
)任何類,這裏命名myVar
。現在假設ml
是IKernelLink
實例,調用
ml.ComplexType = myVar.GetType();
然後可以使用ml.GetComplex()
或ml.GetComplexArray()
。
SetComplexType的文檔位於:http://reference.wolfram.com/mathematica/NETLink/ref/SetComplexType.html。您也可以通過將「NETLink/ref/SetComplexType」粘貼到Mathematica文檔中心來查找。這兩個消息來源指出,必須執行Needs["NETLink
]」在數學才能使用。
我正在嘗試在C#中執行此操作。我在MathLink中將SetComplexType發送給MMA嗎? – PrinceBilliard 2011-05-04 18:56:46
雖然我感謝你的回答,但它是用於設置Mathematica中的類型。我回答我自己的問題完全用C#來完成。 – PrinceBilliard 2011-05-07 00:57:52
請允許我歡迎您來到StackOverflow,並提醒我們通常在這裏做的三件事:1)當您得到幫助時,嘗試給予它**在您的專業領域回答問題** 2)['閱讀常見問題' ](http://tinyurl.com/2vycnvr)3)當你看到好的問答時,用['灰色三角形](http://i.imgur.com/kygEP.png)系統的可信度基於用戶通過分享知識獲得的聲譽。還記得接受更好地解決您的問題的答案,如果有的話,['通過按複選標記符號](http://i.imgur.com/uqJeW.png) – 2011-05-04 18:44:49
您是否檢查過(http:// reference。 wolfram.com/mathematica/NETLink/ref/net/Wolfram.NETLink.IMathLink.ComplexType.html)? – 2011-05-04 18:49:04