Инструментальные средства математического моделирования. Учебное пособие
.pdf
Проектные задания
Раздел 2. Типы данных. Встроенные операторы и функции.
4.Опишите алфавит Maple-языка.
5.Укажите типы данных в системе Maple.
6.Классифицируйте типы операторов в Maple.
7.Дайте классификацию математических функций в Maple.
Раздел 3. Типовые средства программирования.
8.Укажите способы задания функции пользователя.
9.Опишите формы записи условных выражений.
10.Укажите особенности и формы записей операторов цикла.
Раздел 4. Средства математического анализа.
11.Укажите способы вычисления производных в Maple.
12.Опишите способы вычисления неопределенных и определенных интегралов в Maple.
13.Назовите назначение и нотацию применения функции solve.
Раздел 5. Символьные операции.
14.Опишите предназначение и порядок обращения к функции convert.
15.Функция combine.
16.Приведите пример обращения к команде simplify и опишите ее параметры.
17.Опишите порядок задания функции subs.
18.Укажите назначение и способы обращения к функции sort.
Диагностико-квалиметрическое обеспечение модуля 1
В первой части курса изучается интерфейс системы Maple, типы данных, встроенные операторы и функции системы. Рассматриваются средства программирования Maple: функции пользователя, условный оператор, операторы цикла. Приведены средства математического анализа и основные символьные операции системы.
41
5. Символьные операции
Тест рубежного контроля
1.Система Maple работает с файлами форматов: a. *.ms, *.txt, *.t;
b. *.ms, *.doc, *.t; c. *.msw, *.txt, *.rtf; d. *.ms, *.tex, *.pdf.
2.Специальный знак % означает:
a.Фиксатор выражения, предотвращающий вывод результата вычисления в ячейку вывода;
b.Указатель программного комментария;
c.Системную переменную, хранящую результат предшествующей операции;
d.пустой оператор.
3.Множество в Maple обозначается следующим образом: a. [10,5,8,8,5,1];
b. {a, b, c, d, e}; c. (х, у, z);
d. аrrау[а..b, sl].
4.Функция evalb используется для:
a.Возврата логических значений выражений;
b.Создания операторов с заданными свойствами;
c.Выделения целой части числа;
d.Присваивания переменной неопределенного значения.
5. Функция irem(a,b):
a.Определяет остаток от деления;
b.Выполняет целочисленное деление;
c.Находит наибольший общий делитель;
d.Находит наименьшее общее кратное;
6. Функция Diff является:
a.Неисполнимой формой вычисляемой функции diff;
b.Неопределенной формой вычисляемой функции diff;
c.Исполнимой формой вычисляемой функции дифференцирования diff;
d.Инертной формой вычисляемой функции дифференцирова-
ния diff;
42
Тест рубежного контроля
7.Функциональный оператор имеет вид: a. name:=(x,y,...)=>expr;
b. name:= expr;
c. name:=(x,y,...)->expr; d. name=(x,y,...):=expr.
8.Укажите ошибочный условный оператор:
a.if <Условие сравнения> then <Элементы> fi:
b.if <Условие сравнения> then <Элементы> elif <Условие сравнения> then <Элементы> fi:
c.if <Условие сравнения> then <Элементы> elif <Условие сравнения> then <Элементы> else <Элементы> fi:
d.if <Условие сравнения> then <Элементы> elif <Условие сравнения> e1se <Элементы> fi:
Критерии оценки
Верные ответы на тестовые задания с 1 по 6 обычной сложности равно оцениваются в 6 балов, а более сложные тестовые задания 7 и 8 – по 7 балов каждое.
Максимальная оценка по модулю – 50 баллов. Причем «неудовлетворительно»: 0–25; «удовлетворительно»: 26–34; «хорошо»: 35–42; «отлично»: 43–50 баллов.
43
МОДУЛЬ 2
Комплексными целями второго модуля являются:
–изложение и освоение специальных знаний по методам приложения инструментальных средств расширения функциональных возможностей системы Waterloo Maple V, эффективному использованию пакетов решения задач линейной алгебры, а также пакета решения задач линейного программирования, поставляемых в составе системы;
–приобретение и закрепление учащимися основных навыков работы со специализированными средствами расширения
Maple V.
6. Расширенные средства среды
Maple V
6.1. Особенности использования математических процессоров
В последние годы быстрое развитие получили программные средства автоматизации работ в таких трудоемких и требующих высокого уровня профессиональной подготовки предметных сферах, как высшая и вычислительная математика, математическое моделирование, математическая экономика и др. Из имеющихся в литературе [1,2,3] результатов сравнения различных матема-
тических пакетов (Mathematica, Mathcad, Mathlab и др), следу-
ет, что наиболее эффективным по многим параметрам является Maple – математический процессор с аналитическим ядром. Его замечательной особенностью является попытка решить введенную задачу аналитически на первом этапе (по умолчанию) и, если это не удалось, всегда есть возможность применить традиционные численные методы анализа. Обладая высокой производительностью и удобным интерфейсом, Maple в состоянии обеспечить эффективное решение многих стандартных учебных задач и прикладных проблем реальной сложности. Полученные навыки работы с ука-
44
6.2. Перечень пакетов расширения Maple V
занным пакетом позволят успешно использовать и иные аналогичные универсальные программные средства.
Динамичный перманентный процесс появления обновленных версий математического процессора Maple, расширяющих его возможности, а также необходимость более высокой степени детализации функций среды обусловливает целесообразность обращения
кспециализированным пакетам расширений [5, 6].
Втаблице 1 приводятся список пакетов математического моделирования системы Maple 9, обеспечивающих расширение функций ядра системы в направлениях инструментальной специализации.
6.2.Перечень пакетов расширения Maple V
|
|
Таблица 1 |
|
|
|
№ п/п |
Пакет |
Функции, описание |
|
|
|
1. |
algcurves |
Пакет программ для исследо- |
|
|
вания одномерных алгебраи- |
|
|
ческих кривых, описываемых |
|
|
полиномами |
2. |
ArrayTools |
Программы, используемые |
|
|
для операций низкого уровня |
|
|
с матрицами, векторами и |
|
|
массивами |
3. |
codegen |
Программы для перевода |
|
|
кодов среды Maple на дру- |
|
|
гие языки, такие как С или |
|
|
Фортран |
4. |
CodeGeneration |
Программы для перевода |
|
|
кодов среды Maple на другие |
|
|
языки |
5. |
CodeTools |
Команды для анализа и про- |
|
|
филирования кодов среды |
|
|
Maple |
6. |
combinat |
Функции комбинаторики, |
|
|
включающие команды для |
|
|
подсчета числа перестановок |
|
|
и сочетаний |
45
6. Расширенные средства среды Maple V
|
|
Продолжение табл. 1 |
№ п/п |
Пакет |
Функции, описание |
|
|
|
7. |
combstruct |
Команды для создания и под- |
|
|
счета комбинаторных струк- |
|
|
тур |
8. |
context |
Программы для создания и |
|
|
модификации контекстно- |
|
|
зависимого меню |
9. |
CurveFitting |
Функции для построения |
|
|
кривых по точкам |
10. |
DEtools |
Пакет программ для нахож- |
|
|
дения решений и их графиков |
|
|
систем дифференциальных |
|
|
уравнений |
11. |
diffalg |
Команды для алгебраических |
|
|
операций с системами диффе- |
|
|
ренциальных полиномиаль- |
|
|
ных уравнений |
12. |
difforms |
Команды для обработки диф- |
|
|
ференциальных форм |
13. |
DiscreteTransforms |
Функции для компьютерных |
|
|
преобразований дискретных |
|
|
данных |
14. |
Domains |
Команды для создания доме- |
|
|
нов вычислений |
15. |
ExternalCalling |
Пакет программ для вызова |
|
|
внешних функций среды |
|
|
Maple |
16. |
FileTools |
Команды для манипуляции с |
|
|
файлами и процессами |
17. |
finance |
Команды для финансовых |
|
|
вычислений |
18. |
GaussInt |
Команды для работы с Гауссо- |
|
|
выми целыми числами |
19. |
genfunc |
Команды для операций с |
|
|
рациональными производя- |
|
|
щими функциями |
20. |
geom3d |
Команды для пространствен- |
|
|
ной Евклидовой геометрии |
46
6.2. Перечень пакетов расширения Maple V
|
|
Продолжение табл. 1 |
|
|
|
№ п/п |
Пакет |
Функции, описание |
|
|
|
21. |
geometry |
Команды для Евклидовой гео- |
|
|
метрии на плоскости |
22. |
gfun |
Команды для создания управ- |
|
|
ляющей функции |
23. |
Groebner |
Команды для вычислений по |
|
|
базису Гребнера |
24. |
group |
Команды для работы с груп- |
|
|
пами перестановок, конечны- |
|
|
ми группами |
25. |
hashmset |
Команды для мультимноже- |
|
|
ства |
26. |
IntegerRelation |
Команды для аппроксимации |
|
|
чисел с плавающей запятой |
|
|
целыми линейными комбина- |
|
|
циями символов |
27. |
inttrans |
Команды для работы с инте- |
|
|
гральными преобразования- |
|
|
ми и их обращениями |
28. |
LargeExpressions |
Пакет программ для управле- |
|
|
ния созданием вычислитель- |
|
|
ного алгоритма |
29. |
LibraryTools |
Команды для работы с би- |
|
|
блиотекой и процессором |
30. |
liesymm |
Пакет программ для работы с |
|
|
симметрией Ли |
31. |
linalg |
Пакет линейной алгебры, |
|
|
базирующийся на данных в |
|
|
виде массивов |
32. |
LinearAlgebra |
Пакет линейной алгебры, |
|
|
базирующийся на матричных |
|
|
данных |
33. |
LinearFunctionalSystems |
Решение линейных функцио- |
|
|
нальных систем уравнений |
34. |
LinearOperators |
Пакет программ для решения |
|
|
линейных функциональных |
|
|
уравнений |
47
6. Расширенные средства среды Maple V
|
|
Продолжение табл. 1 |
|
|
|
№ п/п |
Пакет |
Функции, описание |
|
|
|
35. |
ListTools |
Пакет программ для работы |
|
|
со списками |
36. |
LREtools |
Команды для построения ре- |
|
|
шений и их графиков линей- |
|
|
ных рекуррентных уравнений |
37. |
LREtools[HypergeometricTerm] |
Пакеты программ для по- |
|
|
строения решений линейных |
|
|
дифференциальных уравне- |
|
|
ний, зависящих от гипер- |
|
|
геометрических функций |
38. |
Maplets |
Создание графического поль- |
|
|
зовательского интерфейса в |
|
|
Maple |
39. |
MathematicalFunctions |
Пакет программ, обеспечива- |
|
|
ющих информацию о матема- |
|
|
тических функциях |
40. |
MathML |
Программы для импорта и |
|
|
экспорта выражений Maple |
|
|
как MathML |
41. |
Matlab |
Пакет программ, обеспечива- |
|
|
ющий присоединение пакета |
|
|
Matlab |
42. |
MatrixPolynomialAlgebra |
Символьный манипулятор |
|
|
для полиномиальных матриц |
43. |
networks |
Пакет программ для констру- |
|
|
ирования, рисования, анали- |
|
|
за составных графов |
44. |
numapprox |
Команды для численной |
|
|
полиномиальной аппрокси- |
|
|
мации функций на заданном |
|
|
интервале |
45. |
numtheory |
Команды классической тео- |
|
|
рии чисел |
46. |
OreTools |
Псевдолинейная алгебра |
47. |
Ore_algebra |
Программа для базисных |
|
|
вычислений в алгебре |
|
|
линейных операторов |
48
6.2. Перечень пакетов расширения Maple V
|
|
Продолжение табл. 1 |
|
|
|
№ п/п |
Пакет |
Функции, описание |
|
|
|
48. |
OrthogonalSeries |
Пакет программ для |
|
|
классических ортогональных |
|
|
полиномов |
|
|
|
49. |
orthopoly |
Команды для создания |
|
|
ортогональных полиномов |
|
|
различных типов |
|
|
|
50. |
padic |
Команды для вычисления |
|
|
р-адической аппроксимации |
|
|
действительных чисел |
|
|
|
51. |
PDEtools |
Пакет программ для решения |
|
|
дифференциальных урав- |
|
|
нений с частными произво- |
|
|
дными |
|
|
|
52. |
plots |
Графический пакет |
|
|
|
53. |
plottools |
Команды для создания и |
|
|
управления графическими |
|
|
объектами |
54. |
PolynomialTools |
Команды для работы с поли- |
|
|
номиальными объектами |
|
|
|
55. |
powseries |
Команды для создания и пре- |
|
|
образования степенных рядов |
|
|
|
56. |
process |
Функции для организации |
|
|
мультипроцессоров. Поддер- |
|
|
живается только операцион- |
|
|
ной системой UNIX |
57. |
QDifferenceEquations |
Построение решений линей- |
|
|
ных q-дифференциальных |
|
|
уравнений |
|
|
|
58. |
RandomTools |
Пакет программ для работы |
|
|
со случайными объектами |
59. |
RationalNormalForms |
Действительные нормальные |
|
|
формы как основа для кон- |
|
|
струирования минимального |
|
|
представления и разложения |
|
|
по гипергеометрическим |
|
|
функциям |
|
|
|
49
6. Расширенные средства среды Maple V
|
|
Продолжение табл. 1 |
|
|
|
№ п/п |
Пакет |
Функции, описание |
|
|
|
60. |
RealDomain |
Представление числовых |
|
|
контекстов |
61. |
ScientificConstants |
Физические константы и |
|
|
свойства периодической та- |
|
|
блицы элементов |
|
|
|
62. |
ScientificErrorAnalysis |
Команды теории погрешности |
|
|
числовых величин |
63. |
simplex |
Команды для линейной опти- |
|
|
мизации с использованием |
|
|
симплекс-алгоритма |
|
|
|
64. |
Slode |
Команды для нахождения |
|
|
решений в виде степенных |
|
|
рядов для обыкновенных ли- |
|
|
нейных дифференциальных |
|
|
уравнений |
|
|
|
65. |
SNAP |
Символьно-численные алго- |
|
|
ритмы для полиномиальной |
|
|
арифметики |
|
|
|
66. |
Sockets |
Пакет программ Maple для |
|
|
работы с сетями |
|
|
|
67. |
SoftwareMetrics |
Функции для анализа слож- |
|
|
ности кодов процедур и |
|
|
модулей |
68. |
SolveTools |
Команды для решения систем |
|
|
алгебраических уравнений |
69. |
Spread |
Пакет программ для работы |
|
|
с электронными таблицами |
|
|
в Maple |
|
|
|
70. |
stats |
Статистика |
|
|
|
71. |
StringTools |
Команды оптимизации для |
|
|
работы со строками |
|
|
|
72. |
Student |
Коллекции пакетов базовых |
|
|
математических курсов |
73. |
student |
Вычислительный пакет для |
|
|
студентов |
50
