Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
L14_Maple1.doc
Скачиваний:
66
Добавлен:
15.02.2016
Размер:
223.23 Кб
Скачать
  1. Решение уравнений

Для решения уравнений используется функция solve(eq,x), где eq – решаемое уравнение, x – имя переменной, относительно которой разрешается уравнение. Пример:

> solve(x^2+x-1=0,x);

> solve(a*x+b=0,x);

> solve(a*x+b=0,b);

Если уравнение имеет несколько решений, то решение уравнения можно присвоить некоторой переменной, например p. Далее можно использовать k-е решение уравнения в виде p[k]:

> p:=solve(x^2+x-1=0,x): p[1];

> simplify(p[1]*p[2]);

Системы уравнений решаются с помощью такой же функции solve({eq1,eq2,...},{x1,x2,...}), только теперь в параметрах функции следует указывать в первых фигурных скобках через запятую уравнения, а во вторых фигурных скобках перечисляются через запятую переменные, относительно которых требуется решить систему. Если необходимо использовать полученные решения уравнений для дальнейших вычислений, то необходимо результат, возвращаемый функцией solve присвоить какой-нибудь переменной, например, p, а затем выполнить команду assign(p). Пример:

  • solve( {x+y=a,x-y=b}, {x,y} );

> p:=solve( {x+y=a,x-y=b}, {x,y} ):

assign(p);

x;

> a:=5;b:=-2;

> p:=solve( {x+y=a,x-y=b}, {x,y} ):

assign(p);

x;

Численное решение уравнений

Попробуем решить уравнение: x6-2x+1=0, используя функцию solve:

> solve(x^6-2*x+1=0,x);

Функция solve дает один корень (1) и набор выражений вида RootOf(_..). Дело в том, что произвольное уравнение степени выше 4 с рациональными коэффициентами может не иметь корней, выразимых в виде радикалов над рациональными числами. Решения таких уравнений называются алгебраическими числами. Данное уравнение неразрешимо в радикалах, и Maple нашла единственный корень, выразимый в радикалах (1), и сообщила, что оставшиеся корни являются алгебраическими числами: корнями многочлена z5+z4+z3+z2+z-1=0 (именно этот многочлен указан в аргументе функции RootOf).

Но можно найти приближенное численное решение при помощи функции fsolve:

> fsolve(x^6-2*x+1=0,x);

Команда solve, применяемая для решения тригонометрических уравнений, находит только главные решения, то есть выводит только одно решение из серии периодических решений:

> solve(sin(2*x)+cos(2*x)=1,x);

Команда solve применяется также для решения неравенств. Решение неравенства выдается в виде интервала изменения искомой переменной. В том случае, если решение неравенства полуось, то в поле вывода появляется конструкция вида RealRange(– , Open(a)), которая означает, что x (– , a), а – некоторое число. Слово Open означает, что интервал с открытой границей. Если этого слова нет, то соответствующая граница интервала включена во множество решений. Например:

> s:=solve(sqrt(x+3)<sqrt(x-1)+sqrt(x-2),x):

convert(s,radical);

Если надо получить решение неравенства не в виде интервального множества типа x (a, b), а в виде ограничений для искомой переменной типа a<x, x< b, то переменную, относительно которой следует разрешить неравенство, следует указывать в фигурных скобках. Например:

> solve(1-1/2*ln(x)>2,{x});

С помощью команды solve можно также решить систему неравенств. Например:

> solve({x+y>=2,x-2*y<=1,x-y>=0,x-2*y>=1},{x,y});

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