Помогите с кодом(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



Ответы (0 шт):