怎么使用C#最小二乘法拟合曲线成直线
导读:本文共1010.5字符,通常情况下阅读需要3分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: 最小二乘法拟合曲线成直线效果拟合前拟合后传入X轴和Y轴的数据,得到新的Y轴数据。将X值数据和拟合后的Y轴数据绑带即可。///<summary>///最小二乘法/线性回归,得到新的点///</summary>///<paramname="Points"></param>///<par... ...
音频解说
目录
(为您整理了一些要点),点击可以直达。最小二乘法拟合曲线成直线
效果
拟合前
拟合后
传入X轴和Y轴的数据,得到新的Y轴数据。
将X值数据和拟合后的Y轴数据绑带即可。
///<summary>///最小二乘法/线性回归,得到新的点///</summary>///<paramname="Points"></param>///<paramname="err"></param>///<returns></returns>privateList<double>LinearRegression(List<double>PointsX,List<double>PointsY){List<double>Result=null;if(PointsX.Count<2||PointsY.Count<2||PointsX.Count!=PointsY.Count){returnResult;}doubleAveragex=0,Averagey=0;for(inti=0;i<PointsX.Count;i++){Averagex+=PointsX[i];Averagey+=PointsY[i];}Averagex/=PointsX.Count;Averagey/=PointsX.Count;doubleNumerator=0,Denominator=0;for(inti=0;i<PointsX.Count;i++){Numerator+=(PointsX[i]-Averagex)*(PointsY[i]-Averagey);Denominator+=(PointsX[i]-Averagex)*(PointsX[i]-Averagex);}doubleK=Numerator/Denominator;doubleB=Averagey-K*Averagex;List<double>temp=newList<double>();foreach(variteminPointsX){temp.Add(K*item+B);}Result=temp.ToList();returnResult;}
</div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:
怎么使用C#最小二乘法拟合曲线成直线的详细内容,希望对您有所帮助,信息来源于网络。