546

Исследование работы метода наименьших квадратов в математическом пакете MathLab

Лабораторная работа

Информатика, кибернетика и программирование

Познакомиться с средствами MathLab и смоделировать работу метода наименьших квадратов для полиномиальной модели для объекта с высоким уровнем помехи. Метод наименьших квадратов обеспечивает быстрый и точный подбор коэффициентов модели на базе выборки входов и выходов объекта.

Русский

2013-01-06

101.5 KB

57 чел.

Федеральное государственное автономное образовательное учреждение высшего профессионального образования

«СИБИРСКИЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ»

Институт космических и информационных технологий

Кафедра информационных систем

ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ

«Исследование работы метода наименьших квадратов в математическом пакете MathLab»

Преподаватель

    Е.Д. Агафонов.

подпись, дата инициалы, фамилия

Студент        КИ09-08          030900146          20.03.2012            О.В.Пен

                           номер группы    номер зачетной книжки                       дата                 инициалы, фамилия

Красноярск 2012


Цель работы: познакомиться с средствами Mathlab и смоделировать работу метода наименьших квадратов для полиномиальной модели для объекта с высоким уровнем помехи.

Краткие теоретические сведения

Метод наименьших квадратов обеспечивает быстрый и точный подбор коэффициентов модели на базе выборки входов и выходов объекта. Имеется некий объект, заданный следующим уравнением:

х(u1, u2,…,un) =a0+ a1*f(u1)+a2*f(u2)+…+an*f(un)                  (1)

В таком случае его модель примет следующий вид

 у(u1,…, un) = α0 + α1*f(u1) + α2*f(u2) + αn*f(un)                (2)

В случае представления вектора коэффициентов а и вектора функций в виде матриц, уравнение приобретает следующий вид:

         у(u1,…, un) = αT * φ(u)                                                               (3)

Пусть матрица функции φ(u) = Ф, матрица выходов  - Н, тогда:

Н = Ф* α     (4)

НФТ = ФТФ α  (5)

Тогда можно найти коэффициенты α модели:

α = (ФТФ)-1ФТН   (6)

В дальнейшем, сравнивая квадрат разности между выходами объекта и модели, получившимися при подстановке коэффициентов α в исходный полином, мы получим ошибку работы метода.

Листинг программы

  1.  Область генерации случайного входа

close all

n=100;

u1 = 100*rand(n,1);

u2 = 100*rand(n,1);

k1 = 2; k2 = 3; k3 = 4; k4 = 5; k5 = 6; k6 = 7;

x = k1*u1.^2 + k2*u2.^2 + k3*u1 + k4*u2 + k5*u1.*u2 + k6 + normrnd(0,10000,n,1);

h = x;

phi1 = ones(n,1);

  2. Область генерации матрицы Ф

F = [u1.^2 u2.^2 u1 u2 u1.*u2 phi1];

  3. Область нахождения коэффициентов модели и построения выхода модели

a = (F'*F)^(-1)*F'*h

y = a(1)*u1.^2 + a(2)*u2.^2  + a(3)*u1 + a(4)*u2 + a(5)*u1.*u2 + a(6);

  4. Область нахождения ошибки

nevyazka = y-x;

nevyazka2 = nevyazka.^2;

oshibka = sum(nevyazka2)/n;

    5. Область рисования графика

[u1_, u2_] = meshgrid(0:1:100, 0:1:100);

y_ = a(1)*u1_.^2 + a(2)*u2_.^2  + a(3)*u1_ + a(4)*u2_ + a(5)*u1_.*u2_ + a(6);

 

mesh(u1_,u2_,y_);

hold on

plot3(u1,u2,x,'.');

Результаты работы программы

Рисунок 1 График модели (радужный) и объекта (точки) для высокого уровня дисперсии

Как видно, модель не полностью отвечает объекту (рис.1). Это обусловлено высоким уровнем дисперсии помехи, заявленным в программе. Понижение уровня дисперсии ведет к более точному совпадению модели и объекта (рис.2).

Рисунок  2 График модели и объекта для низкого уровня дисперсии.

Вывод

Как можно заметить исходя из графиков, уровень дисперсии помехи значительно влияет на точность модели при использовании метода наименьших квадратов. Средства MathLab позволяют построить быструю и точную модель при использовании сравнительно малого объема кода, кроме того, имеется возможность проиллюстрировать работу программы при использовании высокоуровневых 3D-графиков.


 

А также другие работы, которые могут Вас заинтересовать

35409. Операційна система Ms – Dos. Команди Ms – Dos 133 KB
  DOC із каталогу TEXT логічного диска D:; DEL .ВАК активного каталогу. Якщо вам потрібно вилучити всі файли із каталогу наприклад за допомогою команди DEL . Перейменовуються всі файли із заданого каталогу які підходять під шаблон заданий у першому імені файла в команді.
35412. ЭЛЕКТРОННО-ЛУЧЕВАЯ ЛИТОГРАФИЯ 331.82 KB
  Плотность тока при экспозиции составляет около 105 А см2 в случае использования фотокатодов из йодида цезия имеющего наибольший срок службы. В этом случае освещающий луч фокусируется на маске а не проходит через нее освещая ее целиком как это имеет место в проекционной системе. Ходом луча управляет специальный микропроцессор или ЭВМ. Результаты этого пооцесса получаются удовлетворительными только в том случае если отверстия в резисте имеют подтравленные стенки.
35413. Превращения энергии при свободных затухающих электромагнитных колебаниях. Функции энергии электрического и магнитного полей от времени 197.5 KB
  Основные параметры волны: амплитуда частота фаза период волновое число длина волны фазовая скорость. При распространении волны частицы среды не движутся вместе с волной а колеблются около своих положений равновесия. Волны бывают продольные когда колебания происходят вдоль линии распространения волны и поперечные когда колебания происходят поперек этой линии Поперечные волны б Продольные волны Продольные волны могут распространяться исключительно в среде тогда как поперечные и в вакууме. Часто нам приходится сталкиваться с...
35414. Животноводческая ферма 414.16 KB
  Техническое обслуживание машины и оборудования животноводческих комплексов и ферм организуется с учетом особенностей хозяйств, которые можно разделить на три группы
35415. Проектирование информационных систем в среде Rational Rose 469.5 KB
  Для успешной реализации проекта объект проектирования «Приемное отделение стационара» должен быть прежде всего адекватно реализован в программной среде Rational Rose
35416. ВЫЧИСЛЕНИЕ МАТЕМАТИЧЕСКИХ ВЫРАЖЕНИЙ 88.5 KB
  ВАРИАНТ 13 Алгоритм: псевдокод Объявляем переменные alpha beta z1 z2; Считываем значения параметров и переводим их в радианы; Вычисление значения функций и вывод на экран. блоксхема НАЧАЛО alpha beta z1 z2 z1 = sinalpha cos2 beta alpha cosalpha sin2 beta alpha; z2 = 1 sin2 beta cos2 beta z1...