GVO2016 Ответов: 1

Работа над аппроксимацией ряда для cos(x)


Я работал над проектом VB, который дает пользователю аппроксимацию ряда и правильное значение cos(x) при задании первых N членов ряда Маклорина. Как вы, вероятно, можете догадаться, функция cos(x) в VB работает нормально, и я чувствую, что сам код в порядке. Однако функция series approx постоянно дает мне символ NaN или бесконечности. Я полагаю, что может быть проблема с функцией, которую я построил, но я не совсем уверен.

Что я уже пробовал:

Код:
Private Sub btnGo_Click(sender As Object, e As EventArgs) Handles btnGo.Click
        Const cstPi As Single = 3.1415927
        Dim intn As Integer, inti As Integer
        Dim sngAngleDegrees As Single, sngAngleRad As Single, sngSeriesApprox As Single, sngCorrectValue As Single
        Dim sngSum As Single, sngC As Single


        sngAngleDegrees = CSng(txtAngleDegrees.Text)
        sngAngleRad = 2 * cstPi * sngAngleDegrees / 360
        intn = CInt(txtAngleRad.Text)

        sngSum = 0
        sngC = 1
        For inti = 1 To intn
            sngSum = sngSum + sngC * sngAngleRad ^ (2 * inti - 1) / LngFactorial(2 * inti - 1)
            sngC = -1 * sngC
        Next

        sngSeriesApprox = sngSum
        sngCorrectValue = Math.Cos(sngAngleRad)

        lblSA.Text = CStr(sngSeriesApprox)
        lblCV.Text = CStr(sngCorrectValue)




    End Sub


Функция:
Function LngFactorial(ByVal X As Integer) As Long
        For i = X To 1 Step -1

            LngFactorial = i * LngFactorial

        Next i
        Return LngFactorial

    End Function

1 Ответов

Рейтинг:
1

Patrice T

Вы должны научиться использовать отладчик как можно скорее. Вместо того чтобы гадать, что делает ваш код, пришло время увидеть, как он выполняется, и убедиться, что он делает то, что вы ожидаете.

Отладчик позволяет вам следить за выполнением строка за строкой, проверять переменные, и вы увидите, что есть точка, в которой он перестает делать то, что вы ожидаете.
Отладчик-Википедия, свободная энциклопедия[^]
Освоение отладки в Visual Studio 2010 - руководство для начинающих[^]

Отладчик здесь для того, чтобы показать вам, что делает ваш код, и ваша задача-сравнить его с тем, что он должен делать.
Когда код не делает того, что ожидается, вы близки к ошибке.