Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Глава 2. Одномерная оптимизация с



применением пакета MATLAB …………………..23

2.1. Метод сканирования……………………………………………...23

2.2. Метод чисел Фибоначчи…………………………………………29

2.3. Метод локализации экстремума……………………………...35

2.4. Метод обратного половинного шага………………………..43

2.5. Метод золотого сечения………………………………………..51

Глава 3. Двухмерная оптимизация с

применением пакета MATLAB……………………57

3.1. Метод сканирования……………………………………………...57

3.2. Метод Гаусса-Зейделя …………………………………………..61

3.3. Метод пробных движений ……………………………………..67

 


Предисловие

Методы оптимизации широко применяются в настоящее время при компьютерном моделировании и проектировании химико-технологических процессов и решении задач энерго-ресурсосбережения химических производств. Поэтому приобретение знаний о постановке и решении задач оптимизации – необходимое условие подготовки современных специалистов химиков-технологов. Важной задачей является также обучение навыкам реализации конкретных методов оптимизации на компьютерах с применением математических пакетов решения конкретных оптимизационных задач программ, например, MATLAB.

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

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

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

 


Глава 1. Краткие основы работы в MATLAB

Интерфейс.


После запуска МАТЛАБ на экране появляется основное окно приложения (рис.1.1.). Оно содержит меню, панель инструментов и рабочую область (Commаnd Window).

Рис. 1.1. Интерфейс. Основное окно.


 

В рабочей области находится знак > > после которого расположен курсор. Эту строку называют командной строкой. В нее с клавиатуры вводятся команды. Нажатие Enter заставит выполнить команду и вывести результат в том же окне. (см. рис. 1.1.)

Так как текст в окне по мере работы смещается (уступает место новым командам и выводимым данным) то для просмотра выехавшей за окно части текста используют полосы прокрутки или клавиши Page Up, Page Down.

Клавиши ↑ и ↓ позволяют вернуть в командную строку ранее введенные команды или другую входную информацию (она вся обязательно автоматически хранится и всегда доступна). Кнопка ↑ помещает в командную строку предыдущую команду, а если еще раз ее нажать то еще предыдущую и так далее. Кнопка ↓ выводит команды (ранее набранные) в обратном порядке.

Видимая часть информации (то есть то что поместилось в окне) называется зоной просмотра, а командная строка зоной редактирования.

В зоне просмотра ничего нельзя исправить или ввести. Можно только выделить мышкой для копирования.

Если команда заканчивается; то результат ее выполнения не отображается в командной строке. Иначе, то есть если строка не заканчивается на; то результат сразу же после нажатия на Enter выводится в окне ниже этой команды. (см. выше на рис. 1.1)

Значения всех переменных, вычисленные в течение работы, сохраняются в специальной области памяти, называемой Workspace. (см. выше на рис. 1.1)

Определения всех переменных и функций и их последние перед закрытием программы значения можно сохранить на диск в файл с расширением.mat но само содержание Command Window при выключении МАТЛАБа не сохраняется никаким способом.

Примеры выполнения арифметических операций показаны на рис.1.1.

Для строк символов необходимо текст помещать в ‘одинарные кавычки’. Для сложения строк символов используется операция strcat, как показано на рис.1.1.

В главном меню (см. рис.1.1) следует обратить внимание на команду Desktop (настройка среды МАТЛАБ). При нажатии раскроется список, содержащий Desktop Layout который предлагает на выбор:

· Default устанавливает настройку принятую по умолчанию, то есть открывает окна Command Window, Workspace, Command History, Current Directory.

· Command Window Only открывает только окно Command Window.

· History and Command Window открывает соответствующие окна.

· All Tabbet показывает окно справки, окно управления М-файлами и внизу ярлычки рабочих окон, которые можно выбрать щелчком.

Также работа может осуществляться в программном режиме, то есть в командной строке указывается имя М-файла (файл с расширением.m), который содержит программу действий (алгоритм) и может рассматриваться как функция, то есть при указании его имени (без указания расширения) в командной строке выполняются запрограммированные в нем операции. (см.рис.1.2).

Как выгладит содержимое М-файла, см. рис.1.3.

Числовые переменные могут быть с плавающей точкой (тогда указывается порядок, например 6.4713e+003) или с фиксированной точкой (например 81.5000).

Текстовые комментарии начинаются со знака % (см.рис.1.2).

Все функции разделяются на встроенные и определенные пользователем. Встроенные, например, это y=sin(x); y=atan(x); y=exp(x); y=log(x) натуральный логарифм, а вот y=log10(x) десятичный логарифм, y=fix(x) округление до ближайшего целого в сторону нуля, y=floor(x) округление до ближайшего целого в сторону отрицательной бесконечности, y=ceil(x) округление до ближайшего целого в сторону положительной бесконечности, y=round(x) обычное округление

Массив задается так: ИМЯ_МАССИВА = НАИМЕНЬШ_ЭЛ-Т_МАСС: ШАГ_ИЗМЕН_ЭЛ-ТА_МАСС: НАИБОЛЬШ_ЭЛ-Т_МАСС; (см. рис.1.2).

Обращение к элементу массива y=x_mas(2); где в скобках указывается порядковый номер (индекс) элемента массива (см. рис.1.2).

Редактирование М-файлов

«File»—«New»--«M-file» позволяет открыть окно Editor то есть Редактор М-файлов. В этом окне напечатать текст программы, которая должна быть выполнена, когда имя этого М-файла будет указано в командной строке в Command Window. Иначе можно запустить командой “Debug”—“Run” в меню редактора.

 


 


Рис. 1.2. Математические операции.


 


рис. 1.3. описание функции в М-файле


Сохранение File—Save при этом откроется окно в котором надо будет указать где и под каким именем хо тите сохранить этот М-файл. Имя сохраняемого файла должно совпадать с именем описанной в нем функции

Рис. 1.4. Сохранение М-файла

(то есть описанная в нем программа считается функцией и ее описание начинается с указания какого-нибудь имени этой функции, под которым она дальше и будет вызваться для исполнения). (см.рис.1.4.)

Если какие-то М-файлы уже созданы ранее то их можно посмотреть командой File—Open и выбрать тот который нужен.

При написании программы можно писать комментарии начиная их со знака %. (см.рис.1.3).

Function y=f(x)

%функция вычисляется от одного аргумента и возвращает одно

%значение, или от вектора аргумента и возвращает вектор, каждый %элемент которого вычислен от соответствующего элемента вектора %аргумента

y=(x+2).*(x-4); %поэтому перед знаком *умножения стоит.точка.*

%если не ставить; точку с запятой в конце строки то произойдет вывод на %экран

end

символьная переменная в М-файле:

str=’P I Pupkin’

ее символьное содержимое заключается в кавычки.

Ввод:

xleft=input('введите левую границу интервала поиска ');

Вывод:

disp('ВВОД ИСХОДНЫХ ДАННЫХ края диапазона поиска, точность по аргументу ИЛИ по функции ');

disp(string);


Поделиться:



Популярное:

Последнее изменение этой страницы: 2017-03-03; Просмотров: 641; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.025 с.)
Главная | Случайная страница | Обратная связь