Решение уравнения с одним неизвестным, страница 13

·  signum(y) – выдает 1, если у = 0, и у/½у½ в остальных случаях,

·  mean(a,b) – выдает значение (а + b)/2.

Содержание дихутчкор(у1, e, шфио). Первые 5 строк программы обеспечивают в первом цикле while формирование двух чисел у2 и у3 с шагом «шфио» (см.рис. 5.7), окаймляющих приближенное значение корня у1, выделяющих исходный отрезок (у2,у3), состоящий из 2 участков и таких, что

                                      f(у1) . f(у2) < 0 или f(у1) . f(у3) < 0,                                                                     (5.7)  f(y) – имя функции уравнения f(y) = 0, причем, формула этой функции ( f(y) := выражение ) должна быть записана выше программы дихутчкор(у1, e, шфио).

Остальная часть программы – это вычисление корня с заданной погрешностью eво втором цикле while методом дихотомии [2, с.139] (выбор из двух и деления пополам того отрезка, на концах которого функция меняет знак, с проверкой условия, что функция в точке деления меньше погрешности e). Выбор отрезка начинается с исходного (с двух его частей), сформированного в первой части программы.

Над программой сверху (этап 1) записана формула функции, корень которой уточняется. Внизу под программой приведены примеры её применения (этап 3) по уточнению второго вещественного корня, вычисленного функцией polyroots(v) рис.5.1 для различных начальных приближений этого корня: несмотря на их различие уточненное значение одно и тоже, и собственно уточнение для корня, найденного polyroots(v), производится с девятого знака после запятой. 

 


Рис. 5.7. Программа дихутчкор(у1, e, шфио) уточнения вещественных корней у1 уравнения f(x)=0: выдает уточненные значения у1 с устанавливаемой погрешностью e                                                                            (вплоть до 10-14, формально даже до  10-15)