天天看點

【原創】開源Math.NET基礎數學類庫使用(01)綜合介紹前言1.Math.NET基本介紹 2.Math.NET Numerics3.Math.NET Symbolics4.Math.NET Filtering5.Math.NET Spatial6.其他

  幾年前接觸這個元件的時候,隻需要在.net平台進行一些正常的微積分計算,功能還比較少,隻限于正常的數值計算,現在已經功能越來越多了,應該是目前最好的替代matlab進行數值計算的.net元件。本文及接下來的幾篇文章将詳細的對該元件進行介紹。還有在.net平台使用相關matlab混編進行數值計算的朋友該好好了解了解并學習下了。當然這個基礎元件的功能很廣泛,應該很多都比較喜歡吧。

  math.net初衷是開源建立一個穩定并持續維護的先進的基礎數學工具箱,以滿足.net開發者的日常需求。目前該元件主要分為以下幾個子項目,該元件同時也支援mono,而且支援的平台也非常廣泛(pcl portable profile 47: windows 8, silverlight 5,xamarin: android, ios)。 

   支援機率分布:離散型、連續型和多元

  僞随機數生成器 

  支援稀疏矩陣和向量的複雜的線性代數解決方法 

  lu, qr, svd, evd,cholesky分解 

  矩陣讀寫功能,支援matlab和一些分開的檔案 

  複數計算 

  特殊函數: gamma, beta, erf,bessel,struve 等等 

  插值,線性回歸,曲線拟合 

  數值積分,方程求解 

  描述性統計、統計直方圖,皮爾森相關系數 

  馬爾可夫鍊蒙特卡羅抽樣 

  基本的财務統計資料 

  傅裡葉變換(fft) 

  重載的數學操作符來簡化複雜的表達式 

  mono平台支援,可選支援英特爾數學核心庫(microsoft windows和linux) 

  可選更多的的f#擴充用法 

  math.net symbolics是一個math.net下一個基礎的代數計算項目,該項目的最終目的并不是要成為如maple,mathematica那樣一個完善的計算機代數計算系統。以前在做matlab.net混合程式設計的時候,經常就有人問為什麼混合程式設計的符号計算用不了,其實就是用不了,官方不支援,那怎麼辦,其實簡單的功能,就可以使用這個項目來完成。詳細的使用可以參考項目首頁的幫助文檔,接下來的文章也會加以介紹。

  math.net filtering是一個數字信号處理工具箱,提供了數字濾波器的基礎功能,以及濾波器應用到數字信号處理和資料流轉換的相關功能。

  是math.net下的一個幾何處理工具箱。

  math.net在發展過程中的一些其他項目如math.net iridium ,math.net classic, math.net linq algebra, math.net yttrium等都是曆史(有一些是實驗性的),現在都已經合并到上述幾個子項目中。

  相關源碼在本系列文章下載下傳完成後統一釋出,敬請關注。基本資料可以去官網下載下傳。