Кафедра: Информационные Технологии

Лабораторная работа

На тему:

"Использование команд преобразования выражений Maple для математических вычислений"

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Москва, 2008 г


Цели работы:

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

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


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)});


Информация о работе «Использование команд преобразования выражений Maple для математических вычислений»
Раздел: Информатика, программирование
Количество знаков с пробелами: 27215
Количество таблиц: 1
Количество изображений: 0

Похожие работы

Скачать
20834
6
0

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

Скачать
109435
6
96

... типа MESH. 13.6. Графика пакета plots 13.6.1. Общая характеристика пакета plots Пакет plots содержит почти полсотни графических функции, существенно расширяющих возможности графики системы Maple V. В реализации R4 этот пакет содержит следующие функции: ——————————— animate Создает мультипликацию 2D графиков функций. animated Создает мультипликацию 3D графиков функции. changecoords ...

Скачать
249178
21
46

... системам линейных алгебраических уравнений с более чем одной неизвестной; MATLAB решает такие уравнения без вычисле-ния обратной матрицы. Хотя это и не является стандартным математическим обозначением, система MATLAB использует терминологию, связанную с обычным делением в одномерном случае, для описания общего случая решения совместной системы нескольких линейных уравнений. Два символа деления / ...

Скачать
15175
1
0

... к ним перестановкой левой и правой частей с заменой знаков на противоположные. 2. Команда: solve ( ) Команда solve() позволяет решать уравнения и системы уравнений, неравенства и системы неравенств. Эта команда всегда пытается найти замкнутое решение в аналитической форме. Ее синтаксис достаточно прост: solve (ypaвнение, переменная); solve ({уравнение l, уравнение 2, ... }, {переменная l, ...

0 комментариев


Наверх