Задача 12.3 (Программы 3)
Описание файла
Файл "Задача 12.3" внутри архива находится в папке "Программы 3". Документ из архива "Программы 3", который расположен в категории "". Всё это находится в предмете "практика расчётов на пэвм" из 2 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Онлайн просмотр документа "Задача 12.3"
Текст из документа "Задача 12.3"
Option Strict On
Module Module1
Const eps As Double = 0.001
Const h As Double = 0.5
Function deriv(ByVal x As Double, ByVal y As Double) As Double
Return (x + y) ^ (-1)
End Function
Function brut(ByVal x As Double, ByVal y As Double, ByRef n As Integer) As Double
Dim steps As Integer = 1
Dim ylast, y1n, y2n As Double
Do
ylast = y
For i As Integer = 1 To steps
y1n = ylast + h * deriv(x + (i - 1) * h / steps, ylast) / steps
ylast = y1n
Next i
ylast = y
For i As Integer = 1 To steps * 2
y2n = ylast + h * deriv(x + (i - 1) * h / (steps * 2), ylast) / (steps * 2)
ylast = y2n
Next i
steps = steps * 2
Loop While Math.Abs((y2n - y1n) / y1n) > eps
n = steps
Return y2n
End Function
Sub Main()
Dim n As Integer
Dim xmin = 0
Dim xmax = 8
Dim max As Integer = CInt((xmax - xmin) / h)
Dim x(max) As Double
Dim y(max) As Double
x(0) = 0
y(0) = 1
Console.WriteLine(" x y y' h/2n 2n" & vbNewLine)
Console.WriteLine("-----------------------------------------------")
For i As Integer = 0 To max
If i = 0 Then
Console.WriteLine("{0:F2} {1,-7:F4} {2,-7:E1} ", x(i), y(i), deriv(x(i), y(i)))
Else
x(i) = x(i - 1) + h
y(i) = brut(x(i - 1), y(i - 1), n)
Console.WriteLine("{0:F2} {1,-7:F4} {2,-7:E1} {3,-8:E1} {4,-5} ", x(i), y(i), deriv(x(i), y(i)), h / n, n)
End If
Next i
Console.ReadLine()
End Sub
End Module