Maple 9.5/10 в математике, физике и образовании - Владимир Дьяконов
Шрифт:
Интервал:
Закладка:
Она позволяет исследовать выражение expr, заданное в виде зависимости от переменной х, на непрерывность. Если выражение непрерывно, возвращается логическое значение true, иначе — false. Возможен также результат типа FAIL. Параметр 'closed' показывает, что конечные точки должны также проверяться, а указанный по умолчанию параметр 'open' — что они не должны проверяться.
Работу функции iscont иллюстрируют следующие примеры (файл fanal):
> iscont(1/х^2,х=-1..1);
false> iscont(1/х^2,х=-1..1,'closed');
false> iscont(1/x,х=0..1);
true> iscont(1/x,x=0..1,'closed');
false> iscont(1/(x+a),x=-1..1);
FAILРекомендуется внимательно присмотреться к результатам этих примеров и опробовать свои собственные примеры.
5.1.9. Определение точек нарушения непрерывности
Функции, не имеющие непрерывности, доставляют много хлопот при их анализе. Поэтому важным представляется анализ функций на непрерывность. Начиная с Maple 7, функция discont(f,x) позволяет определить точки, в которых нарушается непрерывность функции f(x). Она вычисляет все точки в пределах изменения х от –∞ до +∞. Результаты вычислений могут содержать особые экстрапеременные с именами вида _Zn~ и _NNn~. В частности, они позволяют оценить периодические нарушения непрерывности функций. Примеры применения функции discont приведены ниже (файл fanal):
> discont(1/(х-2),х);
{2}> discont(1/((х-1)*(х-2)*(х-3)),х);
{1, 2, 3}> discont(GAMMA(х/2),х);
{-2_NN1~}Весьма рекомендуется наряду с применением данной функции просмотреть график анализируемой функции.
Еще раз полезно обратить внимание на то, что в ряде примеров в выводе используются специальные переменные вида _NameN~, где Name — имя переменной и N — ее текущий номер. После выполнения команды restart отсчет N начинается с 1. Если вывод с такими переменными уже применялся, то их текущие номера могут казаться произвольными. Специальные переменные часто используются для упрощения выводимых выражений.
5.1.10. Нахождение сингулярных точек функции
Многие операции, такие как интегрирование и дифференцирование, чувствительны к особенностям функций, в частности, к их разрывам и особым точкам. Напомним, что разрыв характеризуется двумя значениями y(x) в точке разрыва на оси абсцисс xр. Возможны разрывы с устремлением функции к бесконечности с той или иной стороны от точки хр. Функции могут иметь один разрыв или конечное число разрывов.
Функция singular(expr, vars) позволяет найти особые (сингулярные) точки выражения expr, в которых она испытывает разрывы. Дополнительно в числе параметров может указываться необязательный список переменных. Примеры применения этой функции приведены ниже (файл fanal):
> singular(ln(х)/(x^2-a));
{а = а, х = 0}, {а = x², x = x}> singular(tan(х));
{x = _Z22~ π + ½π}> singular(1/sin(х));
{x=π_Z21~}> singular(Psi(х*y),{х,y});
> singular(x+y+1/x,{х,у});
{у=у, x=0}, {у=у, x=-∞}, {y=∞, x=x}, {y=–∞, x=x}, {x=∞,y=y}5.1.11. Вычисление асимптотических и иных разложений
Важным достоинством системы Maple является наличие в ней ряда функций, позволяющих выполнять детальный анализ функций. К такому анализу относится вычисление асимптотических разложений функций, которые представляются в виде рядов (не обязательно с целыми показателями степени). Для этого используются следующая функция:
asympt(f,x)
asympt(f,х,n)
Здесь f — функция переменной х или алгебраическое выражение; х — имя переменной, по которой производится разложение; n — положительное целое число (порядок разложения, по умолчанию равный 6). Ниже представлены примеры применения этой функции (файл fanal):
> asympt(х/(1-х^2),х);
> asympt(n!,n,3);
> asympt(exp(x^2)*(1-exp(x)), x);
> asympt(sqrt(Pi/2)*BesselJ(0,x), x, 3);
5.1.12. Пример анализа сложной функции
Ниже мы рассмотрим типичный анализ достаточно «сложной» функции, имеющей в интересующем нас интервале изменения аргумента х от -4 до 4 нули, максимумы и минимумы. Определение функции f(x), ее графики и график производной df(x)/dx даны на рис. 5.3. Этот рисунок является началом полного документа, описываемого далее (файл analizf).
Рис. 5.3. Задание функции F(x) и построение графиков функции и ее производной
Функция F(x), на первый взгляд, имеет не совсем обычное поведение вблизи начала координат (точки с х=у=0). Для выяснения такого поведения разумно построить график функции при малых x и у. Он также представлен на рис. 5.2 (нижний график) и наглядно показывает, что экстремум вблизи точки (0,0) является обычным минимумом, немного смешенным вниз и влево от начала координат.
Теперь перейдем к анализу функции F(x). Для поиска нулей функции (точек пересечения оси х) удобно использовать функцию fsolve, поскольку она позволяет задавать область изменения х, внутри которой находится корень. Как видно из приведенных ниже примеров, анализ корней F(x) не вызвал никаких трудностей, и все корни были уточнены сразу:
> fsolve(F(х),х,-2...-1);
-1.462069476> fsolve(F(x),х,-.01..0.01);
0.> fsolve(F(х),х,-.05..0);
-.02566109292> fsolve(F(x),х,1..2);
1.710986355> fsolve(F(x),x,2.5..3);
2.714104921Нетрудно заметить, что функция имеет два очень близких (но различных) корня при x близких к нулю.
Анализ функции на непрерывность, наличие ее нарушений и сингулярных точек реализуется следующим образом:
> iscont(F(x),x=-4..4);
true> discont(F(x),x);
{ }> singular(F(x));
{x = ∞}, {x = -}Этот анализ не выявляет у заданной функции каких-либо особенностей. Однако это не является поводом для благодушия — попытка найти экстремумы F(x) с помощью функции extrema и минимумы с помощью функции minimize завершаются полным крахом:
> extrema(F(x),{},х,'s');s;
s> minimize(F(х),х=-.1...1);
minimize( .05x +xe(-|x|) sin(2x), x=-.1..1)> minimize(F(x),x=-2.5..-2);
minimize(.05x + xe(-|x|) sin(2x), x = -2.5 .. -2)Приходится признать, что в данном случае система Maple ведет себя далеко не самым лучшим способом. Чтобы довести анализ F(x) до конца, придется вновь вспомнить, что у функции без особенностей максимумы и минимумы наблюдаются в точках, где производная меняет знак и проходит через нулевое значение. Таким образом, мы можем найти минимумы и максимумы по критерию равенства производной нулю. В данном случае это приводит к успеху:
> fsolve(diff(F(х),х)=0,х,-.5.. .5);
-.01274428224> xm:=%;
xm:=-.0003165288799> [F(xm),F(xm+.001),F(xm-.001)];
[-.00001562612637, .00003510718293, -.00006236451216]> fsolve(diff(F(x),x)=0,x,-2.5..-2);
-2.271212360> fsolve(diff(F(x),x)=0,x, 2..2.5);
2.175344371Для случая поиска максимумов:
> maximize(F(х),х=-1..-.5);
maximize( .05 x + xe(-x|) sin(2 x), x =-1..-.5)> fsolve(diff(F(x), x), x,-1.. -.5);
-.8094838517> fsolve(diff(F(x),x),x,.5..2);
.8602002115> fsolve(diff(F(x),x),x, -4..-3);
-3.629879137> fsolve(diff(F(x), x), x, 3..4);
Итак, все основные особые точки данной функции (нули, минимумы и максимумы) найдены, хотя и не без трудностей и не всегда с применением специально предназначенных для такого поиска функций.
5.1.13. Maplet-инструмент по анализу функциональных зависимостей
Для анализа функциональных зависимостей Maple 9.5 имеет специальный Maplet-Инструмент. Он вызывается командой Tools→Tutors→Calculus-Single Variable→Curve Analysis…. Она открывает окно инструмента, показанное на рис. 5.4.
Рис. 5.4. Окно Maplet-инструмента анализа функциональных зависимостей
В верхней правой части окна имеются панели для ввода функциональной зависимости f(x) и границ а и b изменения аргумента х. Под ними имеется набор опций для задания того или иного параметра кривой, например ее максимумов Maximum, минимумов Minimum и др. После нажатия клавиши Calculate вычисляются координаты характерных точек или области определения тех или иных особенностей кривой.
График анализируемой кривой появляется в левой части окна. В нем строятся точки корней, перегибов и экстремумов зависимости. Цветом выделяются участки, на которых зависимость нарастает или падает. Кнопка Display порождает запись команды, которая строит полученный рисунок.