Купить Matlab  |  Mathematica  |  Mathcad  |  Maple  |  Statistica  |  Другие пакеты Поиск по сайту
Internet-класс  |  Примеры  |  Методики  |  Форум  |  Download
https://hub.exponenta.ru/


Программирование в среде Maple


В начало книги

 

Предметный указатель

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

Еще две очень полезные функции, помогающие программировать правила вычислений

match - сравнение с шаблоном и typematch - сравнение типов.

Функция match вызывается следующей командой match (выражение = шаблон, v, 's'), где

выражение - сравниваемое выражение
шаблон - шаблон, с которым сравнивается выражение
v - имя главной переменной
's' - имя возвращаемого аргумента

Функция match возвращает true  если она может подтвердить соответствие шаблону и false в противном случае. Если сравнение удачно, то величине s присваивается система равенств, подстановка которых в шаблон приведет к сравниваемому выражению.

Главная переменная - именно та переменная, относительно которой происходит сравнение с шаблоном.

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

> match(exp(x)/x^(2) = A*exp(x)^P*x^Q, x, 's');

[Maple Math]

> s;

[Maple Math]

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

Функция typematch осуществляет сравнение выражений по типу переменных. Она вызывается одной из следующих команд

typematch ( выражение , t) или typematch ( выражение , t, 's'), где

выражение - любое выражение
t - выражение, содержащее переменные с указанием их типов ` ::` - оператором
s - (необязательная опция) - имя

Команда typematch является логической функцией. Она возвращает true , если вводимое ` выражение ` удовлетворяет типу t. Обычно тип t содержит выражения вида v_i :: t_i где v_i переменная, t_i - ее тип..

В команде typematch (e,t,'s'), если сравнение успешно, список уравнений вида v_i = r_i присваивается параметру s.

Заметим, что аргументы оператора связи `::` шаблона вычисляются. Таким образом, если переменной x может быть присвоено некоторое значение - например, в предыдущей команде сравнения - то, чтобы не было ошибки, ее необходимо заключать в кавычки. То есть записать команду в виде

typematch( e,'x'::name=range).

Приведем примеры

> typematch( y^3, b::name^(n::integer), 's' );

[Maple Math]

> s;

[Maple Math]

> typematch( [a,b,c,d,e], list( v::name ), 's' );

[Maple Math]

> s;

[Maple Math]

>

Команда typematch может быть использована также для вычленения элементов из сложного выражения по шаблону типов элементов.

В начало страницы К предыдущему разделуК следующему разделу

Предметный указатель

| На первую страницу | Поиск | Купить Matlab

Исправляем ошибки: Нашли опечатку? Выделите ее мышкой и нажмите Ctrl+Enter


Copyright © 1993-2024. Компания Softline. Все права защищены.

Дата последнего обновления информации на сайте: 04.03.17
Сайт начал работу 01.09.00