最小二乘法C#实现,简单代码
来源:互联网 发布:淘宝商城女包特卖 编辑:程序博客网 时间:2024/05/12 16:07
根据http://zh.wikipedia.org/wiki/%E6%9C%80%E5%B0%8F%E4%BA%8C%E4%B9%98%E6%B3%95里面的说法:
线性函数模型
典型的一类函数模型是线性函数模型。最简单的线性式是,写成矩阵式,为
直接给出该式的参数解:
- 和
其中,为t值的算术平均值。也可解得如下形式:
因为原来参考代码中,返回为一个数组,根据与原来代码的兼容性,调用LinearResult(double[],double[])方法返回是一个数组。result[0]为斜率,result[1]为截距。
class Linear { public double[] LinearResult(double[] arrayX, double[] arrayY) { double[] result = { 0, 0 }; if (arrayX.Length == arrayY.Length) { double averX = arrayX.Average(); double averY = arrayY.Average(); result[0] = Scale(averX, averY, arrayX, arrayY); result[1] = Offset(result[0],averX,averY); } return result; } private double Scale(double averX, double averY, double[] arrayX, double[] arrayY) { double scale = 0; if (arrayX.Length == arrayY.Length) { double Molecular = 0; double Denominator = 0; for (int i = 0; i < arrayX.Length; i++) { Molecular += (arrayX[i] - averX) * (arrayY[i] - averY); Denominator += Math.Pow((arrayX[i] - averX), 2); } scale = Molecular / Denominator; } return scale; } private double Offset(double scale, double averX,double averY) { double offset = 0; offset = averY - scale * averX; return offset; } }
0 1
- 最小二乘法C#实现,简单代码
- 最小二乘法推导和证明(matlab代码实现)
- 最小二乘法在简单线性情况下的例子,c#
- 简单的中文信息处理C#实现代码片段
- 基于最小二乘法的曲线拟合的C++代码的实现
- 移动最小二乘法(MLS)曲线曲面拟合C++代码实现
- 最小二乘法C#源码转
- 简单介绍最小二乘法
- 最小二乘法JAVA代码
- 最小二乘法曲线拟合+C代码
- C#实现数据库事务处理的简单示例代码
- C#内容分页简单实现代码及祥解
- C#内容分页简单实现代码及详解
- C#实现数据库事务处理的简单示例代码
- C# 4行代码搞定数字猜大小(简单实现)
- C#摄像头实现拍照功能的简单代码示例
- C#内容分页简单实现代码及祥解
- C#简单代码实现窗体最小化到托盘运行
- linux下cscope的安装使用
- 王自如发致歉声明 称对现有业务进行整改
- web.xml加载顺序
- 微信1天加100好友不是问题
- Hash冲突处理终极版
- 最小二乘法C#实现,简单代码
- php文件上传之$_FILES全局变量用法介绍
- QML类型说明-ComboBox
- 【数据结构练习】系统任务调度问题
- 总结之:CentOS 6.5内核编译步骤及配置详解
- KMP算法java实现之策略模式
- 在VMware10的虚拟机ubantu14中安装vmware-tools
- 破解weblogic(数据库)密码
- 上课笔记--运筹学