MathNet.Numerics
来源:互联网 发布:买书是淘宝还是亚马逊 编辑:程序博客网 时间:2024/05/16 17:10
在论坛中总看到有人在说Math.NET Iridium,查了一下,现在被整合到MathNet.Numerics这个库中来了。
但是好像对于MathNet.Numerics这个库的相关资料比较少。我
大概看了一下,MathNet.Numerics这个库太博大精深了,就举线性拟合的例子来说明一下这个库。
1、引用库:
在http://numerics.mathdotnet.com/这个网址中,我没看到怎么直接下载这个库的地方,但是有Nuget/GitHub。
但是GitHub好像是这个项目的源代码,不是库,没怎么具体看。就转到Nuget上下载了。
安装Nuget在https://dist.nuget.org/index.html这个页面--DOWNLOADS里面就有。并且在VS2013好像是集成Nuget的,不用安装。
在VS2013中--工具--Nuget包管理器--程序包管理器控制台--输入"Install-Package MathNet.Numerics"。等待安装完成即可。
完成后,程序的文件夹中会多一个packages文件夹,程序中也自动引用了MathNet.Numerics,这个时候就能使用了。
2、拟合直线:
Tuple<double, double> s = new Tuple<double, double>(0, 0);
s = Fit.Line(X, Y);
这个就很好理解了:double[] X = new double[i];为x轴的数组,double[] Y = new double[i];为y轴的数组,s为拟合出来直线参数,s.Item2为斜率k,s.Item1为斜率b。
(公式为y=s.Item2*x+s.Item1)
3、拟合曲线:
double[] res = Fit.Polynomial(X, Y, m);
其中:与直线拟合一样,X为x轴的数组,Y为y轴数组,m为次方数。
比如平时我们使用较多的4次方,m就输入4,公式为:y=res[4]*x^4+res[3]*x^3+res[2]*x^2+res[1]*x+res[0]
4、计算曲线拟合出来的R^2
虽然不太理解R^2是什么意思,但是使用EXCEL拟合的时候,都会有这个值,并且这个值越接近1,说明拟合出来的曲线跟原曲线就越接近。
RSquared=GoodnessOfFit.RSquared(Y, Ytest);
这个命令就是计算R^2,其中Y为原始的Y点,Ytest是使用拟合出来的线计算的Y点,相当于原始线与拟合线做比较。
本人对MathNet.Numerics理解也不深,也是才开始使用。后续如有再遇到其他的问题的时候再记录。
- MathNet.Numerics
- MathNet用法
- mathnet 使用方法介绍
- mathNet基础用法
- C#的System.Numerics
- C#的补充数据类型System.Numerics.dll
- 面向对象数值计算The Object-Oriented Numerics Page
- 安装 C# 科学计算库 Math.NET Numerics
- William J. Thompson, «Computing for Scientists and Engineers: A Workbook of Analysis, Numerics, and Applications»
- iOS利用Runtime自定义控制器POP手势动画
- Bonecp spring配置数据源
- 关于线程间IPC
- SVN同步或者提交的时候出现提示needs to be upgraded
- 如何使用UIScrollerView在StoryBoard实现上下引导页面
- MathNet.Numerics
- iOS复用代码块实现
- 计算中国阳历节日、阴历节日、星座、时辰等一切时间有关
- FFMPEG同步操作(转)
- spring获取webapplicationcontext,applicationcontext几种方法详解
- graylog在Ubuntu14中的安装
- ubuntu 15.用ECLIPSE编译JNI
- 组合查询
- fiddler Android下https抓包