我正在尋找使用變量,自定義運算符和用戶定義函數的.NET數學解析器... 由於今天我使用了muParser一個.NET的包裝版本),但我注意到它太慢了!使用變量,用戶自定義函數,自定義運算符的最佳免費C#數學解析器
有誰知道另一個數學分析器(免費!)的作品相當不錯的?
我試過NCalc,但它沒有變量,所以它失敗..
我正在尋找使用變量,自定義運算符和用戶定義函數的.NET數學解析器... 由於今天我使用了muParser一個.NET的包裝版本),但我注意到它太慢了!使用變量,用戶自定義函數,自定義運算符的最佳免費C#數學解析器
有誰知道另一個數學分析器(免費!)的作品相當不錯的?
我試過NCalc,但它沒有變量,所以它失敗..
我以前IronPython爲表達式求值。
我發現這三個截至今天,所有這些都支持變量和用戶自定義函數,但只似乎muParser支持運營商定製:
對於我的小玩具項目,我用Math Parser .NET去,因爲它支持^
爲權力而NCalc不和muParser有點不吸引我一樣多。還有一個好處:Math Parser .NET支持原生C#委託作爲自定義函數!其他圖書館提供的解決方案看起來並不那麼優雅。
你可以嘗試Mathos分析器(https://mathosparser.codeplex.com/),它允許您添加自定義運營商,自定義變量和自定義功能。它幾乎支持來自Math命名空間的所有操作,並且具有一組預先構建的操作符。由於解析器沒有那麼多的依賴關係,只需將源代碼粘貼到項目中(它少於500行代碼)就非常容易!
嘗試反諷(http://irony.codeplex.com)。它允許你解析表達式,你可以做所有事情:構建一個用於極快計算的代表,突出語法或者像我的項目一樣,轉換爲Latex並在數學公式中顯示它的表示形式。
你應該看看Jace.NET。 Jace是高性能的c#數學解析器,支持所有數學運算,變量和(定製)函數......它支持所有主要的微軟.NET平臺:.NET 4.x,Windows Phone 7 & 8,Windows Store。
更多的通用腳本語言不是數學解析器,但有一個給予好評,因爲OP沒有說明,如果他想這樣做象徵性的操作。 – Amy 2011-03-15 13:29:42
@Inuyasha其實當我在項目中使用它時,我只需要基本的+, - 和*計算器,即使沒有變量。所以使用腳本引擎看起來好像過度。但它使用起來非常簡單,所以我付出了努力。 – Max 2011-03-15 13:50:43
我覺得IronPythons是我的目的太慢了。我需要一個解析器,編譯公式,所以我也沒必要每次我要求它的時間來分析它.. – 2011-03-15 13:52:58