MathCAD




Рис. 3.1. Поиск корня уравнения - часть 2


В среде Mathcad 8 переменная TOL была дополнена еще одной системной переменной ¾ CTOL (tolerance of the constraints ¾ точность ограничений), которая также по умолчанию равна 10-3, но уже отвечает не за поиск корней и оптимумов, а за ограничения ¾ за уравнения и неравенства, записанные после ключевого слова Given.

С промахом, зафиксированным в пункте 5 рис. 3.1, можно разобраться после знакомства с вычислительными методами, заложенными в функцию root. В Руководстве пользователя Mathcad сказано, что функция root ищет корень выражения методом секущих, и дано его описание, которое автор перевел на язык BASIC.

' Поиск корня уравнения методом секущих

' Реализация на языке BASIC Mathcad-функции root

 

Def FnY(x) = 2 * X ^ 3 + 20 * x ^ 2 – 2 * x + 100 ' Анализируемая функция

TOL = 0.001 ‘ Точность поиска корня

‘ Начало процедуры поиска корня

Input "X нач. :=", X ‘ Начальное приближение

If Abs(FnY(X)) < TOL Then

            root = X ‘ Начальное приближение и есть корень уравнения

  Else ‘ Расчет второй опорной точки

            If X = 0 Then h = TOL Else h = X * TOL

            X0 = X : X1 = X + h

            Do ‘ Цикл приближения к корню

                        root = X1 – FnY(X1) * (X1 – X0) / (FnY(X1) – FnY(X0))

                        X0 = X1: X1 = root ' Подготовка к следующему приближению

            Loop Until Abs(FnY(X1)) <= TOL ‘ Условие завершения цикла

End If

Print

"Y=0 при X="; root ‘ Вывод результата




Содержание  Назад  Вперед