Переменные в цикле не определяются - C#
Формулировка задачи:
Доброго времени суток. Пишу прогу на метод наименьших квадратов, вроде все норм, но переменные Syy, Sxx, Sxy в цикле не определяются, и при компиляции пишет, что значение переменных не задано.
Что не так?
class Program { static void Main(string[] args) { List<double> X = new List<double>(); List<double> Y = new List<double>(); double A, B, C, D, R, delta_A; double n = X.Count; double Sy, Sx, Syy, Sxx, Sxy; System.IO.StreamReader data = new System.IO.StreamReader("D:\\BAHR_Lon.dat"); string line = data.ReadLine(); while (line != null) { var substrings = line.Split(new char[2] { '\t', ' ' }, StringSplitOptions.RemoveEmptyEntries); X.Add(Convert.ToDouble(substrings[0])); Y.Add(Convert.ToDouble(substrings[1])); line = data.ReadLine(); } data.Close(); Sy = X.Sum(); Sx = Y.Sum(); // в цикле ниже переменные не определяются for (int i = 0; i < n - 1; i++) { Sxy =+ (X[i] * Y[i]); Sxx =+ (X[i] * X[i]); Syy =+ (Y[i] * Y[i]); Console.WriteLine(Syy + " " + Sxx); } A = (n * Sxy - Sx * Sy) / (n * Sxx - Sx * Sx); B = (Sy - A * Sx) / n; C = (n - 1) * Sxy / (n * Syy - Sy * Sy); D = (Sy - C * Sx) / n; R = Math.Abs(A * C); delta_A = Math.Sqrt((Syy - A*Sxy)/(n-2)*(Sxx-Sx*Sx/n)); Console.WriteLine("A = " + A + "; B = " + B + "\n" + "C = " + C + "; D = " + D + "\n" + "коэффициент корелляции " + R + "; критерий Стьюдента " + delta_A); Console.ReadKey(); } }
Решение задачи: «Переменные в цикле не определяются»
textual
Листинг программы
for (int i = 0; i < n - 1; i++) { Sxy =+ (X[i] * Y[i]); Sxx =+ (X[i] * X[i]); Syy = 10; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д