АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

ИСПОЛЬЗОВАНИЕ КОМАНД ПРЕОБРАЗОВАНИЯ ВЫРАЖЕНИЙ MAPLE ДЛЯ МАТЕМАТИЧЕСКИХ ВЫЧИСЛЕНИЙ

Читайте также:
  1. III. Использование альфа-каналов
  2. IV. Алгоритм действий командира (начальника) при увольнении военнослужащего в связи с невыполнением им условий контракта
  3. MS EXCEL. Использование электронного табличного процессора excel: построение графиков. Взаимодействие excel с другими приложениями windows.
  4. Q.50 Обратитесь к выставке. НОК техником на провайдера входит в команду, показанную. Назовите две причины, чтобы использовать эту команду? (Выберите два.)
  5. The House on Maple Street
  6. V. Рабочее время и его использование
  7. VI регионального слета студенческих спасательных отрядов среди команд Сибирского федерального округа
  8. Авария Як-42 с командой «Локомотив»
  9. Адамантиевый стрелок командир
  10. Адекватность математических методов.
  11. Алфавит Maple-языка и его синтаксис. Основные объекты (определение, ввод, действия с ними). Числа. Обыкновенные дроби.
  12. Анализ математических аксиом

Цели работы:

· знать команды, наиболее часто используемые при выполнении

аналитических вычислений;

· уметь применять указанные команды для решения математических

задач.

 

ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ.

 

1. Команды преобразования выражений.

Процесс работы в Maple состоит в том, что пользователь создает переменные, присваивает им символьные выражения и производит над ними некоторые действия в соответствии с алгоритмом решения поставленной задачи, использую стандартные функции или написанные собственные процедуры.

Синтаксис вызова стандартной команды следующий:

команда (пар_1, пар_2,..., пар_n);

Здесь команда - это имя вызываемой функции, а пар_1, пар_2,... означают необходимые для выполнения команды параметры, которые могут быть пе­ременными или даже выражениями, причем их тип должен соответствовать типу параметров используемой функции. Отметим, если команда завершает­ся точкой с запятой, то результаты ее выполнения отображаются в области вывода, если команда завершается двоеточием, то она выполняется, но никакого вывода результатов не происходит.

Система обозначений функций в Maple интуитивно проста. Обычно имя функции соответствует действию, которое она выполняет (следует учесть, что все имена заданы на английском языке). Например, ясно, что функция с именем simplify () осуществляет некоторые упрощения над выражением, заданным в качестве ее параметра.

Для некоторых команд существуют активная и пассивная формы. Активная форма команды (в случае ее вызова) немедленно выполняется, а ее имя начинается со строчной буквы. Пассивная форма команды не выполня­ется немедленно, а просто в области вывода отображается математическая запись того, что она может сделать. Ее имя начинается с прописной буквы. В дальнейшем, если в операторе присваивания для некоторой переменной в правой части задана пассивная форма команды, то командой value () ее можно вычислить. Основное предназначение пассивных форм команд - это исполь­зование их как средства документирования производимых действий в обыч­ной математической нотации. Примерами команд с двумя формами являются команда дифференцирования (diff и Diff), интегрирования (int и Int) и др.

Пример 1. Пассивная и активная формы команд.

> k:=Int(cos(x)^3,x);

> k=int(cos(x)^3,x);

> value(k);

Если команды и функции являются частью ядра системы Maple, то они всегда доступны пользователю. А для вызова других команд и функций необходимо подключить библиотеку или пакет, в которых они расположены. Для этого служат команды readlib () и with (). Первая подключает библиотеку, вторая - пакет. Параметром этих команд является имя библиотеки или пакета, функции которых пользователь желает использовать.

Команды и функции Maple, наиболее часто используемые при аналити­ческих преобразованиях, располагаются в его системном ядре – части программного обеспечения системы аналитических вычислений, постоянно находящейся в памяти компьютера. К ним относятся команды, выполняющие разнообразные преобразования выражений, получающие решение уравнений и систем уравнений, дифференцирующие функции и т. д. В данной работе вводятся команды, наиболее часто используемые при выполнении аналити­ческих вычислений.

 

2. Упрощение выражения: simplify ().

Команда simplify () предназначена для упрощения разнообразных вы­ражений, составленных из чисел, переменных и элементарных функций. Заметим, что Maple может его упростить, а может и не упростить, так как он использует свои внутренние алгоритмы упрощения, результат выполнения которых может не совсем соответствовать взглядам пользователя на то, как он хотел бы упростить выражение и в каком виде его получить.

Эта команда имеет несколько форм вызова. Ее самый простой синтаксис имеет следующий вид:

simplify (выражение);

В скобках указывается выражение, подлежащее упрощению. Команда simplify () ищет в выражении вызовы функций, квадратные корни, радикалы и степени и инициализирует подходящие процедуры упрощения. Реально команда simplify () реализована в виде набора процедур упрощения, хранящихся в основной библиотеке Maple. Перечислим некоторые из них, остальные можно найти в справке по этой команде (например, установив курсор в рабочем листе на ее имя и нажав клавишу <F1>): `simplify/exp` - для упрощения выражений с экспоненциальными функциями, `simрlifу/ln` - для упрощения выражений с логарифмами, `simplifу/sqrt` - для упрощения выражений, содержащих квадратные корни, `simplifу/trig` - для упрощения выражении с тригонометрическими функциями, `simplifу/radical` - для упрощения выражений с радикалами (дробные степени), `simplifу/power` - для упрощения выражений со степенями, экспонентами и логарифмами и т.д. По умолчанию Maple пытается использовать максимальный набор функций упрощения, подходящий к конкретному выражению.

В команде можно задать конкретные процедуры упрощения, и тогда только они будут использоваться для упрощения заданного выражения, а не весь возможный, установленный по умолчанию набор. Это обеспечивается следующим синтаксисом команды:

simрlifу(выражение, nl, n2,...);

Здесь nl, n2 и т. д. являются именами процедур упрощения: Ei, GAMМА, RootOf, @, hypergeom, ln, polar, power, radical, sqrt, trig. Полную информацию о формулах упрощения при использовании перечисленных значений параметров можно получить с помощью команды?simplify [имя], где [имя] - одно из значений параметров функции упрощения.

Упрощения выражений можно проводить с различными видами чисел, например, положительными или принадлежащими некоторому отрезку действительных чисел. Это достигается с помощью параметра assume=свойство. Форма вызова команды при этом имеет вид:

simplify (выражение, аssumе=свойство);

где параметр свойство может принимать одно из следующих значений:

complex - комплексная область, real - действительная область, positive - положительные действительные числа, integer - целые числа, RealRange(a,b) - интервал (а,b) действительных чисел.

Примеры использования команды упрощения выражений simplify() представлены ниже:

Пример 2. Упрощение выражений.

> c:=ln(exp(x))+x*ln(exp(x));

> simplify(c);

> simplify(c,assume=real);

> d:=1/sqrt(8)*(((1+sqrt(8))/10)^5+((1-sqrt(8))/10)^5);

> simplify(d);

Как видно из примера 2, использование команды без параметров не упростило выражения ln(exp(x))+x·ln(exp(x)), тогда как второй оператор с предположением о действительной области изменения переменной х упростил заданное выражение. Maple по умолчанию работает с комплексными числами (т.е. при упрощении предполагается, что переменные изменяются в области комплексных чисел). При таком предположении упростить выражение с действительно невозможно.

Пример 3. Упрощение с предположением.

> f:=(sqrt(x^2));

> simplify(f);

> simplify(f,assume=real);

> simplify(f,assume=positive);

Команда simplify() позволяет задать правила упрощения в виде равенств. Эти правила задаются вторым параметром, который должен иметь следующий вид:

{равенствоl, равенство2,...}

Если какое-то выражение при упрощении должно равняться нулю, то такое правило можно задать, просто внеся выражение без знака равенства в список правил:

> k:=a+b^2+c^3+d+5;

> simplify(k,{c^3+d,a+b^2=1});

В этом примере предполагается, что выражение c^3+dравно 0.

Использование собственных правил для упрощения тригонометричес­ких выражений позволяет получить именно тот его вид, который необходим для дальнейшей работы, так как третьим параметром можно определить, в какой последовательности должны отображаться неизвестные в упрощенном выражении. Этот параметр задается в двух формах: в виде множества и в виде списка. (Множество – последовательность выражений через запятую, заключенная в фигурные скобки, а список - это тоже объект Maple, который для данного частного случая можно охарактеризовать как последователь­ность выражений через запятую, заключенную в квадратные скобки.) Так вот, если параметр задан в виде множества, то алгоритм упрощения сортиру­ет в выражении неизвестные по убыванию их степени в слагаемых выраже­ния, учитывая степени всех неизвестных, а потом начинает упрощения в со­ответствии с заданными правилами. В случае со списком – сначала выраже­ние сортируется по степеням первой неизвестной в списке, затем упрощается в соответствии с заданными правилами, затем полученное выражение сорти­руется по степеням второй неизвестной списка и упрощается и т. д.

Пример 4. Упрощение в соответствии с правилами пользователя.

> equ:={sin(x)^2+cos(x)^2=1};e:=sin(x)^3-11*sin(x)^2*cos(x)+3*cos(x)^3-sin(x)*cos(x)+2;

> simplify(e,equ,[sin(x),cos(x)]);

> simplify(e,equ,[cos(x),sin(x)]);

> simplify(e,equ,{sin(x),cos(x)});

> simplify(e,equ,{cos(x),sin(x)});

 

3. Раскрытие скобок в выражении: expand ().

Команда expand () представляет произведение в виде суммы, т. е. раскрывает скобки в алгебраическом выражении. Она выполняется для любо­го полинома. Для частного двух полиномов (рациональная алгебраическая дробь) эта команда раскрывает скобки в числителе и делит каждый член полученного выражения на знаменатель, с которым она не производит никаких преобразований.

Эта команда имеет следующий синтаксис:

ехраnd(выр, вырl, выр2,..., вырn);

где выр является выражением, в котором необходимо раскрыть скобки, а необязательные параметры вырl, выр2,, вырn указывают системе, что в данных выражениях в заданном преобразуемом выражении выр раскрывать скобки не надо.

Пример 5. Представление произведений в виде суммы.

> expand((x+3)*(x+4)^2);

> expand((x+3)^3/(x+4)^2);

> expand(cos(x-y));

> expand((x+3)*(x+4)^2,x+3);

> expand(x^((a+b)*(k+f)));

 

4. Разложение полинома на множители: factor ().

Команда factor () разлагает на множители полином от нескольких переменных. Под полиномом в Maple понимается выражение, содержащее неизвестные величины. Каждый член в этом выражении представлен в виде произведения целых неотрицательных степеней неизвестных величин с числовым или алгебраическим коэффициентом, т. е. коэффициент может быть целым, дробным, с плавающей точкой, комплексным числом и даже представлять собой алгебраическое выражение с другими переменными:

> factor(x^3*y-2*x^2*a*y+x*y*a^2-x^3*b^2+2*x^2*b^2*a-x*b^2*a^2+x^2*y^2-2*x*y^2*a+y^2*a^2-y*b^2*x^2+2*y*b^2*x*a-y*b^2*a^2);

Следует помнить правило: команда раскладывает полином на множите­ли над числовым полем, которому принадлежат коэффициенты полинома. Если все коэффициенты целые, то и в получаемых сомножителях будут только целые коэффициенты и не обязательно будут получены линейные сомножители. Второй необязательный параметр этой команды указывает, над каким числовым полем следует осуществлять разложение полинома. Он может иметь значение real, complex, а также один радикал или список/множество радикалов. Пример 6 демонстрирует результаты разложе­ния одного и того же полинома над разными полями.

Пример 6. Разложение полинома над разными полями.

> factor(x^3+2); #над полем целых чисел (целые коэффициенты)

> factor(x^3+2.0); #над полем вещественных чисел

(вещественный коэффициент)

> factor(x^3+2,real); #над полем вещественных чисел

(параметр real)

> factor(x^3+2,complex); #над полем комплексных чисел

(параметр complex)

> factor(x^3+2,2^(1/3)); #над полем целых и радикала 2^(1/3)

(параметр определяет поле с радикалом)

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

 

> d:=(x^11-y^11)/(x^6-y^6);

> factor(d);

 

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 () не обращать внимания на интервалы изменения аргументов подобных функций, а осуществлять формальные символические преобразования в соответствии с формулами преобразования этих функций.

 

7. Приведение подобных членов: collect ().

Команда collect () работает с полиномами, в которых в качестве неиз­вестных могут выступать функции с аргументами, являющимися неизвестны­ми величинами Maple. Команда имеет три формы вызова:

collect (выражение, х);

соllесt(выражение, х, form, func);

соllесt(выражение, x, func);

где параметр х представляет имя неизвестной величины, относительно степеней которой осуществляется приведение коэффициентов. Параметр х может быть также списком или множеством неизвестных в случае полинома нескольких переменных или именем функции с аргументом-неизвестной в выражении, представленном первым параметром выражение.

Команда collect () различает не только целые, но и положительные и отрицательные дробные степени неизвестной, т. е. при всех степенях будут отдельно приведены подобные члены.

Пример 8. Приведение коэффициентов в выражении.

> k:=x^3*sin(x)^2+x^3*cos(x)+x^3*exp(x)+x*cos(x)+2*x*exp(x)+7*x*sin(x)+4*x^3;

> collect(k,x);

> collect(k,x^3);

> collect(k,exp(x));

> collect(k,sin(x));

> collect(k,cos(x));

В примере 8 для одного и того же выражения осуществляется приведение коэффициентов относительно разных его неизвестныхкомпонентов.

Параметр form применяется для полиномов от нескольких переменных и определяет алгоритм приведения подобных членов. Заметим, что неизвест­ные, при степенях которых приводятся подобные члены, должны быть заданы в виде списка или множества. Параметр form два значения: recursive и distributed. В первом случае приводятся подобные члены при степенях первой неизвестной в списке, затем в полученных коэффициентах приводятся подоб­ные члены относительно степеней второй неизвестной в списке и т. д. Если при этом значении параметра form неизвестные полинома, относительно которых приводятся подобные члены, заданы в виде множества, то порядок приведения определяется системой Maple и может меняться от сеанса к сеансу. Значение distributed указывает на приведение коэффициентов при членах, содержащих всевозможные произведения степеней неизвестных в списке или множестве, причем суммарная степень всех переменных возрастает от наименьшей к наибольшей.

Пример 9. Алгоритмы приведения для полиномов нескольких переменных.

> p:=x*y-a^2*x*y+y*x^2-a*y*x^2+x+a*x; #полином двух переменных

> collect(p,[x,y],recursive);

> collect(p,[y,x],recursive);

> collect(p,{x,y},recursive);

> collect(p,{x,y},distributed);

> collect(p,[x,y],distributed);

Параметр func определяет имя команды, применяемой к полученным в результате коэффициентам при соответствующих степенях неизвестных. Обычно используют команды simplify () и factor ().

Пример 10. Задание функции, применяемой к полученным коэффициентам.

> d:=a^4*y-y+a^4+a^2;

> collect(d,y);

> collect(d,y,factor); # разложение на множители коэффициентов при y

 

8. Рационализация дробей: rationalize().

Рационализация дроби – это избавление от иррациональности в знаме­нателе этой дроби. Команда rationalize () производит такое преобразование над числовыми и алгебраическими дробями. Причем в случае алгебраической дроби принимается во внимание только знаменатель в виде полинома. Эта команда может рационализировать алгебраическую дробь, знаменатель ко­торой содержит трансцендентные функции типа sin (), ехр (), ln () и т. п. Однако если их аргумент является дробью с иррациональностями в знаменателе, то эти конструкции не участвуют в процессе рационализации.

Пример 11. Рационализация дробных выражений.

> a:=7*(3^(1/3)+4^(1/5))/(3-2^(1/3));

> rationalize(a);

> b:=y/(y+sqrt(2-sqrt(5)));

> rationalize(b);

> c:=1/(3-root(cos(1/(2+sqrt(mu))),5));

> rationalize(c);

9. Ограничения на неизвестные: assume().

Часто в математических выводах приходится делать те или иные пред­положения относительно некоторых величин, фигурирующих в наших ис­следованиях, т.е. как-то ограничивать эти величины. Одни ограничения логи­чески вытекают из области определения независимых переменных, входящих в выражения, другие мы накладываем сами. В системе Марlе имеются команды для введения и проверки ограничений, наложенных на некоторые неизвестные или даже целые выражения. Введенные ограничения использу­ются командами и функциями Maple, например simplify(), sqrt(), для получе­ния более простого ответа, если введенные ограничения позволяют это.

Назначение команды assume() – накладывать ограничения на неизвест­ные величины Maple. Команда имеет следующий синтаксис:

assume (x, свойство);

Здесь х – любая неопределенная переменная или выражение с такими пере­менными, а параметр свойство может принимать значения, равные названиям свойств (специальным символьным именам, зарезервированным Maple для задания различных ограничений на переменную или выражение, определен­ные первым параметром), имени типа данных и числовому диапазону. Не­которые из наиболее употребительных свойств перечислены в табл.1.

Таблица 1. Свойства числовых переменных и выражений.

Название свойства Описание
negative Отрицательные вещественные числа из интервала (-¥,0) (нуль не включается)
nonnegative Неотрицательные вещественные числа из интервала [0,¥) (нуль включается)
positive Положительные вещественные числа из интервала (0,¥) (нуль не включается)
natural Натуральные числа (целые, большие или равные 0)
posint Целые строго большие 0
odd Нечетные числа
even Четные числа
complex Комплексные числа
NumeralNonZero Комплексные числа, исключая 0
real Вещественные числа
rational Рациональные числа (дроби и целые)
irrational Иррациональные числа
integer Целые числа
fraction Только дробные числа
prime Простые числа

Некоторые параметры (х, свойство) можно заменить математическим отношением, если, конечно, это возможно. Например, (x, negative) соответст­вует отношению х<0, а (х, nonnegative) соответствует х>=0 и т. д.

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

¨ либо вообще не информировать пользователя, что на переменную на­ложены ограничения, и она будет продолжать отображаться как и все пе­ременные без ограничений (команда Options Þ Assumed Variables Þ No Annotation);

¨ либо в области вывода, если отображаются результаты, в которых присут­ствует переменная с наложенными ограничениями, словесно сообщается, на какие переменные наложены ограничения ( команда Options Þ Assumed Variables Þ Phrase).

Пример 12. Способы отображения переменных с ограничениями.

> assume(a>0);

> ln(a^2); #Отображение по умолчанию

> ln(a^2); #Режим не информировать пользователя

> ln(a^2); #Словесное сообщение

Вернуться в режим отображения переменных с наложенными ограни­чениями по умолчанию можно командой Options Þ Assumed Variables Þ Trailing Tildes.

В качестве своих параметров команда assume () может получать несколько пар (х, свойство) или несколько математических отношений. В этом случае все заданные ограничения действуют одновременно. Поэтому наложе­ние ограничений в виде

> аssumе(х>3,х<5);

соответствует тому, что переменная х может изменяться только в интервале

(3,5).

Новое ограничение, накладываемое новой командой assume () на пере­менную, отменяет все предыдущие ограничения. Поэтому последовательное задание ограничений двумя командами:

> assume(x>3);

> assume(x<5);

соответствует предположению, что значение переменной х не превосходит числа 5, а не тому, что значение этой переменной должно лежать в интервале(3,5).

Если необходимо еще добавить ограничения на переменную, то можно использовать команду additionally(), параметры которой полностью соответ­ствуют параметрам команды assume (). Тогда ограничения, определенные командой additionally (), добавляются к ограничениям, введенным командой assume () и предыдущими командами additionally ():

> assume(x>3); # В последующих вычислениях предполагается х>3

(какие-то вычисления)

> аdditiоnаllу(х<=5); #Теперь предполагается, что 3<х<=5

Чтобы снять все ранее наложенные на переменную ограничения следу­ет этой переменной просто присвоить ее же символьное имя (имя перемен­ной, заключенное в одинарные кавычки). Для снятия всех ограничений пере­менной х предыдущих примеров, следует просто выполнить следующую операцию присваивания:

> x:='x';

Если же переменная с наложенными ограничениями использовалась в вы­ражениях, то простое присваивание имени переменной самой переменной не снимает ограничения на переменную в этих выражениях. Подобная ситуация иллюстрируется в примере 13.

Пример 13. Снятие ограничений с переменной.

> assume(b>0);

> d:=surd(b^4,4);

> b:='b':b;

> d;

Как видим, снятие всех наложенных на переменную b ограничений не сни­мает, однако, этих ограничений с переменной b в выражении d. Чтобы снять ограничения с этой переменной, следует до команды снятия ограничений с переменной воспользоваться командой подстановки subs () и первым параметром указать замену переменной b на ее символьное имя 'b'.

Пример 14. Снятие ограничений с переменной в выражении.

> assume(b>0);

> d:=sqrt(b^4);

> d;

> d:=subs(b='b',d);

> b:='b';

> d;

Функция is () определяет, удовлетворяет ли некоторая переменная рабочего листа определенному свойству. Эта функция возвращает значение true, если все возможные значения переменной соответствуют заданному свойству. Если хотя бы одно из возможных значений не соответствует задан­ному свойству, то функция is () возвращает false. Функция is () может возвра­тить значение FAIL, что говорит о невозможности определить, соответствует или нет заданная переменная заданному свойству. Это бывает или в результа­те недостаточности информации относительно ограничений на переменную, или невозможности вычислить логические ограничения на переменную.

Пример 15. Удовлетворяет ли переменная заданным ограничениям.

> assume(a>0);

> is(a>0);

> is(a<1);

> additionally(a<1);

> is(a<1);

С помощью функции coulditbe () можно проверить, может ли заданная переменная соответствовать заданному свойству. Она возвращает true, если хотя бы одно из возможных значений переменной может иметь заданное свойство, и fа1sе в противном случае. Смысл значения FAIL соответствует такому же значению для функции is().

Пример 16. Может ли переменная удовлетворять заданным ограничениям.

> assume(a>0);

> is(a>0);

> coulditbe(a=1);

> additionally(a<1);

> coulditbe(a=1);

Команда about ()отображает информацию о наложенных ограничениях на неизвестную величину:

> about(a);

Originally a, renamed a~:

is assumed to be: RealRange(Open(0),Open(1))

Как отмечалось ранее, многие функции и команды Maple используют информацию о наложенных на неизвестную величину ограничениях при вы­полнении символьных вычислений. Например, Марle не может вычислить следующий предел из-за неизвестности знака символьной переменной а:

> int(exp(a*x),x=0..infinity);

Definite integration: Can't determine if the integral is convergent.

Need to know the sign of --> -a

Will now try indefinite integration and then take limits.

Стоит предположить, что a>0, и Maple тут же вычислит данный интеграл, который он свел к вычислению предела, зависящего от параметра:

> assume(a>0);

> int(exp(a*x),x=0..infinity);

 

 

Задачи для самостоятельного решения.

 

1. Исключить иррациональность в дроби:

1.1.

1.2.

1.3.

1.4.

 

2. Разложить многочлен на множители:

2.1.

2.2.

2.3.

2.4.

2.5.

2.6.

2.7.

 

 

3. Раскрыть скобки в выражении:

3.1.

3.2.

3.3.

3.4.

3.5.

3.6.

3.7.

3.8.

 

4. Упростить выражение:

4.1.

4.2.

4.3.

4.4.

4.5.

4.6.

 

5. Привести к одному члену:

5.1.

5.2.

5.3.

5.4.

5.5.

 

6. С помощью команд преобразования выражений получить равенство:

6.1.

6.2.

6.3.

6.4.

6.5.

6.6.

6.7.

6.8.

6.9.

6.10.

6.11.

6.12.

6.13.

6.14.

 

Варианты заданий.

. 1.1; 2.1; 3.1; 4.1; 5.1; 6.1; . 1.4; 2.1; 3.8; 4.2; 5.3; 6.8;

. 1.2; 2.2; 3.2; 4.2; 5.2; 6.2; . 1.1; 2.2; 3.1; 4.3; 5.4; 6.9;

. 1.3; 2.3; 3.3; 4.3; 5.3; 6.3; . 1.2; 2.3; 3.2; 4.4; 5.5; 6.10;

. 1.4; 2.4; 3.4; 4.4; 5.4; 6.4; . 1.3; 2.4; 3.3; 4.5; 5.1; 6.11;

. 1.1; 2.5; 3.5; 4.5; 5.5; 6.5; . 1.4; 2.5; 3.4; 4.6; 5.2; 6.12;

. 1.2; 2.6; 3.6; 4.6; 5.1; 6.6; . 6.1; 6.13; 6.5; 4.2; 3.5; 5.5;

. 1.3; 2.7; 3.7; 4.1; 5.2; 6.7; . 6.12; 6.14; 6.6; 6.8; 1.1; 2.2.

 

Контрольные вопросы.

1. Команда simplify (), ее предназначение и синтаксис.

2. Команда expand (), ее предназначение и синтаксис.

3. Команда factor (), ее предназначение и синтаксис.

4. Команда normal (), ее предназначение и синтаксис.

5. Команда combine (), ее предназначение и синтаксис.

6. Команда collect (), ее предназначение и синтаксис.

7. Команда rationalize (), ее предназначение и синтаксис.

8. Команда assume (), ее предназначение и синтаксис.

9. Команда is (), ее предназначение и синтаксис.

10. Команда about (), ее предназначение и синтаксис.

 

 



1 | 2 | 3 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.075 сек.)