C#环境下的数值计算库:MathNet简介

ScienceSoft 编程软件评论阅读模式

工程技术人员不可避免的会涉及到数值计算程序的编制,当前也存在一些功能非常强大的数值计算库,如IMSL等,然而这些商用库通常都不便宜。mathnet是开源的数值计算库,完全免费。关于mathnet的介绍可以参看http://hi.baidu.com/analyzecode/blog/item/8129a5de9b94954eccbf1a28.html,也可以直接去其官方网站http://www.mathdotnet.com/

C#用于windows桌面程序的开发,有着无可比拟的优势,无论是速度上、语言易学性上。而mathnet是完全基于c#编写,不会存在兼容性的问题。因此,对于像俺这样只是开发小型的非商业的数值计算程序的人来说,利用c#与mathnet的联合,无疑是首要选择。

下面以一个简要的例子来说明MathNet的用法。

1、第一步当然是库下载。我们进入官方首页,找到下图所示的Download按钮,进入下载页面。然后在打开的页面中下载Math.NET Iridium(Numerics),如下图所示。

   C#环境下的数值计算库:MathNet简介C#环境下的数值计算库:MathNet简介

2、将下载的文件解压缩,找到解压文件夹中的MathNet.Iridium.dll文件,可以利用文件搜索功能寻找。该文件位于解压目录下的Binaries\release文件夹下。后面在c#文件中会利用到此dll文件。

3、新建一个C#工程,本次为测试,所以创建最为简单的控制台工程。

4、将第二步的dll文件添加到引用中。在解决方案资源管理器的树形菜单“引用”上点击右键,选择“添加引用”,弹出如下图所示的对话框。选择浏览,找到第二步所述的dll文件,将其添加至工程中。

C#环境下的数值计算库:MathNet简介

5、编写测试程序。

我们这里以一个简单的线性方程来进行测试,线性方程组为:

C#环境下的数值计算库:MathNet简介

源代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MathNet.Numerics.LinearAlgebra;namespace ConsoleApplication2
{
   class Program
   {
       static void Main(string[] args)
       {
           //写入系数,构建系数矩阵
           double[][] a ={new double []{1,1},new double []{1,-1}};
           Matrix ma = Matrix.Create(a);           //右侧矩阵
           double[][] b = { new double[] { 3 }, new double[] { 1 } };
           Matrix mb = Matrix.Create(b);

           //矩阵求解方法solve
           Matrix mx = ma.Solve(mb);
           System.Console.WriteLine(mx[0, 0] + "," + mx[1, 0]);

           Console.ReadKey();
       }
   }
}

计算结果为:2,1

 

from: http://blog.sina.com.cn/s/blog_599d8faa0100u2uq.html

weinxin
我的微信公众号
分享科研软件、科研方法,为你的科研助力。
ScienceSoft
  • 本文由 发表于 25 3 月, 2015 21:25:35
  • 转载请务必保留本文链接:https://www.sciencesoft.cn/mathnet-introduction/
Win10安装Visual Basic 6.0教程 编程软件

Win10安装Visual Basic 6.0教程

注:若Win10系统安装到第13步(或之后)出现无响应情况,请确保此状况出现时间长于一分钟,再打开任务管理器强制关闭安装程序即可,此时程序其实已成功安装到电脑上; 安装步骤: 1.右击软件压缩包,选择...
Matlab关联问题 编程软件

Matlab关联问题

每次双击.m文件都会自动打开一个matlab程序,而不是在已经打开的Matlab中打开,这样导致操作起来有点慢,解决方法如下: step1:下载这个文件 http://pan.baidu.com/s/...
评论  0  访客  0
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定