Пусть отрезок кривой f(х), при х в интервале [a, b], вращается вокруг оси 0х. Тогда объем полученной фигуры вращения равен:
Для вычисления этого объема служит Maplet-инструмент Volume of Revolution. Его окно (рис. 4.30) открывается исполнением команды Tools→Tutors→Calculus-Single Variables→Volume of Revolution…. Работа с окном вполне очевидна. На графике строится кривая функции и поверхность вращения этой кривой в 3D прямоугольной системе координат. Вычисляется значение объема полученной фигуры. Вычисления возможны и при вращении отрезка кривой вокруг оси 0у.
Рис. 4.30. Окно Maplet-инструмента для иллюстрации вычисления объема фигуры, полученной вращением отрезка кривой
4.8. Решение уравнений и неравенств
4.8.1. Основная функция solve
Одиночное
При наличии аналитического решения оно находится путем поиска в ядре необходимых формул, описывающих такое решение. Но далеко не всегда нелинейные уравнения имеют аналитическое решение. В этом случае решение возможно численными методами.
Maple 9.5 имеет мощные средства для решение линейных и нелинейных
solve(eqn, var)
или
solve({eqn1,eqn2,...},{var1,var2,...})
где eqn — уравнение, содержащее функцию ряда переменных, var — переменная, по которой ищется решение. Если при записи eqn не используются знак равенства или знаки отношения, считается, что solve ищет корни уравнения eqn=0. Если eqn полином, то solve вычисляет все корни полинома — как действительные, так и комплексные.
Характер решений можно изменить с помощью глобальных системных переменных:
_EnvExplicit — при значении true выдает решение без применения конструкции RootOf;
_EnvAllSolutions — при значении true задает выдачу всех решений;
_SolutionsMayBeLost — при значении true дает решение, которое при обычном применении функции solve возвращает значения NULL;
_MaxSols — задает максимальное число решений;
_EnvTryHard — при значении true может дать компактное решение, но это может потребовать увеличения времени вычислений.
В решениях могут встречаться следующие обозначения:
_NN — указывает на неотрицательные решения;
_В — указывает на решения в бинарной форме;
_Z — указывает на то, что решение содержит целые числа;
%N — при текстовом формате вывода задает общие члены решения и обеспечивает более компактную форму его представления.
В форме solve[subtopic] возможны параметры subtopic функции solve следующих типов:
floats functions identity ineq linear
radical scalar series system
При решении систем уравнений они и список переменных задаются как множества, то есть в фигурных скобках. При этом и результат решения получается в виде множества. Чтобы преобразовать его к обычному решению, нужно использовать функцию assign, которая обеспечивает присваивание переменным значений, взятых из множества.
Функция solve старается дать решение в аналитическом виде. Это не означает, что ее нельзя использовать для получения корней уравнений в численном виде. Просто для этого придется использовать функции evalf или convert. Если результат решения представлен через функцию RootOf, то зачастую можно получить все корни с помощью функции allvalues.
4.8.2. Решение одиночных нелинейных уравнений
Решение одиночных нелинейных уравнений вида f(х)=0 легко обеспечивается функций solve(f(x),x). Это демонстрируют следующие примеры (файл solve):
> solve(х^3-2*х+1,х);
> solve(х^(3/2)=3,х);
> evalf(%);
> solve(sqrt(ln(х))=2,х);
> evalf(%);
Если уравнение записывается без правой части, то это означает, что она равна нулю. Часто бывает удобно представлять уравнение и его решение в виде отдельных объектов, отождествленных с определенной переменной (файл solve):
> eq:=(2*х^2+х+3=0);
> s: = [solve(eq,x)];
В частности, это позволяет легко проверить решение (даже если оно не одно, как в приведенном примере) подстановкой (subs):
> subs(x=s[1],eq);
> subs(x=s[2],eq);
> evalf(%);
Сводящиеся к одному уравнению равенства вида
