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


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


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

 

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

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

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

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

> restart;aff:=proc(f,a::constant,b::constant)
unapply(f(a*x+b),x);
end;

[Maple Math]

> aff((x->x)*cos,Pi,exp(1))(x);

[Maple Math]

В том же пакете вы хотите сохранить команду построения графика, содержащего кривые исходной функции f и функции aff(f).

Назовем эту команду affplot

> affplot:=proc(f,a::constant,b::constant,r::range)
plot([f,aff(f,a,b)],r);
end;

[Maple Math]

Например, применяя ее к функции x*cos(x) получим (рис. 72)

> affplot((x->x)*cos,Pi,exp(1),0..Pi);

[Maple Plot]

Рис. 72

Прежде всего нужно создать каталог вашей библиотеки. Пусть этот каталог e:\MapleV4\Mylib.

Теперь нужно записать в нее коды созданных вами команд

> save aff, affplot,`e:/MapleV5/MyLib/aff.m`;

Чтобы из любого сеанса Maple получить доступ к процедурам, записанным в файле aff.m достаточно ввести команду:

> read `e:/MapleV5/MyLib/aff.m`;

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

Оператор: aff - оператор аффинного преобразования функции

Функция: affplot - функция построения графика кривых исходной и преобразованной функций

Способ вызова:
aff(f, a,b)
afftplot(f, a, b, r)
Параметры:
f - функция от одной переменной
a - число

b - число
r - диапазон изменения переменной, имеет тип range и записывается в виде r1..r2, где r1, r2 - границы диапазона.

Описание:

aff возвращает функцию, равную f(a*x+b).

affplot возвращает график с изображением исходной функции f и функции aff(f).

Примеры:

> read `d:/MapleV5/MyLib/aff.m`:
aff(sin*cos,a,b)(x);

Error, aff expects its 2nd argument, a, to be of type constant, but received a

Пример построения графика (рис. 73).

> affplot(sin*cos,exp(1),Pi/4,0..Pi);

[Maple Plot]

Рис. 73

Теперь нужно сохранить его в виде рабочего документа Maple (с расширением .mws) либо текстового файла (с расширением .txt). После этого вы должны включить его в базу данных справки.

Для этого существует специальная команда makehelp . Она записывается в следующем виде makehelp (название темы, файл справки, библиотека) , где

название темы - название темы создаваемого файла справки

текстовый файл - имя текстового файла, содержащего текст справки

библиотека - библиотека, в которой должен быть сохранен файл справки

Название темы должно быть записано в форме `имя', или `имя1/имя2'.

Если задан третий аргумент, makehelp должен сохранить файл в базе данных указанной библиотеки.

Если эта база данных будет находиться в созданном вами каталоге mylib , то ее имя будет ` e:\\maple4\\mylib\\maple.hdb` . Предположим, что созданный вами файл справки сохранен под именем ` e:\\maple4\\mylib\\aff.mws` , тогда нужно ввести команды:

> readlib(makehelp):

> makehelp(`aff`,`d:/maplev5/mylib/aff.mws`,`d:/maplev5/mylib`):

During insert of aff - incorrect .hdb file version - cannot update old versions

> makehelp(`affplot`,`d:/maplev5/mylib/aff.mws`,`d:/maplev5/mylib`):

During insert of affplot - incorrect .hdb file version - cannot update old versions

Справка помощи по пакету aff готова.

Вы сможете получить доступ к справке помощи после того как Вы зарегистрируете каталог Вашей библиотеки.

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

Команда, определяющая нахождение дополнительной библиотеки mylib вводится следующим образом:
libname := libname, `/mylib`;

После этого команды, такие как readlib() и with() просматривают обе библиотеки. Чтобы узнать текущее имя библиотеки достаточно ввести libname; в сессии Maple.

Можно также определить начальное имя библиотеки при загрузке программы введя в строку загрузки опцию

maple.exe -b `/mylib`,

определяющую нахождение дополнительной библиотеки.

В нашем случае для регистрации библиотеки пользователя нужно ввести команду:

> libname:=libname, `d:\\maplev5\\mylib`;

[Maple Math]

Теперь введя из командной строки

> ?`affplot`

вы вызовите окно справки помощи по пакету shift .

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

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

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

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


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

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