- •Томский политехнический университет
- •Отчеты по циклу лабораторных работ по дисциплине
- •Оглавление
- •Отчёт по лабораторной работе №1 “Интерполяция и экстраполяция”.
- •Отчёт по лабораторной работе №2 “Аппроксимация ”.
- •Отчёт по лабораторной работе №3 “ Численное интегрирование ”.
- •Отчёт по лабораторной работе №4 “Поиск особых точек”.
- •Отчёт по лабораторной работе №5 “Базы данных ”.
Отчёт по лабораторной работе №2 “Аппроксимация ”.
Цель работы:
научиться применять формулы метода наименьших квадратов для построения полиномов, аппроксимирующих ряд экспериментальных данных.
Ход работы:
В соответствии с пунктами 1-5 создаю файл в Microsoft Excel. Выбираю номер дефектной точки и количество точек в массиве из своего индивидуального задания.
№ варианта (уровень А) |
12 |
А точное |
12 |
В точное |
2 |
Программа для кнопки “Создать дефект”:
Private Sub CommandButton1_Click()
'заполнение деффектного массива
Randomize
stdef = Worksheets(1).Cells(18, 6).Value
For i = 1 To N
X(i) = Worksheets(1).Cells(i + 2, 1).Value
y(i) = Worksheets(1).Cells(i + 2, 2).Value
Worksheets(1).Cells(i + 2, 3).Value = X(i)
Worksheets(1).Cells(i + 2, 4).Value = y(i) + (Rnd(1) - 0.5) * stdef
Next i
End Sub
В соответствии с пунктами 6-9 записываю программы для кнопок:
“Расчет по МНК”:
s1 = 0
s2 = 0
s3 = 0
s4 = 0
For i = 1 To N
s1 = s1 + X(i) * y(i)
s2 = s2 + X(i)
s3 = s3 + y(i)
s4 = s4 + X(i) ^ 2
Next i
A = ((N + 1) * s1 - s2 * s3) / ((N + 1) * s4 - s2 ^ 2)
Результаты (в соответствии с условием вычисляем значения для нескольких разных показаний датчика случайных чисел):
1.
2.
3.
Графики:
Изменяю, степень дефектности и проверяю значения:
Значение: 10. Результат:
Значение: 50. Результат:
Значение: 150. Результат:
Цель моего исследования: найти такую степень дефектности, чтобы линия тренда изменила свое направление. В моем случае с монотонно возрастающей функции на монотонно убывающую функцию. Для этого нужно, чтобы коэффициенты: А<В.
Делая множество расчетов, прихожу к тому, что это значение равно: 8514.
Результат:
В соответствии с пунктом 10 выполняю задание уровня В:
№ варианта (уровень В) |
2 |
Количество точек в исходном ряде данных |
13 |
Номер дефектной точки |
6 |
Результаты:
1.
2.
3.
Графики:
Ищу значение дефекта, такого чтобы линия тренда изменила свое направление. Путем множества расчетов получаю:
Значение: 100
Значение: 1000
Значение: 10000
Результат: Далее делая множество расчетов, прихожу к тому, что это значение, при котором линия тренда изменяет свое направление, равно: 17500.
Вывод:
При степени дефектности нуль, погрешность равна нулю.
Чем выше значение дефектности, тем сильнее изменяются числа и соответственно выше погрешность.
Значения А и В можно рассчитывать до тех пор пока линия тренда не изменит свое направление с монотонно возрастающего на монотонно убывающее. Это происходит только в том случае, если дефект настолько высок, что метод аппроксимации не способен его восстановить.
Оглавление
Отчёт по лабораторной работе №3 “ Численное интегрирование ”.
Цель работы:
научиться применять формулы численного интегрирования для вычисления площадей под функционально или таблично заданными рядами данных
Ход работы:
№ варианта (уровень А,В) |
12 |
Количество точек в исходном ряде данных |
9 |
Радиус |
12 |
В соответствии с пунктами 1-7 создаю программу согласно текстовому примеру:
'площадь по ф-ле правого прямоугольника с шагом h
s1 = 0
h = x(2) - x(1)
For i = 2 To N
s1 = s1 + Y(i)
sh = h * s1
Next i
Worksheets(1).Range("D15").Value = sh
sht = Worksheets(1).Range("b15").Value
pogr = (Abs(sht - sh) / sh) * 100
Worksheets(1).Range("d16").Value = pogr
'рассчёт и пропись погрешности
End Sub
'площадь по ф-ле трапеций с шагом h
sh = 0
h = x(2) - x(1)
For i = 2 To N - 1
sh = sh + Abs(h * Y(i))
Next i
sh = sh + Y(1) * h / 2 + Y(N) * h / 2
Worksheets(1).Range("f15").Value = sh
sht = Worksheets(1).Range("b15").Value
pogr = (Abs(sht - sh) / sh) * 100
Worksheets(1).Range("f16").Value = pogr
'рассчёт и пропись погрешности
End Sub
'площадь по ф-ле трапеций с шагом h
sh = 0
h = x(2) - x(1)
For i = 2 To N - 1
sh = sh + Abs(h * Y(i))
Next i
sh = sh + Y(1) * h / 2 + Y(N) * h / 2
'площадь по ф-ле трапеций с шагом 2h
s2h = 0
h = x(3) - x(1)
For i = 3 To N - 2 Step 2
s2h = s2h + Abs(h * Y(i))
Next i
s2h = s2h + Y(1) * h / 2 + Y(N) * h / 2
s = (4 * sh - s2h) / 3
'а это формула Симпсона
Worksheets(1).Range("h15").Value = s
sht = Worksheets(1).Range("b15").Value
pogr = (Abs(sht - s) / s) * 100
Worksheets(1).Range("h16").Value = pogr
'рассчёт и пропись погрешности
End Sub
Результат:
В соответствии с индивидуальным заданием провожу следующие вычисления:
А) Поскольку для того чтобы рассчитать площадь четверти окружности не хватает точек в диапазоне, нахожу площадь исходной трапеции, с помощью программы MathCad 2000:
Результаты:
Б) Создаю программу, по которой заданному количеству точек программа выбирает радиус и воссоздает вид четверти окружности (при этом создается дополнительная кнопка):
Результаты:
В соответствии с уровнем В увеличиваю диапазон точек в два раза и считаю площадь c помощью программы MathCad 2000:
Результаты:
Вывод:
Для одного и того же радиуса невыгодно искать большее количество точек, чтобы снизить погрешность расчетов по формуле прямоугольника. Выгоднее использовать другой метод (например, метод Симпсона), который в порядок снизит погрешность.
Чем больше точек мы задаем, тем точнее расчет. В целом, наиболее точный расчет дает формула Симпсона.
Если точки заданы несколько некорректно, то есть с потерей какого-либо количества точек и при относительно малом диапазоне, наиболее эффективной является формула трапеции, а наиболее неэффективной формула Симпсона.
При задании координат точек некорректно, например количество точек превышает значение радиуса, а значит мы получаем ошибку при вычислениях: отрицательное число под знаком корня. В данном случае приходится идти на математические ухищрения (например, подкоренное выражение взять по модулю). В данном случае при высоком диапазоне данных наиболее эффективной является формула прямоугольников, а самой неэффективной: формула трапеций.
Оглавление
