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

21. Одиночные нелинейные и тригонометрические уравнения. Решение одиночных нелинейных уравнений

Решение одиночных нелинейных уравнений вида 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 может использоваться для решения тригонометрических уравнений:

> solve (sin (х) =.2, х);

.2013579208

> solve(sin(х)-1/2,х);

> solve(cos(х)=.5, х);

1.047197551

Однако из приведенных примеров видно, что при этом найдено только одно (главное) решение. Оно ищется в интервале [-π, π]. Периодичность тригонометрических функций и связанная с этим множественность решений оказались проигнорированы. Однако можно попытаться найти все периодические решения, выполнив следующую команду:

> _EnvAllSolutions:=true;

_EnvAllSoIutions := true

Указанная в ней системная переменная отвечает за поиск всех периодических решений, когда ее значение равно true, и дает поиск только главных решений при значении false, принятом по умолчанию. Так что теперь можно получить следующее:

> solve(sin(х)=1/2,х);

Здесь вспомогательные переменные _ВI~ и _ZI~ могут иметь только целочисленные значения (знак ~ означает, что на них наложено ограничение — в нашем случае в виде целочисленности возможных значений).

На рис. 4.31 показан более сложный случай решения нелинейного уравнения видаf1(х)=f2(x), где f1(х)=sin(x) и f2(х)=cos(x)-1. Решение дано в графическом виде и в аналитическом для двух случаев — нахождения главных значений корней и нахождения всех корней. Обратите внимание на команду _EnvAllSolutions:=true задающую поиск всех корней.

Рис. 4.31. Пример решения уравнения, имеющего периодические решения

В подобных решениях встречаются переменные _В1~ и означающие ряд натуральных чисел. Благодаря этому через них можно представить периодически повторяющиеся решения.

Примеры решения уравнений с обратными тригонометрическими функциями показаны ниже:

> eqns := 2*arcsin(x) — arccos(5*x);

eqns := 2 arcsin(x) - arccos(5x)

> solve(eqns, {x});

> eqns := arccos(x) — arctan(x/2);

eqns := arccos(x) - arctan(½x)

> solve(eqns, {x});

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