5. 交易價格預測的程式設計
# 數學不好
Console.WriteLine("日期系列:");
for (int i = 0; i < 15; i++)
{
Console.Write($"\t{i + 1}");
}
Console.WriteLine("\n價格系列::");
var data = Console.ReadLine().Split(' ').Select(double.Parse).ToList();
Console.WriteLine("直線斜率b:");
Console.Write(" ");
List<double> prices = new List<double>();
for (int i = 0; i < data.Count; i++)
{
if (i < 9)
{
prices.Add(0.0);
Console.Write("0.0 ");
continue;
}
double xBar = 0;
for (int j = i - 9 + 1; j <= i + 1; j++)
{
xBar += j;
}
xBar /= 10;
double yBar = 0;
for (int j = i - 9; j <= i; j++)
yBar += data[j];
yBar /= 10;
double child = 0, mother = 0;
for (int j = i - 9; j <= i; j++)
{
child += (j + 1 - xBar) * (data[j] - yBar);
mother += Math.Pow((j + 1 - xBar), 2);
}
double b = child / mother;
Console.Write($"{b:0.0} ");
double a = yBar - b * xBar;
prices.Add(b * (i + 2) + a);
}
Console.WriteLine("\n價格預測:");
Console.Write(" ");
foreach (var item in prices)
{
Console.Write($"{item:0.0} ");
}Last updated