Слишком сложно? Тогда запросите консультацию специалиста!
Наша компания занимается тем, что помогает студентам выполнять различные учебные работы на заказ. Вы можете ознакомиться с перечнем выполняемых работ, а так же с их стоимостью на странице с ценами.
РЕШЕНИЕ ТРАНСЦЕНДЕНТНЫХ УРАВНЕНИЙ
Постановка задачи
Во многих инженерных и научных задачах возникает необходимость решения уравнений вида:
| F(x, a1, a2, ..., ak) = 0 | (3.1) |
где F - заданная непрерывная функция;
x – неизвестная величина, подлежащая определению;
a1, a2, ..., ak – известные параметры функции F.
Решить уравнение (3.1) - это значит найти такое значение (или такие значения) неизвестной x, при которых уравнение (3.1) превращается в тождество. Эти значения x называются корнями уравнения (3.1).
Только для простейших уравнений удается найти решение в аналитическом виде, т.е. записать формулу
x = f(a1, a2, ..., ak) ,
выражающую искомую величину x явным образом через параметры a1, a2, ..., ak, например, для уравнения вида
ax2 + bx + c = 0
его корни выражаются формулой:
.
В большинстве же случаев аналитическую запись корней уравнения найти очень сложно или в принципе невозможно (такие уравнения называются трансцендентными), и поэтому приходится решать уравнение численным способом.
Существует несколько различных методов численного решения трансцендентных уравнений, но все они предполагают выполнение двух этапов: первый из них называется "отделение корней", второй - "уточнение корней". Ниже рассматривается один из способов отделения корней и четыре метода уточнения корней - метод дихотомий, метод хорд, метод касательных и метод простых итераций.
3.2. Отделение корней
На данном этапе определяются те интервалы области изменения переменной x, в каждом из которых расположен один и только один корень уравнения (3.1). По сути дела на этом этапе определяются грубые приближения значений x с погрешностью, определяемой длиной каждого найденного интервала. Полностью автоматизировать процесс отделения корней, пожалуй, невозможно, так как в нем обязательно присутствует элемент субъективного, интуитивного подхода к решению задачи. Иногда, например, интервал, в котором расположен корень, удается получить из физической сущности решаемой задачи.
При выполнении этого этапа с использованием ЭВМ обычно проводится "табулирование" функции F(x, a1, a2, ..., ak), т.е. построение таблицы ее значений при различных значениях x, следующих друг за другом с некоторым шагом h:
| x | F(x) |
| x1 | F1 |
| x2 | F2 |
| . . . | . . . |
| xn | Fn |
где xi+1 = xi + h ; Fi = F(xi); i = 1,2,...,n-1.
Например, таблица значений функции x2 - 12 ln½x½ + 6 sin x на промежутке [1,10] c шагом h = 1 имеет вид:
| x | F(x) |
| 1.0 | 6.05 |
| 2.0 | 0.72 |
| 3.0 | - 3.99 |
| 4.0 | - 6.01 |
| 5.0 | - 1.03 |
| 6.0 | 11.75 |
| 7.0 | 28.42 |
| 8.0 | 43.74 |
| 9.0 | 55.79 |
| 10.0 | 67.72 |
В качестве границ искомых интервалов выбираются такие соседние значения x, в которых соответствующие значения F(x) имеют разные знаки, так как изменение знака функции на некотором интервале означает в силу ее непрерывности, что где-то в пределах этого интервала график функции пересекает ось абсцисс, т.е. уравнение F(x) = 0 имеет корень. В частности, на основании данных из приведенной выше таблицы можно сделать вывод, что уравнение x2 - 12 ln½x½ + 6 sin x = 0 на промежутке [1,10] имеет по крайней мере два корня: в интервале (2,3) и в интервале (5,6).
|
Рис.3.1. Алгоритм отделения корней табулированием функции |
При выполнении этого этапа нужно проявлять определенную осторожность: во-пеpвых, одинаковые знаки функции F на концах интервала (xi, xi+1) не означают, что на этом интервале нет корней - их может быть, например, два; во-втоpых, при разных знаках на концах интервала здесь может оказаться не один корень, а три или, например, пять.
В приводимой на рис.3.1 схеме алгоритма отделения корней использованы следующие обозначения:
xН, xК - соответственно левая и правая границы промежутка табулирования функции F(x);
x - текущая точка табулирования;
;
В0, В1 - знаки функции F(x) соответственно в предыдущей и текущей точках табулирования.
В соответствии с данной блок-схемой производится не просто табулирование функции, а, кроме того, анализ знака функции в каждой новой точке и вывод сообщения при его изменении.
Метод дихотомии
Пусть на этапе отделения корней получены две точки A и B (A<B), между которыми находится корень уравнения (3.1), т.е. такие точки, в которых знаки значений функции F(x) противоположны (см. рис.3.2): sign F(A) ¹ sign F(B).
Метод дихотомии, называемый еще методом половинного деления, заключается в следующем:
1) определяется середина отрезка [A,B]:
;
| (3.2) |
2) вычисляется значение функции в этой точке - F(P) и его знак sign F(P);
3) корень уравнения (3.1) находится в той половине отрезка [A,B], на концах которой функция F(x) имеет разные знаки. Если это будет половинка [A,P], то перенесем точку B в точку P; если же половинка [P,B], то перенесем точку A в точку P. Благодаря этой операции длина отрезка [A,B], на котором находится корень уравнения, уменьшилась вдвое, т.е. можно сказать, что значение корня определено с точностью до длины полученного отрезка.
Каждое новое повторение действий 1,2,3 будет давать все более точные значения корня уравнения. Повторение этого процесса следует прекращать, когда длина отрезка [A,B] станет меньше заранее заданного значения
, являющегося в данном случае ошибкой ограничения, т.е. неравенство
B - A <
| (3.3) |
является критерием окончания вычислительного процесса.
Рис.3.3. Алгоритм метода
дихотомии
|
Если величина задана очень малая, то вблизи корня значения F(x) могут оказаться сравнимыми с погрешностью ее вычисления, т.е. при подходе к корню вычислительный процесс может попасть в так называемую "полосу шума", и дальнейшее уточнение корня окажется невозможным. Поэтому кроме точности надо задавать в алгоритме ширину "полосы шума" 1 и прекращать процесс при попадании в него, т.е. неравенство F(P) | < 1 является дополнительным критерием окончания вычислительного процесса.
Схема алгоритма представлена на рис.3.3.
Рис.3.2. Геометрическая интерпретация метода
дихотомии
|
Метод хорд
Пусть так же, как в методе дихотомий, известны две точки A и B (A<B),для которых sign F(A) ¹ sign F(B). В методе хорд (см. рис.3.4), в отличие от метода дихотомий, в качестве очередного приближения P берется точка пересечения с осью абсцисс хорды, соединяющей точки (A,F(A)) и (B, F(B)).

Рис.3.4. Геометрическая интерпретация метода хорд
Уравнение прямой, проходящей через эти две точки запишем в виде: Y(x) = k x + c .
Коэффициенты k и c определяются из условий:
F(A) = k A + c ; F(B) = k B + c .
Решая эту систему из двух уравнений, получим:
; c = F(A) - k A.
Точка P пересечения этой прямой с осью ОX определяется из уравнения
kP + c = 0.
Решая его, окончательно получаем:
.
| (3.4) |
В методе хорд нельзя использовать в качестве критерия окончания вычислительного процесса неравенство (3.3), так как, как видно из рис.3.4, величина B – A не стремится к нулю. В данном методе, как и в рассматриваемых ниже, вычислительный процесс следует прекращать при выполнении неравенства
,
| (3.5) |
т.е. если расстояние между двумя соседними приближениями к корню меньше заранее заданной величины
.
Алгоритм метода хорд, следовательно, отличается от алгоритма метода дихотомий формулой вычисления приближения P (вместо (3.2) использется (3.4) )и критерием окончания вычислительного процесса (вместо (3.3) использется (3.5) ).
Блок-схему для метода хорд предлагается разработать самостоятельно.
Метод Ньютона (метод касательных)
Графическая интерпретация метода представлена на рис.3.5. Предположим, что каким-либо способом найдено начальное приближение х0 к истинному корню. Например, при использовании отделения корней, в качестве х0 можно взять левую или правую границу промежутка, содержащего корень уравнения F(x) = 0, либо любую другую точку из этого промежутка. В точке х0 вычислим значение функции F(x), а также значение ее производной F‘(x). Следующее приближение к корню, т.е. точку х1 определим, как пересечение оси ОХ с касательной к кривой F(x) в точке х0:

Аналогичным образом, вычислив значения F(x) и F‘(x), в точке х1, можно получить приближение х2:

В общем случае вычислительный процесс метода Ньютона выражается формулой:
| (3.6) |
где каждое новое значение хk (k=1, 2, 3, …) будет располагаться все ближе к истинному корню х*., т.е. будет представлять собой все более точное приближение к решению уравнения F(x) = 0.
Рис.3.5. Метод Ньютона
|
Рис.3.6. Модифицированный
метод Ньютона
|
Процесс уточнения корня по формуле (3.6) следует прекращать, когда выполнится условие
, т.е. когда расстояние между двумя соседними приближениями станет меньше заранее заданной точности
.
Метод Ньютона обладает высокой скоростью сходимости. Обычно абсолютная точность решения 10-5 – 10-6 достигается за 4-5 итераций. Недостатком метода является необходимость вычисления на каждом шаге не только левой части F(x) уравнения, но и ее первой производной.
Алгоритм метода Ньютона представлен на рис. 3.7.
Из формулы (3.6) видно что для вычисления каждого нового (текущего) приближения требуется знать лишь одно предыдущее приближение. Эти две величины в блок-схеме названы соответственно хТ и хП.
После ввода исходных данных переменной хП присваивается значение ( ) для того, чтобы первая проверка условия
| хТ – хП | >
обязательно дала значение True.
|
Рис.3.7. Алгоритм метода Ньютона
|
На практике иногда применяется так называемый модифицированный метод Ньютона, который отличается от метода Ньютона тем, что первая производная от F(x) вычисляется лишь один раз в точке х0. Вычислительный процесс модифицированного метода Ньютона описывается формулой:
| (3.7) |
а его геометрическая иллюстрация приведена на рис. 3.6.