> RootOf(а*b^2+а/b,b);
> allvalues(%);
> RootOf(x^3-1,x) mod 7;
> allvalues(%);
> evalf(%);
> RootOf(х^2-2*х+1,х) mod 5;
Итак, функция RootOf является эффективным способом представления решения в компактном виде. Как уже отмечалось, наряду с самостоятельным применением она часто встречается в составе результатов решения нелинейных уравнений.
4.8.7. Решение уравнений со специальными функциями
К важным достоинствам Maple относится возможность решения уравнений, содержащих специальные функции как в записи исходных выражений, так и в результатах решения. Приведем несколько примеров такого рода (файл solvesf):
> restart:eqn := Psi(3*x-99) - Psi(3*x-100) + 3/х^2=0;
![](/pic/1/4/1/7/4/6//i_417.png)
> r:=solve(eqn, {х});
![](/pic/1/4/1/7/4/6//i_418.png)
> eqn := max(x,3*x-12)=min(10*x+8, 22-x);
> r:=solve(eqn, {x});
![](/pic/1/4/1/7/4/6//i_419.png)
> map(subs,[r],eqn);
![](/pic/1/4/1/7/4/6//i_420.png)
> eqn := LambertW(3*x)=ln(x);
> r:=solve(eqn, {x});
> map(subs, [r], eqn);
> evalf(map(subs,[r], eqn));
Полезно обратить внимание на не вполне обычную проверку правильности решений. Иногда при этом выводятся значения левой и правой частей уравнения, требующие осмысления полученных результатов.
4.8.8. Решение неравенств
![](/pic/1/4/1/7/4/6//i_421.jpg)
Рис. 4.35. Примеры, иллюстрирующие решение неравенств
Из приведенных примеров очевидна форма решений — представлены критические значения аргумента, вплоть до не включаемых значений области действия неравенства (они указываются словом Open). Всегда разумным является построение графика выражения, которое задает неравенство — это позволяет наглядно убедиться в правильности решения.
Приведем еще несколько примеров решения неравенств в аналитической форме (файл solveu):
> solve(5*х>10,х);
> solve(5*х>=10,х);
> solve(ln(х)>2,х);
> solve(ехр(х)>10, х);
> solve(a*x>b,{х});
![](/pic/1/4/1/7/4/6//i_422.png)
> eqn := abs(z)^2/(z+1) < ехр(2)/(ехр(1)-1);
![](/pic/1/4/1/7/4/6//i_423.png)
> solve(eqn, {z});
![](/pic/1/4/1/7/4/6//i_424.png)
> eqn := ехр(х)*х^2 >= 1/2;
![](/pic/1/4/1/7/4/6//i_425.png)
> solve(eqn, {x});
![](/pic/1/4/1/7/4/6//i_426.png)
> eqns := abs((z+abs(z+2))^2-1)^2 = 9;
> solve(eqns, {z});
> eqns := { х^2<1, у^2<=1, х+у<1/2 };
> solve(eqns, {x, у});
В последнем примере показано решение системы неравенств. При этом выдаются области определения нескольких переменных.
4.8.9. Решение функциональных уравнений
Решение функционального уравнения, содержащего в составе равенства некоторую функцию f(х), заключается в нахождении этой функции. Для этого можно использовать функцию solve, что демонстрируют приведенные ниже примеры (файл solvefe):
> A:=solve(f(х)^2-х+1,f);