Лабораторная работа: Решение уравнений, неравенств и их систем
> solve(x=-2*cos(x));
В этом примере функция RootOf (_Z + 2 cos(_Z)) представляет любое решение уравнения _Z + 2 cos(_Z) =0. Переменная _Z – это системная переменная, сгенерированная Maple, которая всего лишь заменяет переменную х нашего уравнения. Опция index со значением, равным целому числу, служит для нумерации и упорядочивания корней уравнения. Заметим, что с помощью функции evalf ( ) можно получить приближенные числовые значения функции RootOf.
С помощью команды solve() можно решать и тригонометрические
уравнения. По умолчанию Maple решает их на промежутке [–p, p]. Для получения всех решений тригонометрических уравнений следует задать значение глобальной переменной _EnvAllSolutions равным true. Использование глобальной переменной _EnvAllSolutions показано на следующем примере:
> b:=sin(x)^2-2*sin(x)-1=0;
> s:=solve(b,x);
> _EnvAllSolutions:=true;
> s:=solve(b,x);
> about(_Z1);
Originally _Z1, renamed _Z1~:
is assumed to be: integer
> about(_B1);
Originally _B1, renamed _B1~:
is assumed to be: OrProp(0,1)
Как видно, в случае _EnvAllSolutions:=true Maple действительно строит все решения тригонометрического уравнения с использованием целочисленной системной переменной _Z1~. Знак тильда (~) означает, что на значения переменной наложены некоторые ограничения. В данном случае эта переменная может принимать только целочисленные значения. (В этом можно убедиться, выполнив команду about(_Z1).) Подобные переменные используются Maple для представления всех решений тригонометрических уравнений. Префикс _Zв имени переменной, сгенерированной Марlе, служит указанием того, что эта переменная может принимать только целые значения. Кроме указанных переменных также используются переменные с префиксом _NN, принимающие неотрицательные целые значения, и префиксом _B, для представления переменных с двоичной областью значении (0 или 1).
Для систем аналитических вычислений решение любого трансцендентного уравнения, в том числе и тригонометрического, достаточно сложная и серьезная проблема. Бывает, что простое трансцендентное уравнение может и не решаться в Maple. Здесь следует помнить о том, что Maple использует алгоритмический подход для решения уравнений, и, возможно, ему следует помочь, сделав кое-какие не стандартные преобразования уравнения, приведя его к другому виду.
Обычно, решив уравнение или систему уравнений, мы осуществляем проверку полученного решения, подставляя его в исходное уравнение или систему. Точно также следует поступать и при работе в Maple. Для проверки решений можно использовать функцию eval( ):
> fs:={x+2*y=3,y+1/x=2};
> answ:=solve(fs,{x,y});
> eval(fs,answ[1]);
> eval(fs,answ[2]);