Файл: Элементы математического моделирования в программных средах MATLAB 5 и Scilab (Андриевский Фрадков).pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 05.04.2024
Просмотров: 402
Скачиваний: 1
v(t) (< > 0) с заданной площадью фигуры F под ней и наименьшей возможной координатой правого конца tm, лежащую
в треугольнике ОМК с заданными |
углами наклона <pii <р2 |
|
боковых сторон (в соответствии с |
(1.12) tg<рх |
= fc/ra при |
tg(^2 = а/т). |
|
F должна за- |
Геометрическое решение очевидно: фигура |
полнять весь треугольник ОМК. Это значит, что автомобиль должен двигаться с максимальным ускорением до некоторого момента tx, затем включить максимальное торможение и в момент tm выключить двигатель. Формулы для определения момента переключения t\ выводятся из элементарного расчета треугольника ОМК по заданной площади и углам. Они имеют вид
Рассмотренная геометрическая модель позволяет решать и более сложные задачи. Например, если по соображениям безопасности нужно учесть ограничение на максимальную скорость: |2/(f)| < v*j т о легко усмотреть решение из рис. 1.3, г: график оптимальной траектории представляет собой трапецию.
Еще более сложные задачи (например, при введении ограничений на расход топлива в виде J0°° \u(t)\dt < А) не имеют простого аналитического решения, подобного (1.13), и практически решаются лишь численно, с привлечением математического аппарата приближенной минимизации функционалов (см., например, [75, гл. 9]). Однако и для них решение упрощенной задачи не теряет важности, поскольку оно позволяет получить начальное приближение к решению сложной задачи, установить качественные свойства решения сложной задачи, выявить факторы, наиболее сильно влияющие на решение сложной задачи, и, главное, соотнести результаты математического исследования со здравым смыслом.
Резюмируя сказанное, можно дать совет изучающему математическое моделирование: "Не решай сложную задачу, не решив сначала более простую!".
25
1.4. Сложные системы и декомпозиция
Известно, что системный анализ родился как метод исследования и проектирования сложных систем. Что же такое "сложная" система? Понятие это неформальное, и обычно, говоря о сложных системах, перечисляют их основные особенности:
-наличие большого числа разнородных элементов (подсистем);
-сложный характер, неоднородность связей между подсистемами;
-сложность функций, выполняемых системой;
- наличие неопределенности в описании системы; - сложность определения (организации) требуемого упра-
вляющего воздействия на систему и т.д.
Однако понятно, что каждая из этих особенностей может оказаться существенной или несущественной: все зависит от конкретной ситуации и целей исследования. Поэтому более универсальный способ выделения класса сложных систем связан со сложностью самого процесса исследования системы. Если методика математического моделирования (см. рис. 1.2) приводит к успеху сразу же, "за один проход", то нет оснований называть систему "сложной". Введение этого термина оправдано, если решить задачу в исходном виде не удается. В этом случае она разбивается на несколько вспомогательных подзадач, решаемых по отдельности. -Такой прием называется декомпозицией и является основным методом исследования сложных систем.
При декомпозиции исходная система делится на подсистемы, а цель - на подцели. Далее для решения каждой подзадачи пользуются той же методикой, что и для всей системы. Если в ходе решения (а возможно, и до того) какие-то из подзадач окажутся слишком сложными, то снова проводится декомпозиция: возникают подзадачи следующего уровня и т.д. Результатом этого процесса является структуризация: исходная система приобретает иерархическую (многоуровневую) структуру 1 [76, 64, 62]. Соответствующая структура
1 Здесь термин "структура" используется в несколько более узком смы-
сле, чем в п. 1.2, и означает состав подсистем в системе и типы связей между ними.
26
Рис. 1.4.
возникает и в множестве подцелей; она называется деревом целей (рис.1.4), поскольку представляет собой граф типа дерева (без циклов). 1
Вообще теория графов является естественным математическим аппаратом описания сложных систем [42, 88]. Действительно, каждой сложной системе ставится в соответствие граф (структурныйвершинами которого являются подсистемы, а дугами - имеющиеся между ними связи. Если связи направленные (т.е. наличие такой связи 5, —• 5; означает, что воздействие 5, на Sj не вызывает обратного воздействия или им можно пренебречь), то граф системы является ориентированным (направленным). К этому классу относятся, например, структурные схемы (граф-схемы) систем автоматического управления. У других систем влияние связанных подсистем обоюдно и они описываются неориентированными графами (например, сложные электрические и электронные схемы).
Приведенное понятие декомпозиции вполне соответствует
1 Графом называется пара (G, Я), где G = {<7ь..., <7П } - конечное множество вершин, a R С GxG - бинарное отношение на G. Если (д(,д}) € R тогда и только тогда, когда (<7;,<7,) € Л, то граф называется неориентированным, в противном случае - ориентированным. Пары (gt,g3) € R
называются дугами (ребрами), а элементы gt множества G - вершинами графа.
27
идее структурного программирования. Создание сложных программных систем - одна из важнейших областей применения системного анализа. Вопросы математического обоснования декомпозиции рассматривались в [76, 64, 88]. Отметим лишь, что раздробление системы на подсистемы обычно проводится по принципу "слабых" связей, т.е. так, чтобы связи между подсистемами были слабее, чем связи между элементами каждой подсистемы.
В сложных системах часто приходится проводить несколько вариантов декомпозиции и соответственно строить несколько деревьев целей. Это обычно связано с наличием нескольких критериев функционирования системы. Возникающие при этом задачи многокритериального выбора изучаются в теории принятия решений [98]. Успех декомпозиции часто определяется интуицией и опытом исследователя. Человек, по данным психологов, может мысленным взором охватить структуру декомпозированной системы, если на каждом уровне возникает не более чем 5 ± 2 подзадач.
Пример 1.4.1. С и |
с т е м |
а п о д г о т о в к и с п е ц и а л и с т а |
в в у з е . Пусть перед |
нами |
поставлена цель - повысить эф- |
фективность подготовки специалистов в вузе. Как ее достичь - сразу неясно, нужно проводить.декомпозицию. Но как? Напрашивается разбиение по курсам, на шесть подсистем. Входы и выходы подсистем - показатели (например, показатели успеваемости, контрольных проверок и т.д.) в начале и конце соответствующего года обучения; подцели - обеспечение высоких значений показателей эффективности на выходах. Если оказывается, что принимаемые меры по курсам (в деканатах) малоэффективны, то проводится дальнейшая декомпозиция: по группам и по дисциплинам, выделяются группы и предметы, требующие применения воздействий. Следующий шаг декомпозиции - индивидуальный подход к студенту, содержащий возможные меры воздействия - проведение дополнительных занятий, лишение стипендии и т. д.
Можно проводить декомпозицию и по-другому - сначала по факультетам и кафедрам, а затем по специализациям, дисциплинам и преподавателям. Подцели при этом связаны с повышением добросовестности и квалификации преподавателей, следовательно, требуются другие меры воздействия, приводящие к улучшению других показателей функциониро-
28
вания системы.
В перечисленных вариантах способ декомпозиции был определен сложившейся структурой системы (процесса обучения). Но так бывает не всегда. Например, если анализировать ту же систему по критериям гуманитарной подготовки студента, то разбиение на подсистемы оказывается неоднозначным, а показатели функционирования подсистем - не вполне определенными.
... заблуждение - не противоположность истины, оно тоже храм и выстроено из тех же камней, но по-другому.
Антуан де Сентп-Экзюпери
ГЛАВА 2. ВВЕДЕНИЕ В MATLAB
2.1.Основные операторы языка
Изучение любого языка программирования обычно начинается с примеров применения его основных операторов. Однако состав даже базовых операторов языка MATLAB весьма широк, и сколь-нибудь полное его изложение возможно только в книгах большого объема, например как [35, 83, 84, 144]. Вместе с тем опыт применения системы и проведения занятий со студентами убеждает в том, что входной язык MATLAB настолько прост и естествен, что для успешной работы с системой необходим лишь небольшой набор основных сведений. Все остальное легко достигается по мере надобности: требуется только доступ к системе и конечно владение техническими терминами английского языка.1 Основные операторы языка в виде примеров представлены в настоящем параграфе. Примеры более сложных программ разбросаны по всему тексту книги.
2.1.1.Матричные операции
Создадим вектор а из девяти элементов. Лля этого в командной строке запишем оператор 2
> а = [1 2 3 4 6 4 3 4 5]
после чего нажмем клавишу Enter. В Окне управления MATLAB
(MATLAB |
Command Window) появляется ответ |
а = |
1 2 3 4 6 4 3 4 5 |
Система MATLAB (как это и принято в математике) отличает вектор-строки от вектор-столбцов. В данном случае
1Последнее обстоятельство с точки зрения авторов является, скорее, дополнительным доводом в пользу работы с системой.
2Символ > не набирается пользователем, а выставляется в командной строке интерпретатором системы MATLAB, являясь признаком ожидания команды.
30