8.9.3. Иллюстрация итерационного решения уравнения f(x)=х
Классическим методом решения нелинейных уравнений является сведение их к виду х = f(x) и применение метода простых итераций х k = s(х k-1) при заданном значении x 0. Приведем пример такого решения:
> f := х ->3*ln(x+1);
f := х→3ln(x + 1)
> x||0 := 0.5;
x0 :=.5
> x0 := .5;
x0 :=.5
> for k from 1 to 16 do x||k := evalf(f(x||(k-1))); od;
x1 := 1.216395324
x2 := 2.387646445
x3 : = 3.660406248
x4 : = 4.617307866
x5 := 5.177557566
x6 : = 5.462768931
x7 := 5.598173559
x8 := 5.660378631
x9 := 5.688529002
x10 := 5.701181910
x11 := 5.706851745
x12 := 5.709388956
x13 := 5.710523646
x14 := 5.711030964
x15 := 5.711257755
x16 := 5.711359134
Нетрудно заметить, что значения х_k в ходе итераций явно сходятся к некоторому значению. Проведем проверку решения, используя встроенную функцию solve:
> f(x) = х; solve(%, х);
3 ln(x + 1) = х
0, -3LambertW(-1, -1/3e (-1/3))-1
Результат выглядит необычно — помимо довольно очевидного корня х=0 значение другого корня получено в виде специальной функции Ламберта. Впрочем, нетрудно найти и его численное значение:
> evalf(%);
0., 5.711441084
К нему и стремятся промежуточные результаты решения. Однако как сделать процесс решения достаточно наглядным? Обычно для этого строят графики двух зависимостей — прямой х и кривой f(x) — и наносят на них ступенчатую линии перемещения точки х_k. Специальной функции для графиков подобного рода Maple не имеет. Однако можно составить специальную процедуру для их построения. Ее листинг, взятый из примера, описанного в пакете обучения системе Maple — PowerTools —представлен на рис. 8.60.
Рис. 8.60. Иллюстрация процесса итераций
На рис. 8.60 представлено задание процедуры rec_plot( f1, а, b, х0).
Параметрами этой процедуры являются: f1 — функция f(x): а и b — пределы изменения х при построении графика; х0 — значение х, с которого начинаются итерации. Используя эту процедуру можно наблюдать график, иллюстрирующий итерационный процесс. Он представлен на рис. 8.60 снизу.
Нетрудно заметить, что для данной функции процесс итераций, хотя и не очень быстро, но уверенно сходится к точке пересечения прямой у=х и кривой y=f(x). Вы можете, меняя зависимость f(x), провести исследования сходимости уравнений x=f(x).
8.9.4. Визуализация ньютоновских итераций в комплексной области
Теперь займемся довольно рискованным экспериментом — наблюдением ньютоновских итераций с их представлением на комплексной плоскости. На рис. 8.61 задана функция f(z) комплексного аргумента. Проследить за поведением этой функции на комплексной плоскости в ходе ньютоновских итераций в соответствии с выражением z=f(z) позволяет графическая функция complexplot3d из пакета plots.
Рис. 8.61. Наблюдение за процессом ньютоновских итераций в трехмерном пространстве
Наблюдаемая картина весьма необычна и свидетельствует о далеко не простом ходе итерационного процесса. А рискованной эта задача названа потому, что в предшествующих версиях Maple она нередко вела к «зависанию» компьютера.
8.10. Визуализация геометрических построений
8.10.1. Визуализация теоремы Пифагора
Средства Maple 9.5 весьма удобны для визуализации геометрических построений.
Примером наглядного геометрического представления математических понятий является визуализация известной теоремы Пифагора (рис. 8.62).
В этом примере используется функция построения многоугольников. Наглядность построений усиливается выбором разной цветовой окраски треугольников и квадрата.
Рис. 8.62. Графическая иллюстрация к теореме Пифагора
Читать дальше
Конец ознакомительного отрывка
Купить книгу