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

5. Сокращение алгебраической дроби: normal ( ).

Команда normal ( ) приводит выражение, содержащее алгебраические дроби, к общему знаменателю и упрощает полученную алгебраическую дробь, сократив и числитель, и знаменатель на наибольший общий делитель. Команда имеет две формы вызова:

normal (f);

normal (f, expanded);

где f — алгебраическая дробь, а параметр expanded указывает на то, что после сокращения дроби в числителе и знаменателе раскрываются скобки.

Пример 7.Сокращение алгебраических дробей.

> f:=1/x+1/(x+1)^2+1/(x+1);

> normal(f);

Если параметр f задан в виде списка, множества, последовательности, ряда, уравнения, отношения или функции, то команда normal ( ) последова­тельно применяется к компонентам f. Например, для уравнения это означает, что процедура сокращения применяется и к правой, и к левой части уравне­ния. В случае ряда, это означает, что упрощаются коэффициенты ряда, а в случае выражения с несколькими функциями, аргументы которых представ­лены алгебраическими дробями, процедура сокращения применяется к аргументу каждой функции:

> s:=sin(x/(x+1)-x)^2+cos(-x/(x+1)+x);

> normal(s);

> normal(1/x+y=x/y+(3*y)/x);

6. Приведение нескольких членов выражения к одному: combine ( ).

Назначение команды combine ( ) – привести несколько членов в выражении, представленном суммой, произведением или степенями неиз­вестных, к одному члену, используя разнообразные правила. Эти правила, по существу, противоположны правилам, применяемым командой expand ( ). Например, рассмотрим известное тригонометрическое соотношение:

sin(а+b) = sin(a) cos(b) +cos(а) sin( b).

Команда expand ( ) использует его слева направо, тогда как команда combine ( ) действует наоборот:

> expand(sin(a+b));

> combine(sin(a)*cos(b)+cos(a)*sin(b));

Однако рассмотрим еще один пример:

> g:=sin(a+b)^2;

> s:=expand(g);

> f:=combine(s);

Как видно из примера, команда combine ( ) преобразовала выражение s не к ис­ходному выражению g, которое мы раскрыли функцией expand ( ). Это проис­ходит потому, что Марlе осуществляет приведение членов выражения по своим внутренним алгоритмам, которые завершаются, как только получилось (или не получилось) представление в соответствии с идеологией команды combine ( ). В нашем примере - представление через тригонометрическую функцию с аргументом, являющимся линейной комбинацией аргументов тригонометрических функций преобразуемого выражения. Если мы хотим получить исходный вид выражения g, то следует воспользоваться командой подстановки subs ( ), параметры которой определяют, что на что следует заменить в выражении:

> subs(cos(2*a+2*b)=-2*sin(a+b)^2+1,f);

Команда combine ( ) “знакома” с практически всеми правилами пре­образования элементарных математических функций. Если вторым ее пара­метром задать одно из следующих имен:

abs exp piecewise Psi Signum arctan icombine polylog radical trig conjugate ln power range

которые соответствуют используемым в Maple функциям, то при преобразо­вании выражения будут использоваться только правила преобразования соот­ветствующих функций. Для функций, правила преобразования которых за­висят от значения их аргументов (arctan) или которые имеют ограничения на значения аргументов (ln, radical), можно задать третий параметр symbolic, который будет предписывать функции combine ( ) не обращать внимания на интервалы изменения аргументов подобных функций, а осуществлять формальные символические преобразования в соответствии с формулами преобразования этих функций.