- •1. Лабораторная работа
- •Основные правила работы в Maple. Константы, переменные, операции, функции
- •Команда restart и подключение библиотек
- •Контекстное меню математических выражений
- •Интерфейс справочной системы
- •Анализ ошибок (Error)
- •Построение графиков
- •Функции преобразования математических выражений
- •Решение уравнений и неравенств
- •Контрольные вопросы
- •Контрольные задания
Функции преобразования математических выражений
Maple имеет следующие встроенные функции для преобразования математических выражений:
simplify() – упростить;
expand() – раскрыть скобки;
factor() - разложить на множители;
normal() - привести к общему знаменателю;
combine() - преобразовать степени (или тригонометрическое выражение);
collect() - привести подобные члены.
В скобках функций вводится аналитическое выражение или его имя - идентификатор, а также параметры, часть которых может отсутствовать. Например, применяя collect(), для того чтобы не было сообщения об ошибке, необходимо указать переменную, по степеням которой приводятся подобные члены. В simplify() может быть добавлена встроенная функция assume(), задающая условия, при которых происходит упрощение. Функция combine() также имеет необязательные параметры.
Рассмотрим примеры:
> simplify((a^3 – b^3)/(a- b));
a2 +ba + b2
>expand((a-b)*(a^2 + a*b + b^2));
>factor(a^3 – b^3);
>normal
>combine(x^( 1/2)*х^(3/2));
> collect(x^2 + 3*x^2 + 4*x + 4*x + y, x);
>simplify{2*a/sqrt(a^2), assume(a < 0));
-2
Перечисленные встроенные функции упрощают алгебраические выражения с целыми степенями, но в случае рациональных степеней они, как правило, возвращают заданное выражение. Например, ни одна из функций не упрощает выражение
> simplify((x -y)/(sqrt(x) + sqrt(y)));
Поэтому, прежде чем упрощать алгебраическое выражение, содержащее степени с дробными показателями, необходимо перейти к алгебраическому выражению, содержащему степени с целыми показателями.
Допустим нам необходимо упростить
Выражение вводится как функция f(х):
>f:=x->((sqrt(x) + l)/(x*sqrt(x) +x + sqrt(x)))*(x^2 - sqrt(x));
Переходим к степеням с натуральными показателями, для этого подставляем вместо x – a^2:
>f(a^2);
Знак тильда ~ при а указывает на то, что на переменную наложены ограничения.
Упрощаем функцию и получаем следующее
>simplify(%);
Делаем обратную подстановку и получаем ответ
x-1
Упростим выражение
Посмотрим, что даст функция simplify():
>f:=x*|x – 3|/((х^2 -х - 6)*|x|);
> simplify(f);
Упростить выражение не получилось. Если 0 < х < 3 , то под знаком модуля стоит отрицательное число, а если х < 0 или х > 0, то положительное. С помощью функции assume() зададим условия для х:
> simplify(f, assume(x>3 or x<0 ));
> simplify(f, assume(x>0,x<3));
Ответ: , если 0<х<3;, если х<0 или х>3.
Решение уравнений и неравенств
В Maple 14 имеется встроенная функция solve(уравнение или неравенство, переменная), предназначенная для решения уравнений и неравенств. Если уравнение или неравенство имеет одну переменную, то имя переменной в функции можно опустить.
Например, необходимо решить алгебраическое уравнение
Для этого вводим уравнение:
> (x^2 + 1)/(x-4)-(х^2-1)/(х+3)=23
Уравнение набрано верно. С помощью функции solve() решаем уравнение:
> solve(%);
Решим следующее уравнение с параметрами
Вводим уравнение:
>b/(x-a) + a/(x+b)
Поскольку переменных несколько, то необходимо указать переменную х, относительно которой решается уравнение:
> solve(%, x);
Получили два корня:
Проверку правильности решения можно осуществить встроенной функцией subs(), которая вычисляет значение выражения. Функция subs(x = a, f) имеет несколько аргументов, где х — переменная в выражении f; а — значение переменной х.
Например, решаем уравнение
5х2+|х + 7|-13 = 0.
> solve(5*x^2 + abs(x+7) - 13 = 0);
Сделаем проверку:
> subs(x = 1, 5*х^2 + abs(x + 7) - 13 = 0);
-8 + |8| = 0
>subs(x = -6/5, 5*х^2 + abs(x + 7) - 13 = 0);
Решение верное.
Решим иррациональное уравнение
> (1 + sqrt(x))^(1/3) + (1 - sqrt(x))^(1/3) =2;
>solve(%);
0
С помощью функции solve() можно решать системы уравнений, при этом уравнения и неизвестные указываются в фигурных скобках {} через запятую [1]. Например, необходимо решить систему уравнений
Решение будет следующим:
>solve({x^2*y-x*x^2 = 6,x*y+x+y=5},{x,y})
Действительных решений системы уравнений два: (2, 1) и (1, 2).
Для тригонометрического уравнения функция solve() по умолчанию возвращает только один корень. Для возвращения множества корней необходимо использовать необязательный аргумент AUSolutions. Например,
> solve{sin{x) = 1/2, х, AllSolutions);
Форма ответа здесь необычная, однако корни уравнения найдены правильно. Переменная _В, независимо от индекса, принимает значения из множества {0, 1}, а значения Z принадлежат множеству целях чисел. Таким образом, полученное множество корней уравнения можно представить в виде
и записать в привычной форме
Решим тригонометрическое уравнение
3sin2 2х + 7cos2x - 3 = 0.
> solve{3*sin(2*x)^2 + 7*cos(2*x) - 3=0, х, AllSolutions);
Решим систему тригонометрических уравнений
Решение следующие:
>solve({cos(x) + cos(y) = sqrt{3), х+у = Pi/3} ,{x, у});
Ответ:
Теперь рассмотрим решение неравенств и систем неравенств. Например, решим иррациональное неравенство
>solve(sqrt(24 - 10х + х*х) > х - 4);
RealRange(-
Решим неравенство
>solve()
RealRange(Open(0),Open(1/2)),RealRange(Open(1),Open(2)), RealRange(Open(3),Open(6))
Ответ: ( 0,1/2)(l,2)(3,6).