参考: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. IIS下载,WebClient().DownloadFile下载

    new System.Net.WebClient().DownloadFile(serverPath, localPath); 有时候使用的时候,文件下载不下来.需要设置一下服务器上IIS的权限

  2. jquery写tab切换,三行代码搞定

    <script type="text/javascript"> $("button").on("click",function( ...

  3. 史上最全的MSSQL复习笔记

    1.什么是SQL语句 SQL语言,结构化的查询语言(Structured Query Language),是关系数据库管理系统的标准语言.它是一种解释语言,写一句执行一句,不需要整体编译执行. 语法特 ...

  4. python面向对象的三大特征

    1.封装: 封装就是对类和对象的成员访问进行限制,设定可以访问的方式和不可以访问的方式. 分类: 私有化的封装:当前类/对象种可以使用,类/对象外和子类/对象都不可以用 受保护的封装:当前类/对象和子 ...

  5. 11. pt-heartbeat

    pt-heartbeat [OPTIONS] [DSN] --update|--monitor|--check|--stop ------------------------------------- ...

  6. Python pip下载安装库 临时用清华镜像命令

    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple C:\Users\mu\pip 新建pip.ini [global] index-url ...

  7. 让eclipse调试和豌豆荚并存

    豌豆荚有一个设置 设置->高级设置->开发者模式 勾上开发者模式 确定. 你什么手机的驱动都不用安装了. 就可以直接使用豌豆荚,也可以使用eclipse进行调试.

  8. JS原型与原型链

    1.原型(公用属性) 首先,我们来讲讲浏览器的初始状态,就是在无代码的情况下,浏览器所分配到的内存的使用情况,首先浏览器会创建一个全局对象global,而在这个全局对象global内含有许多的全局函数 ...

  9. mybatis 操作数据错误Truncated incorrect DOUBLE value: ''

    网上查到遇到次错误造成的原因: UPDATE TSYS_ROLE_RIGHTSET ACTIVE_FLAG = '2' and UPDATE_PERSON = 'CaiYiHua' and  UPDA ...

  10. 如何将service绑入到spring 并且在action中使用

    第一步:定制 service接口,为什么用接口我也不清楚 package com.inspur.services; import com.hsp.domain.User; public interfa ...