lab_3_MOII
.docxСанкт-Петербургский государственный электротехнический университет «ЛЭТИ»
Отчет по лабораторной работе №3
«Метод наименьших квадратов»
Цель работы: найти в пакете MATLABс использованием метода наименьших квадратов (МНК) коэффициенты многочлена фиксированной степени m, для которого среднеквадратичное отклонение (СКО) минимально.
Реализация:
x=[4.7 6.89 8.13 10.88 12.96]; %задаём таблицу значений для х и у
y=[8.56 10.59 12.69 14.8 16.3];
p0=polyfit(x,y,0); %находит коэффициенты полинома p(x) степени n,
p1=polyfit(x,y,1);%который аппроксимирует функцию y(x) в смысле метода
p2=polyfit(x,y,2);%наименьших квадратов. Выходом является
p3=polyfit(x,y,3);%строка p длины n +1, содержащая
p4=polyfit(x,y,4);%коэффициенты аппроксимирующего полинома
a=polyval(p0,x);%Функция y = polyval(p, s), где
b=polyval(p1,x);%p = [p1 p2 ... pn pn+1] - вектор
c=polyval(p2,x);%коэффициентовполинома p(x) = p1xn + p2xn-1 + ... + pnx + pn+1,
d=polyval(p3,x);%вычисляет значение этого полинома в точке x = s.
e=polyval(p4,x);
SKO=1/(5-0)*sum((y-a).^2);%находим СКО по формуле
SKO1=1/(5-1)*sum((y-b).^2);
SKO2=1/(5-2)*sum((y-c).^2);
SKO3=1/(5-3)*sum((y-d).^2);
SKO4=1/(5-4)*sum((y-e).^2);
plot(x,a,'r'); %построение графиков
hold on;
plot(x,b,'b');
hold on;
plot(x,c,'g');
hold on;
plot(x,d,'p');
hold on;
plot(x,e,'k');
hold on;
Вывод: В результате выполнения данной лабораторной работы, мы изучили функции polyfit и polyval в MatLab, вспомнили метод наименьших квадратов и формулу СКО.