logo
Самоучитель по Maple

34. Визуализация дифференциальных параметров кривых

Визуализация дифференциальных параметров кривых

Дифференциальные параметры функции f(x), описывающей некоторую кривую, имеют большое значение для анализа ее особых точек и областей существования. Так, точки с нулевой первой производной задают области, где кривая нарастает (первая производная положительна) или убывает (первая производная отрицательна) с ростом аргументах. Нули второй производной задают точки перегиба кривой.

Следующая графическая процедура служит для визуализации поведения кривой /, = /(.г) на отрезке изменениях от а до b:

В этой процедуре заданы следующие цвета (их можно изменить): Таблица 12.1. Цвета при визуализации в процедуре shape_plot

Изменение /(х)

Цвет

Возрастание

Синий

Убывание

Красный

Площадь

Цвет

Над минимумом

Зеленый

Под максимумом

Коралловый

Например, для функции:

построенный график будет иметь вид, представленный на рис. 12.43 (естественно, в книге цвета — лишь оттенки серого).

Рисунок 12.43 дает наглядное представление о поведении заданной функции. Рекомендуется опробовать данную процедуру на других функциях. Следует отметить, что, поскольку процедура использует функции ntiroimize и maximize, она может давать сбои при исследовании сложных функций, содержащих специальные математические функции или особенности. Иногда можно избежать такой ситуации, исключив особенность. Например, для анализа функции sin(x)/x можно записать ее в виде:

>f:=x->if x=0 then 1 else sin(x)/x

end if;

shape_plot(f(x),-10,10);

Исполнение приведенной выше строки ввода дает график, представленный на рис. 12.44.

Рис. 12.43.Визуализация поведения функции f(х)

Рис. 12.44.Визуализация поведения функции sin(x)/x

Данная процедура дает хорошие результаты при анализе функций, представленных полиномами. Вы можете сами убедиться в этом.

16.gif

17.gif

18.gif

19.gif

35. Иллюстрация итерационного решения уравнения f(x) = x

Иллюстрация итерационного решения уравнения f (х) = х

Классическим методом решения нелинейных уравнений является сведение их к виду х =f(x) и применение метода простых итераций xk=s(xk-1) при заданном значениих0. Приведем пример такого решения:

>f :=x ->3*1n(x+l);

f:=x-> 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-l) )): od;

xl := 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

xl0:= 5.701181910

x11 := 5.706851745

x12 := 5.709388956

x13:= 5.710523646

x14 — 5.711030964

xl5:= 5.711257755

x16:= 5.711359134

Нетрудно заметить, что значения xkв ходе итераций явно сходятся к некоторому значению. Проведем проверку решения, используя встроенную функцию solve:

Результат выглядит необычно — помимо довольно "очевидного корнях x= 0 значение другого корня получено в виде специальной функции Ламберта. Впрочем, нетрудно найти и его численное значение:

> evalf(%);

0., 5.711441084

Однако как сделать процесс решения достаточно наглядным? Обычно для этого строят графики двух зависимостей — прямой х и кривой f(x) — и наносят на них ступенчатую линию перемещения точки xk. Специальной функции для графиков подобного рода Maple 7 не имеет. Однако можно составить специальную процедуру для их построения .Ее листинг, заимствованный из примера, описанного в пакете обучения системе Maple 7 - PowerTools, представлен ниже:

Параметрами этой процедуры являются: f1 — функция f(x); а и b — пределы изменениях при построении графика; х0 — значение х, с которого начинаются итерации. Исполнив команду:

>rec_p1ot( f(x), 0, 8, х0):

можно наблюдать график, иллюстрирующий итерационный процесс. Он представлен на рис. 12.45.

Рис. 12.45. Иллюстрация процесса итераций

Нетрудно заметить, что для данной функции процесс итераций хотя и не очень быстро, но уверенно сходится к точке пересечения прямой у = х и кривой y=f(x). Вы можете, меняя зависимость f(x), провести исследования сходимости уравнений х = f(x).

20.gif

21.gif

22.gif