Табулирование функции и бесконечного функционального ряда разложения функции на данном отрезке - Visual Basic .NET
Формулировка задачи:
Всем доброго времени суток,
Написал код для табулирования функции и функционального ряда и оценки средних погрешностей - все работает, однако, значения в результате абсолютно разные. В этой связи и правильность оценки погрешностей под вопросом. Не могу понять, где ошибка или опечатка (опыт среде программирования VB.net - несколько недель):
Решение задачи: «Табулирование функции и бесконечного функционального ряда разложения функции на данном отрезке»
textual
Листинг программы
Public Class Form7 Private Sub Form7_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load TextBox5.Font = New Font(FontFamily.GenericSansSerif, 9) TextBox6.Font = New Font(FontFamily.GenericSansSerif, 9) End Sub Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click Dim x0, xn, h, Eps As Double If Not Double.TryParse(TextBox3.Text, h) Then Exit Sub If Not Double.TryParse(TextBox1.Text, x0) Then Exit Sub If Not Double.TryParse(TextBox2.Text, xn) Then Exit Sub If Not Double.TryParse(TextBox4.Text, Eps) Then Exit Sub TextBox5.Clear() : TextBox6.Clear() TextBox5.AppendText("x" & "y".PadLeft(20) & vbCrLf) TextBox6.AppendText("x" & "y".PadLeft(20) & vbCrLf) If x0 > -1 AndAlso xn < 1 Then For x = x0 To xn Step h TextBox5.AppendText(Format(x, "0.000") & Format(fnt(x), "0.00000").PadLeft(15) & vbCrLf) TextBox6.AppendText(Format(x, "0.000") & Format(fntSeries(x, Eps), "0.00000").PadLeft(15) & vbCrLf) Next Else MsgBox("В данной области f(x) не существует! Введите значения концов сегмента в диапазоне (-1;1)") Exit Sub End If End Sub Private Function fnt(ByVal x As Double) As Double Return 0.25 * Math.Log((1 + x) / (1 - x)) + 0.5 * Math.Atan(x) End Function Private Function fntSeries(ByVal x As Double, ByVal eps As Double) As Double Dim a As Double = x, S As Double = 0, c As Double, k As Integer Do S += a c = x ^ 4 * ((4 * k + 1) / (4 * k + 5)) a *= c k += 1 Loop Until Math.Abs(a) < eps Return S End Function End Class
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д