Maple 9.5/10 в математике, физике и образовании
Шрифт:
6.6.6. Работа с функцией импорта данных из файлов — ImportMPC
Для импорта данных из файлов служит функция:
ImportMPS(filename [, maxm, maxn, lowbnd, upbnd, opts])
В ней используются следующие параметры:
• filename — имя файла для MPS(X) в виде строки;
• maxm — максимальное число линейных ограничений;
• maxn — максимальное число переменных;
• lowbnd — значение нижней границы для переменных;
• upbnd — значение верхней границы для переменных;
• opts — выражения в виде опций, записываемых в форме option=value, где option
С деталями применения этой функции можно ознакомиться по справке по ней.
6.6.7. Нелинейная регрессия
Наконец в Maple 9.5 появились средства для полноценной нелинейной регрессии (реализации метод наименьших квадратов для произвольных приближающих зависимостей). Для этого служит функция:
Большинство ее параметров уже описывалось. Исключением является параметр opfobj — список процедур для остатков (разностей) метода наименьших квадратов. Пример применения этой функции для приближения облака заданных точек data нелинейной зависимостью с именем р дан на рис. 6.6.
Рис. 6.6. Пример нелинейной регрессии с помощью функции LSSolve
6.6.8. Маплет-оптимизация с помощью функции Interactive
Функция Interactive служит для организации интерактивной оптимизации в Maplet-окне. Эта функция может задаваться в виде:
В первом случае открывается «пустое» Maplet-окно, а во втором окно с введенной целевой функцией obj и ограничивающими условиями constr. Вид окна с примером квадратичной оптимизации представлен на рис. 6.7.
< image l:href="#"/>Рис. 6.7. Пример квадратичной оптимизации в Maplet-окне
В левом верхнем углу окна имеется список классов задач оптимизации. Справа расположены панели для ввода оптимизируемого выражения и ограничивающих условий. Кнопки Edit позволяют вызывать простые окна для редактирования их, а кнопка Solve запускает вычисления, результат которых появляется в окошке Solution. Остальные элементы интерфейса Maplet-окна в особых пояснениях не нуждаются.
6.7. Новые средства Maple 10
6.7.1. Нелинейное программирование с ограничениями в Maple 10
Maple 10 позволяет решать задачи нелинейного программирования с ограничениями с помощью функции NPSolve из пакета оптимизации Optimization. Наглядный пример из самоучителя по Maple 10 представлен на рис. 6.8.
Рис. 6.8. Пример нелинейного программирования с ограничениями
Целевая функция задана значением переменной obj, а ограничивающие условия заданы переменной constraints. Решение очевидно и иллюстрируется контурным графиком функции и линиями ограничения.
6.7.2. Нелинейный метод наименьших квадратов в Maple 10
Большим подспорьем в решении задач нелинейной регрессии стала реализация в Maple 9.5/10 нелинейного метода наименьших квадратов. Для Maple 9.5 эта реализация уже была описана. Рис. 6.9 иллюстрирует применение функции LSSolve для выполнения нелинейной регрессии общего вида. Этот пример также взят из самоучителя по Maple 10.
Рис. 6.9 Пример нелинейной регрессии в Maple
Данные data представляют собой ординаты зависимости y(i), где i задается целыми числами, начиная от 1 и до значения, равного числу чисел в векторе данных. Исходная функция задана переменной model. Возвращается значение погрешности и вычисленные параметры регрессионной зависимости. Расчет хорошо иллюстрируется графиком этой зависимости и исходными точками.
6.7.3. Глобальная оптимизация и пакет Global Optimization Toolbox
Большинство методов оптимизации способно отыскивать локальные экстремумы. Например, это позволяет функция NLPSolve из встроенного пакета оптимизации. Меняя точку начального выбора (инициализации) можно найти и глобальный экстремум для простых функций.
Но в Maple 10 есть возможность поиска глобального экстремума с помощью новой функции Global Solve пакета глобальной оптимизации, который можно найти в Интернете на сайте разработчика Maple 10. Пример этого для многоэкстремальной функции двух переменных представлен на рис. 6.10.
Рис. 6.10. Пример глобальной оптимизации многоэкстремальной функции двух переменных
Подлежащая глобальной оптимизации функция представлена значением переменной obj. Ее многоэкстремальный характер обусловлен синусоидальными компонентами. Ограничения заданы переменной constraints.
6.7.4. Применение ассистента оптимизации Maple 10
Для наглядного решения задач оптимизации можно применить маплет-ассистент оптимизации системы Maple 10. Ограничимся примером оптимизации многоэкстремальной функции одной переменной без ограничений — рис. 6.11. Такой вид окно имеет после ввода оптимизируемой функции с помощью кнопки Edit в области Objective Function. Выбор метода и прочие установки осуществлены по умолчанию (за исключением задания поиска максимума опцией Maximize).