Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЭО Лаб работа 1.doc
Скачиваний:
54
Добавлен:
31.03.2015
Размер:
1.39 Mб
Скачать

Функции преобразования математических выражений

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; а — значение перемен­ной х.

Например, решаем уравнение

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).

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