
МНК
.docxМинистерство образования и Науки Российской Федерации
Казанский национальный исследовательский технологический университет
Кафедра химической кибернетики
Лабораторная работа №4
«Аппроксимация. Метод наименьших квадратов»
Выполнили
Гр.2361-62
Филипов Руслан Пискунов Андрей
Проверил: Шулаев М.В.
Казань, 2017
Постановка задачи:
x |
y |
1 |
4 |
2 |
3,2 |
3 |
2,56 |
4 |
2,05 |
5 |
1,64 |
6 |
1,31 |
Необходимо выбрать вид зависимости и определить параметры a, b.
Решение:
В таблице Excel:
1. На Листе 3 ввести исходные данные. Построить график (Вставка - Диаграмма- Тип точечный)
В ячейках A11:B16 рассчитать координаты средних точек (xk и yk) и нанести на график, по точке наиболее приближенной к экспериментальной кривой выбрать зависимость)
2. В ячейках D8:G8 рассчитать S1, S2, S3, S4
3. В ячейках E10 ввели формулу расчета параметра a.
4. В ячейку E11 ввели формулу расчета параметра b.
5. В ячейку С2 ввели полученную расчетную формулу, скопировали ее в ячейки С3:С7
6. По данным, находящимся в ячейках A1: С7, построили график.
Решение в EVB
Sub MNK()
n = Val(InputBox("6"))
Dim x(1 To 6), y(1 To 6) As Variant
i1 = 2: j1 = 1
For i = 1 To n
x(i) = Worksheets("Лист1").Cells(i1, 1).Value
y(i) = Worksheets("Лист1").Cells(i1, 2).Value
i1 = i1 + 1
Next i
s1 = 0: s2 = 0: s3 = 0: s4 = 0
For i = 1 To n
s1 = s1 + 1 / x(i)
s2 = s2 + y(i)
s3 = s3 + (1 / x(i)) ^ 2
s4 = s4 + y(i) / x(i)
Next i
a = (s2 * s3 - s1 * s4) / (n * s3 - s1 * s1)
b = (n * s4 - s1 * s2) / (n * s3 - s1 * s1)
Worksheets("Лист1").Cells(20, j1 + 1).Value = a
Worksheets("Лист1").Cells(21, j1 + 1).Value = b
For i = 1 To n
y1 = a + b / x(i)
s = s + (y(i) - y1) ^ 2
Worksheets("Лист1").Cells(i1 + 16, 1).Value = x(i)
Worksheets("Лист1").Cells(i1 + 16, 2).Value = y(i)
Worksheets("Лист1").Cells(i1 + 16, 3).Value = y1
i1 = i1 + 1
Next i
Worksheets("Лист1").Cells(32, j1).Value = s
End Sub
Результаты
X |
y |
yr |
s1 |
s2 |
s3 |
s4 |
|
s |
||||||
1 |
4 |
4,249762 |
1 |
4 |
1 |
4 |
|
0,062381 |
||||||
2 |
3,2 |
2,737287 |
0,5 |
3,2 |
0,25 |
1,6 |
|
0,214103 |
||||||
3 |
2,56 |
2,233129 |
0,333333 |
2,56 |
0,111111 |
0,853333 |
|
0,106845 |
||||||
4 |
2,05 |
1,98105 |
0,25 |
2,05 |
0,0625 |
0,5125 |
|
0,004754 |
||||||
5 |
1,64 |
1,829802 |
0,2 |
1,64 |
0,04 |
0,328 |
|
0,036025 |
||||||
6 |
1,31 |
1,72897 |
0,166667 |
1,31 |
0,027778 |
0,218333 |
|
0,175536 |
||||||
|
|
|
2,45 |
14,76 |
1,491389 |
7,512167 |
|
0,599644 |
||||||
Координаты средних точек |
|
|
|
|
|
|
||||||||
Xk |
yk |
|
a= |
1,224812 |
|
|
|
|
||||||
2,645751 |
2,304344 |
|
b= |
3,02495 |
|
|
|
|
||||||
3,5 |
2,304344 |
|
|
|
|
|
|
|
||||||
3,5 |
1,753296 |
|
|
|
|
|
|
|
||||||
2,645751 |
2,655 |
|
|
|
|
|
|
|
||||||
1,142857 |
2,655 |
|
|
|
|
|
|
|
||||||
1,142857 |
1,753296 |
|
|
|
|
|
|
|
Вывод: При помощи метода наименьших квадратов определили вид аппроксимирующей функции и нашли её коэффициенты .