Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MAPLE.doc
Скачиваний:
221
Добавлен:
24.03.2015
Размер:
1.52 Mб
Скачать

Операции над степенными многочленами с отрицательными степенями

Хотя в подавляющем большинстве случаев используются степенные многочлены (полиномы) с положительными степенями, Maple не накладывает особых ограничений и на многочлены с отрицательными степенями. Например, можно задать такой степенной многочлен:

> pp:=а*х^(-2)+b*x^(-1)+c*x+d+e*x^2+f*х^3;

Нетрудно показать, что с ним можно выполнять различные операции:

> рр+рр;

> рр-рр;

0

> pp^2

> simplify(%);

> Diff(pp, x)=diff(pp, x)

> Int(pp,x);

> int(рр,х);

Хотя Maple и не накладывает ограничений на применение степенных многочленов (полиномов) с отрицательными степенями свойства таких полиномов заметно отличаются от свойств полиномов с положительными степенями, поэтому при применении первых надо проявлять известную осторожность.

10. Решение уравнений и неравенств.

Решение одиночных нелинейных уравнений вида f(х)=0 легко обеспечивается функций solve(f(x),x). Это демонстрируют следующие примеры (файл solve):

> solve(х^3-2*х+1,х);

> solve(х^(3/2)=3,х);

3(2/3)

> evalf(%);

2.080083823

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

e4

> evalf(%);

54.59815003

Если уравнение записывается без правой части, то это означает, что она равна нулю. Часто бывает удобно представлять уравнение и его решение в виде отдельных объектов, отождествленных с определенной переменной (файл solve):

> eq:=(2*х^2+х+3=0);

eq := 2x²+x+3 = 0

> s: = [solve(eq,x)];

В частности, это позволяет легко проверить решение (даже если оно не одно, как в приведенном примере) подстановкой (subs):

> subs(x=s[1],eq);

> subs(x=s[2],eq);

> evalf(%);

0. + 0.I = 0.

Сводящиеся к одному уравнению равенства вида f1(х)=f2(x) также решаются функцией solve(f1(x)=f2(x),x):

> solve(х^4=-х-1,х);

RootOf(_ Z4 + _Z + 1, index = 1), RootOf (_Z4 + _Z + 1, index = 2), RootOf(_Z4 + _Z + 1, index = 3), RootOf(_ Z4 +_Z + 1, index = 4)

> evalf(%);

.7271360845 + .9340992895 I, -.72711360845 + .4300142883 I, -.7271360845 - .4300142883 I, .7271360845 - .9340992895 I

> solve({exp(x)=sin(x)},x);

{x = RootOf(_ Z-ln(sin(_Z)))}

> evalf(%);

{x = .3627020561 - 1.133745919I}

> solve(x^4=2*x,x);

> evalf(%);

0., 1.259921050, -.6299605250 + 1.091123636 I, -.6299605250 - 1.091123636 I

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

Некоторые даже с виду простые уравнения могут дать неожиданные для многих пользователей результаты. Пример такого рода приведен ниже (файл solve):

> restart;eq:=ехр(-х)=х;sol:=solve(exp(-х)=х,х);

eq := е(-х) = х sol = LambertW(1)

> evalf(sol);

0.5671432904

В данном случае решение получено через значение специальной функции Ламберта. Впрочем, с помощью функции evalf его можно представить в численном виде.

Неравенства в математике встречаются почти столь же часто, как и равенства. Они вводятся знаками отношений, например > (больше), < (меньше) и т.д. Решение неравенств существенно расширяет возможности функции 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}

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]