- •Компьютерное моделирование в пакете matlab/Simulink
- •© Сибирский федеральный университет, 2011
- •Оглавление
- •Общие сведения
- •Решение системы линейных алгебраических уравнений
- •Краткие теоретические сведения
- •Указания к выполнению
- •Порядок выполнения работы
- •Задания для самоподготовки
- •Решение транспортной задачи
- •Краткие теоретические сведения
- •Указания к выполнению
- •Исходные данные для транспортной задачи
- •Задания для самоподготовки
- •Указания к выполнению
- •Порядок выполнения работы
- •Задания для самоподготовки
- •Моделирование движения маятника
- •Краткие теоретические сведения
- •Указания к выполнению
- •Порядок выполнения работы
- •Задания для самоподготовки
- •Модель полЕта двухступенчатой ракеты
- •Краткие теоретические сведения
- •Указания к выполнению
- •Указания к выполнению
- •Порядок выполнения работы
- •Задания для самоподготовки
- •Построение НепараметрическОй Оценки Регрессии
- •Краткие теоретические сведения
- •Указания к выполнению
- •Порядок выполнения работы
- •Задания для самоподготовки
- •Библиографический список
- •Компьютерное моделирование в пакете matlab/Simulink
- •Агафонов Евгений Дмитриевич
- •660041, Г. Красноярск, пр. Свободный, 79.
- •660041, Г. Красноярск, пр. Свободный, 82а.
4. Отобразить в
рабочей области результаты выполнения
программы и интерпретировать их.
5. Сделать выводы
и оформить отчет о выполнении работы.
1. Объясните, чем
отличаются стандартная и каноническая
формы записи задачи линейного
программирования.
2. Дайте определение
двойственной задачи линейного
программирования.
3. Найдите информацию
о функциях MATLAB, задающих нулевые,
единичные и случайные матрицы заданной
размерности.
4. Используя
справочную систему MATLAB, определите,
какой метод оптимизации реализуется
функцией решения задачи линейного
программирования.
Задания для самоподготовки
Лабораторная работа 3
Построение регрессионной модели
с использованием метода наименьших квадратов
Цель работы: получить навыки построения модели одномерного статического объекта в пакете MATLAB с использованием линейного метода наименьших квадратов (МНК); овладеть приемами графического вывода в MATLAB.
Краткие теоретические сведения
Рассмотрим задачу оценивания функциональной зависимости по выборке некоррелированных и равноточных измерений этих переменных , в случае, когда уравнение этой зависимости представляет собой функцию, линейную относительно параметров:
.
В матричной форме это уравнение имеет вид
,
где – вектор параметров модели; – вектор линейно-независимых базисных функций. Также введем следующие матрицы:
, ,
где – матрица, составленная из базисных функций, рассчитанных в выборочных значениях независимой переменной; H – вектор выборочных значений зависимой переменной.
Подставляя в матричное уравнение поочередно все элементы выборки, получим несовместную систему уравнений:
Выполним преобразование, умножив левую и правую части уравнения на
.
Это уравнение носит называние нормального уравнения.
Вектор параметров модели является решением нормального уравнения:
Вектор также можно получить, решая задачу минимизации критериальной функции – среднего квадрата отклонения выборочных значений от значений модели, рассчитанных в выборочных точках .
Указания к выполнению
Рассмотрим задачу определения линейных коэффициентов модели методом МНК для функциональной зависимости , заданной случайной выборкой:
,
где , …, ; Здесь компоненты вектора случайной помехи некоррелированы и распределены по нормальному закону со следующими параметрами:
Структура модели имеет вид
Для построения модели МНК средствами MATLAB следует набрать и выполнить приведенный ниже скрипт (при этом необходимо обращать внимание на комментарии):
% Закрыть все существующие окна с графиками
close all;
% Задание выборочных значений на основе истинной
% квадратичной зависимости
% с аддитивной нормальной помехой с СКО = 0.7,
% приложенной к выходу
U = [0:0.5:4]';
X = U.^2 + randn(size(U))*0.7;
% Расчет оптимального вектора коэффициентов методом МНК
% с использованием встроенной функции
A1 = polyfit(U,X,2)
% Задание матрицы значений базисных функций в выборочных % точках
F = [U.^2, U.^1, U.^0];
% Расчет оптимального вектора коэффициентов методом МНК
% непосредственным решением матричного уравнения
A2 = inv(F'*F)*F'*X
% Задание вектора значений входной величины модели
U1 = (0:0.1:4);
% Расчет выходной величины модели МНК
X1 = polyval(A1,U1);
% Создание нового графика
% и включение режима рисования нескольких графиков на одном % поле
figure;
hold on;
% Вычисление среднеквадратического отклонения модели % относительно выборки
MSE = var(X-polyval(A1,U));
% Отображение модели МНК, выборочных значений и величины % СКО
plot(U1,X1,'LineWidth',1);
plot(U,X,'o','MarkerSize',5,'MarkerFaceColor','r','MarkerEdgeColor','r');
text(0.5,5,strcat('MSE = ',num2str(MSE)));
В результате выполнения программы будут получены оптимальные векторы параметров и , которые затем отобразятся в окне Command Window. Выборочные значения и модель МНК в диапазоне изменения входной величины от 0 до 4 выводятся на графике в окне Figure 1 (рис. 1).
Рис. 1. Графическое представление выборки и модели МНК