Чтение онлайн

ЖАНРЫ

Maple 9.5/10 в математике, физике и образовании

Дьяконов Владимир Павлович

Шрифт:

> r:=solve(eqs, {х, у});

r:= {y = 2, х = -1}, {у = ½, х = 2}

> eval(eqs,r[1]);

{1 = 1, 6 = 6}

> eval(eqs,r[2]);

{1 = 1, 6 = 6}

Для проверки всех решений можно использовать также функции map и subs:

> map(subs,[r],eqs);

[{1 = 1, 6 = 6}, {1 = 1, 6 = 6}]

Maple имеет и еще ряд возможностей для проверки решений, но представленных обычно вполне достаточно

для такой проверки. Ее следует принять за правило при выполнении решений уравнений.

4.8.6. Функция RootOf

В решениях уравнений нередко появляется функция RootOf, означающая, что корни нельзя выразить в радикалах. Эта функция применяется и самостоятельно в виде RootOf(expr) или RootOf(expr, х), где expr — алгебраическое выражение или равенство, х — имя переменной, относительно которой ищется решение. Если переменная х не указана, ищется универсальное решение по переменной _Z. Когда expr задано не в виде равенства, решается уравнение expr=0. Для получения решений вида RootOf в явном виде может использоваться функция allvalues.

Примеры применения функции RootOf (файл RootOf):

> RootOf(х^2+1=0,х);

RootOf (_Z² + 1)

> allvalues(%);

I, -I

> RootOf(а*b^2+а/b,b);

RootOf(_Z³ + 1)

> allvalues(%);

– 1, ½ +½I√3, ½-½I√3

> RootOf(x^3-1,x) mod 7;

RootOf(_Z³ + 6)

> allvalues(%);

– 6(1/3), ½6(1/3)– ½I√3 6(1/3), ½6(1/3) + ½I√3 6(1/3)

> evalf(%);

– 1.817120593, .9085602965-1.573672596 I, .908560296+1.573672596 I

> RootOf(х^2-2*х+1,х) mod 5;

1

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

4.8.7. Решение уравнений со специальными функциями

К важным достоинствам Maple относится возможность решения уравнений, содержащих специальные функции как в записи исходных выражений, так и в результатах решения. Приведем несколько примеров такого рода (файл solvesf):

> restart:eqn := Psi(3*x-99) - Psi(3*x-100) + 3/х^2=0;

> r:=solve(eqn, {х});

> eqn := max(x,3*x-12)=min(10*x+8, 22-x);

eqn := max(x, - 12 + 3x) = min(10x + 8, 22 - x)

> r:=solve(eqn, {x});

> map(subs,[r],eqn);

> eqn := LambertW(3*x)=ln(x);

eqn := LambertW(3x) = ln(x)

> r:=solve(eqn, {x});

r:= {x = e³}

> map(subs, [r], eqn);

[LambertW(3e³) = ln(e³)]

> evalf(map(subs,[r], eqn));

[3.000000000 = 3.000000000]

Полезно

обратить внимание на не вполне обычную проверку правильности решений. Иногда при этом выводятся значения левой и правой частей уравнения, требующие осмысления полученных результатов.

4.8.8. Решение неравенств

Неравенства в математике встречаются почти столь же часто, как и равенства. Они вводятся знаками отношений, например > (больше), < (меньше) и т.д. Решение неравенств существенно расширяет возможности функции solve. При этом неравенства задаются так же, как и равенства. Приведенные на рис. 4.35 примеры поясняют технику решения неравенств.

Рис. 4.35. Примеры, иллюстрирующие решение неравенств

Из приведенных примеров очевидна форма решений — представлены критические значения аргумента, вплоть до не включаемых значений области действия неравенства (они указываются словом Open). Всегда разумным является построение графика выражения, которое задает неравенство — это позволяет наглядно убедиться в правильности решения.

Приведем еще несколько примеров решения неравенств в аналитической форме (файл solveu):

> solve(5*х>10,х);

RealRange(Open(2), ∞)

> solve(5*х>=10,х);

RealRange(2, ∞)

> solve(ln(х)>2,х);

Rea1Range(Open(e²), ∞)

> solve(ехр(х)>10, х);

RealRange(Open(ln(10)), ∞

> solve(a*x>b,{х});

> eqn := abs(z)^2/(z+1) < ехр(2)/(ехр(1)-1);

> solve(eqn, {z});

> eqn := ехр(х)*х^2 >= 1/2;

> solve(eqn, {x});

> eqns := abs((z+abs(z+2))^2-1)^2 = 9;

eqns := |(z +|z + 2|)² - 1|² = 9

> solve(eqns, {z});

{z = 0 }, { z ≤ -2}

> eqns := { х^2<1, у^2<=1, х+у<1/2 };

eqns:={х² < 1, y² ≤ 1, х + y < ½}

> solve(eqns, {x, у});

{y ≤ 1, -1 ≤ y, x+y < ½, -1 < x, x < 1}

В последнем примере показано решение системы неравенств. При этом выдаются области определения нескольких переменных.

4.8.9. Решение функциональных уравнений

Решение функционального уравнения, содержащего в составе равенства некоторую функцию f(х), заключается в нахождении этой функции. Для этого можно использовать функцию solve, что демонстрируют приведенные ниже примеры (файл solvefe):

Поделиться с друзьями: