Задача 8.1 (Программы 3)
Описание файла
Файл "Задача 8.1" внутри архива находится в папке "Программы 3". Документ из архива "Программы 3", который расположен в категории "". Всё это находится в предмете "практика расчётов на пэвм" из 2 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Онлайн просмотр документа "Задача 8.1"
Текст из документа "Задача 8.1"
Option Explicit On
Imports System.IO
Module Module1
Sub Main()
Dim xy As Double = 0
Dim N As Integer
Dim reader As StreamReader = New StreamReader("data.txt")
Dim out As StreamWriter = New StreamWriter("123.csv")
N = Integer.Parse(reader.ReadLine)
Dim x(N - 1) As Double
Dim y(N - 1) As Double
For i As Integer = 0 To N - 1
Dim line As String = reader.ReadLine()
Dim semicolon As Integer = line.IndexOf(";")
x(i) = Double.Parse(line.Substring(0, semicolon))
y(i) = Double.Parse(line.Substring(semicolon + 1)) / x(i)
Next i
Dim x1, y1, x2, y2, r As Double
x1 = 0 : y1 = 0 : x2 = 0 : y2 = 0 : r = 0
For i As Integer = 0 To N - 1
x2 = x2 + x(i) ^ 2
y2 = y2 + y(i) ^ 2
x1 = x1 + x(i)
y1 = y(i) + y1
xy = xy + x(i) * y(i)
Next i
r = Math.Abs((N * xy - x1 * y1) / ((N * x2 - x1 ^ 2) * (N * y2 - y1 ^ 2)) ^ (1 / 2))
Dim Xmean As Double = 0
Dim Ymean As Double = 0
For i As Integer = 0 To N - 1
Xmean = Xmean + x(i)
Ymean = Ymean + y(i)
Next i
Xmean = Xmean / N
Ymean = Ymean / N
Dim numerator As Double = 0
Dim denominator As Double = 0
For i As Integer = 0 To N - 1
numerator = numerator + (x(i) - Xmean) * (y(i) - Ymean)
denominator = denominator + (x(i) - Xmean) ^ 2
Next i
Dim A As Double = numerator / denominator
Dim B As Double = Ymean - A * Xmean
Console.WriteLine("Уравнение прямой: Y = {0:F4} * X + {1:F4}", A, B)
Console.WriteLine()
Console.WriteLine("Коэффициент корреляции: r={0:F4}", r)
Console.WriteLine()
Console.WriteLine("i Xi Yi A*Xi+B Delta")
out.WriteLine("x(i);y(i);A*x(i)+B")
For i As Integer = 0 To N - 1
out.WriteLine("{0};{1};{2}", x(i), y(i), A * x(i) + B)
Console.WriteLine("{0}{1,10:F4} {2,10:F6} {3,10:F6} {4,10:E1}", i + 1, x(i), y(i), A * x(i) + B, y(i) - A * x(i) - B)
Next i
out.Close()
Console.WriteLine()
Console.WriteLine("K1={0:F6}", B)
Console.WriteLine()
Console.WriteLine("K2={0:F6}", 2 * B ^ 2 / A)
Console.ReadLine()
End Sub
End Module