Помогите с кодом(visual basic-мнк-вывод данных для excel)
Задали сделать мнк. Прогу написал, нужно чтобы программа дала результат данных в формате csv эксель. Итог у меня 0кб файл и я не знаю что делать, помогите!:(((
P.S.: если поможете оптимизировать код - будет очень замечательно!
Текст программы:
Option Strict On
Imports System.IO
Module Module1
Sub Main()
Dim sx, sy, r, a, b, pr, x2, y2, ysum, xsr, ysr, t As Double
Dim reader As New StreamReader("MNK.txt")
Dim N As Integer
N = CInt(reader.ReadLine())
Dim x(N) As Double
Dim y(N) As Double
Dim w(N) As Double
Dim k(N) As Double
For i As Integer = 0 To N - 1
Dim h As String = reader.ReadLine()
Dim raz As Integer = h.IndexOf(";")
t += CDbl(h.Substring(0, raz)) + 273.15
x(i) = CDbl(h.Substring(0, raz)) + 273.15
h = h.Substring(raz + 1)
raz = h.IndexOf(";")
k(i) = CDbl(h.Substring(0, raz))
h = h.Substring(raz + 1)
w(i) = CDbl(h)
y(i) = w(i) * k(i)
ysum += y(i)
Next i
xsr = t / N
ysr = ysum / N
For j As Integer = 0 To N - 1
pr += (x(j) - xsr) * (y(j) - ysr)
x2 += (x(j) - xsr) ^ 2
y2 += (y(j) - ysr) ^ 2
Next j
a = pr / x2
b = ysr - a * xsr
sx = Math.Sqrt(x2 / N)
sy = Math.Sqrt(y2 / N)
r = pr / N / sx / sy
Console.WriteLine("Уравнение прямой:")
Console.WriteLine("")
Console.WriteLine("Y={0,2:e4}* X + {1,2:e4}", a, b)
Console.WriteLine("")
Console.WriteLine("")
Console.WriteLine("Коэффициент корреляции: r = {0,0:F4}", -r)
Console.WriteLine("")
Console.WriteLine("-----------------------------------------------------------------")
Console.WriteLine("")
Console.WriteLine("{0} {1,8} {2,8} {3,14} {4,8}", "i", "Xi", "Yi", "A*Xi+B", "Delta")
Console.WriteLine()
Dim out As StreamWriter = New StreamWriter("MNK_result.csv")
out.WriteLine("<Xi>; <Yi>; <A*Xi+B>")
For i As Integer = 0 To N - 1
Console.WriteLine("{0} {1,10:e3} {2,10:e3} {3,10:e3} {4,10:e3}", i, x(i), y(i), a * x(i) + b, y(i) - a * x(i) - b)
out.WriteLine("{0:e3}; {1:e3}; {2:e3}", x(i), y(i), a * x(i) + b)
Next
Console.WriteLine()
Console.WriteLine("A={0,0:E3}", b)
Console.WriteLine()
Console.WriteLine("B={0,0:E3}", a)
Console.ReadLine()
End Sub
End Module