【轉】開源Math.NET基礎數學類庫使用(01)綜合介紹

前言

  幾年前接觸這個組件的時候,只須要在.NET平臺進行一些常規的微積分計算,功能還比較少,只限於常規的數值計算,如今已經功能愈來愈多了,應該是目前最好的替代Matlab進行數值計算的.NET組件。本文及接下來的幾篇文章將詳細的對該組件進行介紹。還有在.NET平臺使用相關Matlab混編進行數值計算的朋友該好好了解了解並學習下了。固然這個基礎組件的功能很普遍,應該不少都比較喜歡吧。html

若是本文章資源下載不了,或者文章顯示有問題,請參考 本文原文地址http://www.cnblogs.com/asxinyu/p/4264638.html git

1.Math.NET基本介紹

Math.NET官方網站:http://www.mathdotnet.com/github

  Math.NET初衷是開源創建一個穩定並持續維護的先進的基礎數學工具箱,以知足.NET開發者的平常需求。目前該組件主要分爲如下幾個子項目,該組件同時也支持Mono,並且支持的平臺也很是普遍(PCL Portable Profile 47: Windows 8, Silverlight 5,Xamarin: Android, iOS)。 算法

2.Math.NET Numerics

  Math.NET Numerics是核心功能是數值計算。主要是提供平常科學工程計算相關的算法,包括一些特殊函數,線性代數,機率論,隨機函數,微積分,插值,最優化等相關計算功能。它是在 Math.NET Iridium和dnAnalytics 的基礎上合併而來。該組件裏面包括了一個讀取Matlab數據格式的功能,咱們將在後幾篇博客中加以介紹。其主要特徵有:http://en.wikipedia.org/wiki/Math.NET_Numerics編程

   支持機率分佈:離散型、連續型和多元函數

  僞隨機數生成器 工具

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

  LU, QR, SVD, EVD,Cholesky分解 優化

  矩陣讀寫功能,支持Matlab和一些分開的文件 網站

  複數計算 

  特殊函數: Gamma, Beta, Erf,Bessel,Struve 等等 

  插值,線性迴歸,曲線擬合 

  數值積分,方程求解 

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

  馬爾可夫鏈蒙特卡羅抽樣 

  基本的財務統計數據 

  傅里葉變換(FFT) 

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

  Mono平臺支持,可選支持英特爾數學內核庫(Microsoft Windows和Linux) 

  可選更多的的F#擴展用法 

  該子項目的主頁:https://github.com/mathnet/mathnet-numerics

3.Math.NET Symbolics

  Math.NET Symbolics是一個Math.NET下一個基礎的代數計算項目,該項目的最終目的並非要成爲如Maple,Mathematica那樣一個完善的計算機代數計算系統。之前在作Matlab.NET混合編程的時候,常常就有人問爲何混合編程的符號計算用不了,其實就是用不了,官方不支持,那怎麼辦,其實簡單的功能,就可使用這個項目來完成。詳細的使用能夠參考項目主頁的幫助文檔,接下來的文章也會加以介紹。

  項目主頁:https://github.com/mathnet/mathnet-symbolics

4.Math.NET Filtering

  Math.NET Filtering是一個數字信號處理工具箱,提供了數字濾波器的基礎功能,以及濾波器應用到數字信號處理和數據流轉換的相關功能。

  項目主頁:https://github.com/mathnet/mathnet-filtering

5.Math.NET Spatial

  是Math.NET下的一個幾何處理工具箱。

  項目主頁:https://github.com/mathnet/mathnet-spatial

6.其餘

  Math.NET在發展過程當中的一些其餘項目如Math.NET Iridium ,Math.NET Classic, Math.NET Linq Algebra, Math.NET Yttrium等都是歷史(有一些是實驗性的),如今都已經合併到上述幾個子項目中。

  相關源碼在本系列文章下載完成後統一發布,敬請關注。基本資料能夠去官網下載。

    若是本文章資源或者顯示有問題,請參考本文原文地址http://www.cnblogs.com/asxinyu/p/4264638.html 

相關文章
相關標籤/搜索