参考:http://blog.csdn.net/ztmsimon/article/details/50524392

在论坛中总看到有人在说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理解也不深,也是才开始使用。后续如有再遇到其他的问题的时候再记录。


c#代码三次样条插值。

http://blog.csdn.net/panjinliang066333/article/details/56682829


c# 二元多次函数拟合:

http://blog.sina.com.cn/s/blog_6e51df7f0100thie.html

math.net 拟合的更多相关文章

  1. [CC]平面拟合

    常见的平面拟合方法一般是最小二乘法.当误差服从正态分布时,最小二乘方法的拟合效果还是很好的,可以转化成PCA问题. 当观测值的误差大于2倍中误差时,认为误差较大.采用最小二乘拟合时精度降低,不够稳健. ...

  2. 用python的numpy作线性拟合、多项式拟合、对数拟合

    转自:http://blog.itpub.net/12199764/viewspace-1743145/ 项目中有涉及趋势预测的工作,整理一下这3种拟合方法:1.线性拟合-使用mathimport m ...

  3. 最小二乘法拟合java实现源程序(转)

    因为我所在的项目要用到最小二乘法拟合,所有我抽时间将C++实现的程序改为JAVA实现,现在贴出来,供大家参考使用./** * <p>函数功能:最小二乘法曲线拟合</p> * @ ...

  4. 最小二乘法多项式拟合的Java实现

    背景 由项目中需要根据一些已有数据学习出一个y=ax+b的一元二项式,给定了x,y的一些样本数据,通过梯度下降或最小二乘法做多项式拟合得到a.b,解决该问题时,首先想到的是通过spark mllib去 ...

  5. Scipy教程 - 优化和拟合库scipy.optimize

    http://blog.csdn.net/pipisorry/article/details/51106570 最优化函数库Optimization 优化是找到最小值或等式的数值解的问题.scipy. ...

  6. TensorFlow-正弦函数拟合

    MNIST的代码还是有点复杂,一大半内容全在搞数据,看了半天全是一滩烂泥.最关键的是最后输出就是一个accuracy,我根本就不关心你准确率是0.98还是0.99好吗?我就想看到我手写一个5,你程序给 ...

  7. 利用最小二乘法拟合任意次函数曲线(C#)

    原文:利用最小二乘法拟合任意次函数曲线(C#) ///<summary>     ///用最小二乘法拟合二元多次曲线     ///</summary>     ///< ...

  8. .net core(c#)拟合圆测试

    说明 很多时候,我们需要运动物体的转弯半径去描述其机器性能.但在大多数的现实条件下,我们只能够获取到运动物体的 GPS 位置点集,并不能直接得到转弯半径或者圆心位置.为此,我们可以利用拟合圆的方式得到 ...

  9. 6、基于highcharts实现的线性拟合,计算部分在java中实现,画的是正态概率图

    1.坐标点类 package cn.test.domain; public class Point { double x; double y; public Point(){ } public Poi ...

随机推荐

  1. [CodeForces_618C]Constellation

    题目链接 http://codeforces.com/problemset/problem/618/C 题意 给二维平面一些点的坐标,保证不是所有点都在一条直线上,各点不重合,输出三个点的id,满足其 ...

  2. Springboot学习01- 配置文件加载优先顺序和本地配置加载

    Springboot学习01-配置文件加载优先顺序和本地配置加载 1-项目内部配置文件加载优先顺序 spring boot 启动会扫描以下位置的application.properties或者appl ...

  3. WorkerMan源码分析 - 实现最简单的原型

    之前一直认为workerman源码理解起很复杂,这段时间花了3个下午研究,其实只要理解 php如何守护化进程.信号.多进程.libevent扩展使用,对于如何实现就比较轻松了. 相关代码都在githu ...

  4. vue 内引入jquery

    1.  npm i jquery -- save 2. import $ from 'jquery' window.$ = $ window.jQuery = $ export default $ 这 ...

  5. This system is not registered with an entitlement server. You can use subscription-manager to register.

    错误信息 [root@bogon apache-tomcat-]# yum install gcc-c++ Loaded plugins: product-id, search-disabled-re ...

  6. Couchbase学习和使用

    Couchbase介绍 couchbase的关键有两点:延后写入和松散存储.延后写入,顾名思义,couchbase在对数据进行增删时会先体现在内存中,而不会立刻体现在硬盘上,从内存的修改到硬盘的修改这 ...

  7. css font-size=0的妙用

    转自:css font-size=0有什么妙用? 回答一: 问题的根源是 inline(a标签默认是display:inline) 和 inline-block (.list-info 设置的是 di ...

  8. ubuntu12.04下安装Apache+PHP+MySQL

    一.Apache1.安装apache2: sudo apt-get install apache2 2.重启apache2: sudo /etc/init.d/apache2 restart 3.在浏 ...

  9. css 需要阴影的效果

    box-shadow: 0 0 10px 10px #b9bcbf; CSS3 box-shadow 属性 CSS 参考手册 实例 向 div 元素添加 box-shadow: div { box-s ...

  10. 不解压查看tar.gz包内文件

    通过tar命令备份.解压缩文件,也可在不解压缩文件时查看包内的文件信息. 使用如下参数: tar -ztvf file.tar.gz 将列出所有包内的文件列表,包括目录 -z, --gzip, --g ...