Maple 9.5/10 в математике, физике и образовании
Шрифт:
Прежде всего надо определить имя своей библиотеки, например mylib, и создать для нее на диске каталог (папку) с заданным именем. Процедуры в Maple ассоциируются с таблицами. Поэтому вначале надо задать таблицу-пустышку под будущие процедуры:
Теперь надо ввести свои библиотечные процедуры. Они задаются с двойным именем — вначале указывается имя библиотеки, а затем в квадратных скобках имя процедуры. Для примера зададим три простые процедуры с именами f1, f2 и f3:
Рекомендуется
Можно построить графики введенных процедур-функций. Они представлены на рис. 10.5.
Рис. 10.5. Построение графиков процедур-функций f1, f2 и f3
С помощью функции with можно убедиться, что библиотека mylib действительно содержит только что введенные в нее процедуры. Их список должен появиться при обращении with(mylib):
Теперь надо записать эту библиотеку под своим именем на диск с помощью команды save:
Обратите особое внимание на правильное задание полного имени файла. Обычно применяемый для указания пути знак \ в строках Maple-языка используемся как знак продолжения строки. Поэтому надо использовать либо двойной знак \\, либо знак /. В нашем примере файл записан в корень диска С. Лучше поместить библиотечный файл в другую папку (например, в библиотеку, уже имеющуюся в составе системы), указав полный путь до нее.
После всего этого надо убедиться в том, что библиотечный файл записан. После этого можно сразу и считать его. Для этого вначале следует командой restart устранить ранее введенные определения процедур:
С помощью команды with можно убедиться в том, что этих определений уже нет:
После этого командой read надо загрузить библиотечный файл:
Имя файла надо указывать по правилам, указанным для команды save. Если все выполнено пунктуально, то команда with должна показать наличие в вашей библиотеке списка процедур f1, f2 и f3:
И, наконец, можно вновь опробовать работу процедур, которые
теперь введены из загруженной библиотеки:Описанный выше способ создания своей библиотеки вполне устроит большинство пользователей. Однако есть более сложный и более «продвинутый» способ ввода своей библиотеки в состав уже имеющейся. Для реализации этого Maple имеет следующие операции записи в библиотеку процедур s1, s2, … и считывания их из файлов file1, file2, …:
С помощью специального оператора makehelp можно задать стандартное справочное описание новых процедур:
где n — название темы, f — имя текстового файла, содержащего текст справки (файл готовится как документ Maple) и b — имя библиотеки. Системная переменная libname хранит имя директории библиотечных файлов. Для регистрации созданной справки надо исполнить команду вида
С деталями применения этих операторов можно ознакомиться в справочной системе.
К созданию своих библиотечных процедур надо относиться достаточно осторожно. Их применение лишает ваши Maple-программы совместимости со стандартной версий Maple. Если вы используете одну-две процедуры, проще поместить их в те документы, в которых они действительно нужны. Иначе вы будете вынуждены к каждой своей программе прикладывать еще и библиотеку процедур. Она нередко оказывается большей по размеру, чем файл самого документа. Не всегда практично прицеплять маленький файл документа к большой библиотеке, большинство процедур которой, скорее всего, для данного документа попросту не нужны.
Особенно рискованно изменять стандартную библиотеку Maple 9.5/10. Впрочем, идти на это или нет — дело каждого пользователя. Разумеется, если вы готовы создать серьезную библиотеку своих процедур, то ее надо записать, тщательно хранить и подробно документировать.
10.6. Программирование символьных операций
10.6.1. Реализация итераций Ньютона в символьном виде
Найти достаточно простую и наглядную задачу, решение которой отсутствует в системе Maple 9.5/10, не очень просто. Поэтому для демонстрации решения задачи с применением аналитических методов воспользуемся примером, ставшим классическим — реализуем итерационный метод Ньютона при решении нелинейного уравнения вида f(x)=0.
Как известно, метод Ньютона сводится к итерационным вычислениям по следующей формуле (файл р9):
Реализующая его процедура выглядит довольно просто: