Министерство образования и науки Украины
Национальный аэрокосмический университет им. Н.Е. Жуковского «Харьковский авиационный институт»
Кафедра 304
Лабораторная работа №2
По курсу «Численные методы»
По теме: «Метод наименьших квадратов»
Выполнил:
студент 325 группы
Меняйлов Евгений
Проверила:
Яровая О.В.
___________________
Харьков 2010
Лабораторная работа №9
«Обработка результатов наблюдений методом наименьших квадратов»
Цель. Усвоить навыки аппроксимации таблично заданных функций методом наименьших квадратов.
Постановка задачи:
1. Задана табличная функция.
2. Методом наименьших квадратов найти многочлены первой и второй степеней, аппроксимирующие табличную функцию.
3. Построить графики полиномов и заданной функции в среде MATLAB, MATHCAD.
Практическая часть.
Реализация в MATHCAD.
1. Программный блок, реализующий МНК для полинома степени k. |
2. Аппроксимация прямой. |
Выполним аппроксимацию данных с применением встроенных функций. |
2. Аппроксимация параболой. |
3. Построение графиков функций ,. |
4. Вычисление невязок. |
Реализация в MatLab.
function res = MNK(x,y,k);
%-------------------------
n = size(x);
n = n(1);
h = zeros(n,k);
A = zeros(k);
for i=1:n
for j=1:k+1
h(i,j)=x(i)^(j-1);
end;
end;
A = inv((h.')*h)*(h.')*y;
res = A;
return
function res = AproximP(x,A,k);
n = length(x);
for j=1:n
h=0;
for i=1:k+1
h = h+A(i)*(x(j)^(i-1));
end;
y(j,1)=h;
end;
res=y;
return;
Результаты.
>> xw=[-1; 0; 1; 2; 3; 4; 5];
>> yw=[-6.1; -5.8; -5.2; -4.8; -4.5; -5.0; -5.6 ];
>> xi = -1:0.001:5;
>> A2 = MNK(xw,yw,2)
A2 =
-5.5571
0.6214
-0.1214
>> A1 = MNK(xw,yw,1)
A1 =
-5.5571
0.1357
>> fi1 = AproximP(xi,A1,1);
>> fi2 = AproximP(xi,A2,2);
>> plot(xw,yw,'-.g*');
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.