我需要基于二维坐标系上给定的一组点样本对下一个点进行预测。如果最佳拟合直线是预测的最佳方法
我正在使用Best-Fit Straight Line方法进行此类预测。
请让我知道是否有比Best-Fit直线更好的方法?
我的代码如下:
public class LineEquation
{
public double m; //slope
public double c; //constant in y=mx+c
}
public class Point
{
public double x;
public double y;
}
public class BestFitLine
{
public Point[] points = new Point[7];
public void InputPoints(Point[] points)
{
for (int i = 0; i < points.Length; i++)
{
points[i] = new Point();
}
points[0].x = 12;
points[0].y = 13;
points[1].x = 22;
points[1].y = 23;
points[2].x = 32;
points[2].y = 33;
points[3].x = 42;
points[0].y = 23;
points[4].x = 52;
points[4].y = 33;
points[5].x = 62;
points[5].y = 63;
points[6].x = 72;
points[6].y = 63;
}
public LineEquation CalculateBestFitLine(Point[] points)
{
double constant = 0;
double slope=0;
for (int i = 0; i < points.Length - 1; i++)
{
for (int j = i + 1; j < points.Length; j++)
{
double m = (points[j].y - points[i].y)/(points[j].x - points[i].x);
double c = points[j].y - (m * points[j].x);
constant += c;
slope += m;
}
}
int lineCount =((points.Length-1)*points.Length)/2;
slope = slope/lineCount;
constant = constant/lineCount;
LineEquation eq = new LineEquation();
eq.c = constant;
eq.m = slope;
return eq;
}}
请提供点的根本性质的更多信息您尝试预测坐标。当选择最佳逼近方法时,它非常依赖于您尝试近似的主题。 –
这个问题似乎是题外话题,因为它是关于数学建模,而不是编程。 – Servy