Решение задач оптимального управления с использованием математической системы MATLAB и пакета имитационного моделирования SIMULINK. Сивохин А.В - 39 стр.

UptoLike

% Ширина, высота и отступ слева одинаков для обоих окон
width = SCRwidth-5-3;
height = (SCRheight-19-5-3-19-5-3)/2;
left = 5;
% Отступ снизу для нижнего графического окна равен 5 пикселям
bottom2 = 5;
% Вычисление отступа снизу для верхнего окна с учетом толщины
% рамок и заголовка нижнего окна и толщины верхней рамки нижнего
% окна
bottom1 = 5+height+19+5+3;
% Создание окон без меню, рамки отображаются
HFigs(1) = figure('Position', [left bottom1 width height],...
'Menu', 'none', 'Color', 'w');
HFigs(2) = figure('Position', [left bottom2 width height],...
'Menu', 'none', 'Color', 'w');
Файл-функция, предназначенная для исследования функций:
function zeroandmin(funname, a, b);
% Исследование поведения функций вблизи корня и
% локального минимума на отрезке [a,b]
% Использование zeroandmin(funname, a, b);
% Формирование параметров функций fzero и fminbnd
% Подавление вывода в командное окно информации о ходе вычислений
options = optimset('Display', 'off');
% Поиск нуля функции на [a,b]
zero = fzero(funname, [a b], options);
% Поиск локального минимума функции на [a,b]
minvalue = fminbnd(funname, a, b, options);
% Создание окна
HF = figure('Menu', 'none', 'Color', 'w');
% Использование axes3 для
построения трех осей
HAx = axes3(HF);
% Задание delta для вывода графиков вблизи корня и
% локального минимума
delta = (b-a)/30;
axes(HAx(1)) % оси с указателем HAx(1) стали текущими
% Вывод графика функции вблизи ее минимума на верхние левые оси
fplot(funname, [minvalue-delta minvalue+delta])
axes(HAx(2)) % оси с указателем HAx(2) стали текущими
% Вывод графика функции вблизи ее нуля на верхние правые оси
fplot(funname, [zero-delta zero+delta])
axes(HAx(3)) % оси с
указателем HAx(3) стали текущими
% Ширина, высота и отступ слева одинаков для обоих окон
width = SCRwidth-5-3;
height = (SCRheight-19-5-3-19-5-3)/2;
left = 5;
% Отступ снизу для нижнего графического окна равен 5 пикселям
bottom2 = 5;
% Вычисление отступа снизу для верхнего окна с учетом толщины
% рамок и заголовка нижнего окна и толщины верхней рамки нижнего
% окна
bottom1 = 5+height+19+5+3;
% Создание окон без меню, рамки отображаются
HFigs(1) = figure('Position', [left bottom1 width height],...
  'Menu', 'none', 'Color', 'w');
HFigs(2) = figure('Position', [left bottom2 width height],...
  'Menu', 'none', 'Color', 'w');

         Файл-функция, предназначенная для исследования функций:

function zeroandmin(funname, a, b);
% Исследование поведения функций вблизи корня и
% локального минимума на отрезке [a,b]
% Использование zeroandmin(funname, a, b);

% Формирование параметров функций fzero и fminbnd
% Подавление вывода в командное окно информации о ходе вычислений
options = optimset('Display', 'off');
% Поиск нуля функции на [a,b]
zero = fzero(funname, [a b], options);
% Поиск локального минимума функции на [a,b]
minvalue = fminbnd(funname, a, b, options);
% Создание окна
HF = figure('Menu', 'none', 'Color', 'w');
% Использование axes3 для построения трех осей
HAx = axes3(HF);
% Задание delta для вывода графиков вблизи корня и
% локального минимума
delta = (b-a)/30;
axes(HAx(1)) % оси с указателем HAx(1) стали текущими
% Вывод графика функции вблизи ее минимума на верхние левые оси
fplot(funname, [minvalue-delta minvalue+delta])
axes(HAx(2)) % оси с указателем HAx(2) стали текущими
% Вывод графика функции вблизи ее нуля на верхние правые оси
fplot(funname, [zero-delta zero+delta])
axes(HAx(3)) % оси с указателем HAx(3) стали текущими