Лабораторные работы / ЛР4
.pdfОтчет по лабораторной работе № 4 на тему: «Метод наименьших квадратов» по дисциплине «Вычислительные методы»
Постановка задачи.
Аппроксимировать данные функциями следующего вида:
1)многочленом 2-й степени P(x)=ax2+bx+c;
2)экспоненциальной функцией G(x)=aebx.
Для каждого приближения вычислить величину среднеквадратичного отклонения σ и выбрать лучшую аппроксимирующую функцию.
1. Исходные данные.
x |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
|
|
|
|
|
|
|
|
|
|
|
|
y |
6074,3 |
4370,75 |
2022,3 |
1750,2 |
3552,8 |
941,4 |
938 |
517,6 |
520,2 |
333,5 |
613,6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
y |
28,3 |
318,5 |
25,3 |
103,3 |
13,3 |
50 |
89 |
51,35 |
42,9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Часть А).
2. Программа, реализующая составление матрицы нормальной системы:
matr(x,y ,n ,m) := |
|
for k 0..m |
|
|
||||
|
|
|
|
for |
j 0..m |
|
|
|
|
|
|
|
|
|
n |
(xi)k+j |
|
|
|
|
|
Mk,j ← ∑ |
||||
|
|
|
|
|
|
i = 0 |
|
|
|
|
|
|
M |
|
|
|
|
M := matr(x,y ,19,2) |
|
|
|
|
||||
|
|
20 |
190 |
2.47× |
3 |
|
||
|
|
10 |
|
|||||
M = |
|
|
2.47× |
3 |
3.61× |
4 |
|
|
|
190 |
10 |
10 |
|
||||
|
|
3 |
3.61× |
4 |
|
5 |
|
|
|
|
2.47× 10 |
10 |
5.627× 10 |
|
Программа, реализующая составление вектора правых частей:
vect (x,y ,n ,m) := for k 0..m
n
bk ← ∑ yi (xi)k i = 0
b
b := vect (x,y ,19,2) |
|
|
|
||||
|
2.236× |
4 |
|
|
|
|
|
|
10 |
|
|
|
|
||
|
|
|
4 |
|
|
|
|
b = |
6.529× |
10 |
|
|
|
|
|
|
|
|
5 |
|
|
|
|
4.368× |
10 |
|
|
|
|
||
|
|
|
|
3. Получение значений коэффициентов многочлена P(x)=ax2+bx+c: |
|||
kf := lsolve(M ,b) |
|
|
|
||||
|
|
3 |
|
|
|
||
|
4.747× 10 |
|
|
|
|
||
kf = |
−730.46 |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
26.804 |
|
|
|
|
||
c=4747 |
|
|
|
|
|
||
b=-730,46 |
|
|
|
|
|
||
a=26,804 |
|
|
|
|
|
||
4. Графики многочлена P(x) = 4747 - 730,46 × x + 26,804 × x2 и точек исходной таблицы: |
|||||||
|
|
8×103 |
|
|
|
|
|
|
|
6×103 |
|
|
|
|
|
|
|
4×103 |
|
|
|
|
|
y |
|
|
|
|
|
|
|
P(x) |
|
|
|
|
|
|
|
|
|
2×103 |
|
|
|
|
|
|
|
0 |
|
|
|
|
|
|
|
− 2×103 |
5 |
10 |
15 |
20 |
|
|
|
|
0 |
||||
|
|
|
|
|
x |
|
|
5. Вычисление среднеквадратичного отклонения многочлена P(x): |
|
n
σ(n) := n 1+ 1 ∑ (P(xk)− yk)2 k = 0
σ(19) = 654.116
2
Часть Б).
G(x) = aebx
ln(G(x)) = ln(a) + bx = c + bx
6. Значения элементов векторов x и s = ln(y):
x |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
s |
8,712 |
8,383 |
7,612 |
7,467 |
8,175 |
6,847 |
6,844 |
6,249 |
6,254 |
5,81 |
6,419 |
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
|
18 |
|
19 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
s |
|
3,343 |
|
5,764 |
|
3,231 |
|
4,638 |
|
2,588 |
|
3,912 |
|
4,489 |
|
3,939 |
|
3,759 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7. Составление матрицы нормальной системы и вектора правых частей:
M1 := matr(x,s ,19,1)
20 |
190 |
|
|
M1 = |
190 |
3 |
|
|
2.47× 10 |
|
b1 := vect (x,s ,19,1)
b1 = 114.434897.161
8. Получение значений коэффициентов b, c, a:
kf1 := lsolve(M1,b1)
8.435 kf1 = −0.286
c=8,435 b=-0,286
a := e8.435 = 4.605× 103
3
9. Графики функции G(x) = 4605 × e-0,286 × x и точек исходной таблицы: |
|
|||
8×103 |
|
|
|
|
6×103 |
|
|
|
|
4×103 |
|
|
|
|
y |
|
|
|
|
G(x) |
|
|
|
|
2×103 |
|
|
|
|
0 |
|
|
|
|
− 2×103 |
5 |
10 |
15 |
20 |
0 |
||||
|
|
x |
|
|
10. Вычисление среднеквадратичного отклонения функции G(x): |
|
n
σ(n) := n 1+ 1 ∑ (G(xk)− yk)2 k = 0
σ(19) = 630.872
Функция |
|
Коэффициенты |
СКО σ |
|
|
|
|
|
|
|
a |
|
26,804 |
|
P(x)=ax2+bx+c |
|
|
|
654,116 |
b |
|
-730,46 |
||
|
|
|
|
|
|
c |
|
4747 |
|
|
|
|
|
|
G(x)=aebx |
a |
|
4605 |
630,872 |
|
|
|
||
b |
|
-0,286 |
||
|
|
|
||
|
|
|
|
|
11. Среднеквадратичное отклонение у функции G(x)=aebx меньше, чем у функции P(x)=ax2+bx+c, следовательно, G(x) более адекватно приближает исходные данные.
4