В уравнении
х должен быть больше нуля, в уравнении
,
кроме того, необходимо учесть, что при х=2 функция имеет разрыв и это значение аргумента следует исключить из области определения функции.
Если аналитический вид функции не известен, то проблема нахождения области определения функции становится более сложной. Здесь могут оказаться полезными сведения о физических условиях задачи. Например, при описании процесса движения воды при давлении, близком к атмосферному, ее температура ограничена пределами 0-100С.
2.3. Выделение корней.
Для того, чтобы быть уверенным, что на некотором интервале находится корень уравнения, необходимо, чтобы на этом интервале функция меняла знак. Для поиска подобных интервалов диапазон определения функции разбивается на несколько достаточно больших интервалов одинаковой длины и затем вычисляются значения функции на их границах. Далее на интервалах, где функция меняет знаки, проводится поиск корня.
Блок-схема процедуры определения интервала приведена на рис.2.1.
Сначала задается интервал [a,b], внутри и на границах которого существует функция f(x) и может находиться один из корней. Тут же указывается шаг поиска dx. Затем вычисляется значение функции на левой границе интервала в точке а и организуется цикл, в котором рассчитывается значение функции на расстоянии dx от точки а. Если на участке [a,a+dx] функция поменяла знак или приняла нулевое значение, т.е. произведение f(a)*f(b)0, то это означает, что внутри участка [a,a+dx] существует корень уравнения. Если по условиям задачи требуется найти только один корень, то цикл на этом прекращается и производится вычисление корня с требуемой точностью одним из рассмотренных ниже методов. Если необходимо найти все корни уравнения, то выделение участков, содержащих корни, продолжается по аналогичной схеме.
При f(a)*f(b)>0 первоначальный интервал уменьшается на величину шага dx и проверяется, не достигла ли точка а правой границы интервала. Если этого не произошло, то цикл повторяется. Случай, когда был пройден весь интервал [a,b] и ни разу функция не поменяла знак, означает, что на данном интервале ни один корень уравнения не найден. При этом расчет приостанавливается и на экран компьютера выводится соответствующее сообщение.
Такая ситуация может быть обусловлена двумя причинами:
на интервале [a,b] действительно нет корней, в этом случае в зависимости от поставленной задачи необходимо согласиться с полученным сообщением или указать другой интервал поиска;
на интервале [a,b] существует четное количество корней, при этом была выбрана слишком большая ширина участков и парные корни оказались внутри одного участка. В этом случае можно повторить поиск с меньшим значением dx.
2.4. Метод половинного деления (метод дихотомии).
Приближенные значения корней уточняют различными итерационными методами, предполагающими последовательное приближение к искомому значению при выполнении однотипных операций. Если заранее известен интервал [a,b], на котором функция меняет знак, т.е. выполняется условие , то наиболее надежным является метод половинного деления. Блок-схема метода приведена на рис. 2.2.
Для определения корня этим методом необходимо указать интервал [a,b], на котором функция меняет знак, и допустимую погрешность . Затем вычисляются значения функции на границах интервала f(a) и f(b). После этого организуется цикл, в котором вычисляются середина интервала c=(a+b)/2 и значение функции f(c). Далее проверяется условие . При его выполнении принимается, что точкас является корнем уравнения, на экран выводится соответствующее сообщение и расчет прекращается. Если значение функции в точке с по абсолютной величине превосходит допустимую погрешность , то из двух половин выбирается та, на которой функция меняет знак, и цикл повторяется.
Недостатки метода:
Для начала расчета необходимо найти отрезок, на котором функция меняет знак.
Если на этом отрезке несколько корней, то заранее неизвестно, к какому из корней сойдется процесс, хотя к одному из них обязательно сойдется.
Метод не применим для решения систем уравнений.
Метод половинного деления используется, когда требуется высокая надежность счета, а скорость сходимости малосущественна.
2.5. Метод хорд.
В том случае, когда значение функции на одной границе интервала значительно ближе к нулю, чем на другой границе, более логично искать решение не на середине отрезка, а в области, расположенной ближе к первой границе.
откуда
. (2.3)
Метод хорд сохраняет все недостатки метода половинного деления, но при этом обычно обеспечивает более быструю сходимость.
2.6. Метод Ньютона.
Этот метод также называется методом касательных или методом линеаризации. Если функция f(x) в области определения имеет непрерывную производную, значения которой легко вычисляются, то можно значительно ускорить процесс приближения к корню.
,
откуда находится координата точки x1:
.
Поскольку за один ход не удается найти корень уравнения, то процесс повторяется, новые приближения определяются по рекуррентной формуле
(2.4)
до тех пор, пока не будет выполнено условие (2.2).
Блок-схема метода Ньютона приведена на рис. 2.6. Если нулевое приближение выбрано достаточно близко к корню, то скорость сходимости велика. К достоинствам этого метода следует отнести также то, что для начала расчета не требуется указывать диапазон, на котором функция меняет знак, а достаточно выбрать только начальную точку.
Согласно (2.4) получим формулу
,
которая позволяет вычислить квадратный корень, используя только операции сложения и деления. Именно эта формула запрограммирована в карманных калькуляторах.
2.7. Метод секущих.
В методе Ньютона необходимо вычислять производные . Это может потребовать много времени, может оказаться трудным или даже невозможным делом, особенно если вычисление включает, например, вычисление интеграла, решение дифференциального уравнения или если значение функции определяется результатом работы некоторого физического устройства.
Значение производной можно вычислить приблизительно по значениям функции в двух точках x1 и x2, как это показано на рис.2.8.
,
получим новую формулу для определения следующего приближения к корню
(2.5)
Блок-схема метода секущих представлена на рис.2.9.
От «разболтки» страхуются так называемым приемом Гарвика. Выбирают не очень малое 1, ведут итерации до выполнения условия и затем продолжают расчет до тех пор, покаубывают. Первое же возрастание обычно означает начало «разболтки», тогда расчет прекращают и последнюю итерацию не используют.
Следует отметить еще одну сторону метода секущих. Формула (2.5) идентична формуле (2.3) метода хорд:
.
Однако, метод касательных не требует указания диапазона изменения знака функции и при этом обеспечивает обычно большую скорость расчета, чем метод хорд. В свою очередь, метод хорд гарантирует нахождения корня и исключает возможность появления «разболтки», так как корень всегда находится внутри диапазона неопределенности и длина диапазона сокращается на каждом шаге.
- 2. Решение нелинейных уравнений
- 1. Машинная арифметика и ошибки вычислений.
- 2. Решение нелинейных уравнений.
- В уравнении
- 3. Численное интегрирование.
- Результаты численного интегрирования тестовой задачи.
- 3.6. Адаптивные программы.
- При решении системы из двух уравнений обычно применяют метод Крамера, согласно которому корни уравнений находятся по отношению двух определителей
- Неизвестные параметры находим подстановкой
- 8. Решение Обыкновенных дифференциальных уравнений.