Добавил:
Если чем-то мне удалось вам помочь, то благодарность принимаю на эту карту: 2200 2460 1776 0607 Для защищенки 5 сем: https://t.me/+h5cc9QNQe19kODVi Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

лаба3

.docx
Скачиваний:
38
Добавлен:
18.11.2023
Размер:
102.52 Кб
Скачать

МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ

Ордена Трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего образования

«Московский технический университет связи и информатики»

Кафедра «Информатика»

Лабораторная работа №3

«Аппроксимация функций. Метод наименьших квадратов»

Выполнил: ---------------------------------------------

Проверил:

Москва, 2023 г.

Индивидуальное задание к работе

N варианта

Функция из табл. 3-2

Номера узлов из табл. 3-2

8

10,12,14,16,18,20

-номер узла

10

-0.6

-1,06

12

-0.4

-1.406

14

-0.2

-0.386

16

0.0

1

18

0.2

1.386

20

0.4

0.406

Линейная аппроксимация

Вычислим и запишем в таблицу элементы матрицы Грамма и столбец свободных членов.

0

-0.6

-1,06

0,636

0,36

1

-0.4

-1.406

0,5624

0,16

2

-0.2

-0.386

0,0772

0,04

3

0.0

1

0

0

4

0.2

1.386

0,2772

0,04

5

0.4

0.406

0,1624

0,16

-0.6

-0,06

1,7152

0,76

Составим системы нормальных уравнений (Матрицу Грамма). Для линейной функции система нормальных уравнений примет вид (линейная аппроксимация):

решить систему уравнений: получим коэффициенты А0 = 0,1999 и А1 = 2.099, тогда полином первой степени будет таким:

P1(x) = 0,1999 +2.099*x

-0.6

-0,4

-0.2

0.0

0.2

0.4

-1,06

-1.406

-0.386

1

1.386

0.406

-1.0595

-0.6397

-0.2199

0.1999

0.6197

1.0395

-0.0005

-0.7663

0.199

0.8001

0.7663

-0.6335

0.558248

1.25122

2.2201

3.46488

4.98557

6.78217

1.92405

3.40248

0.732736

0.334755

1.195

0.103517

В таблице представлена исходная функция и результаты аппроксимации в узловых точках.

Среднеквадратичное отклонение

Проведем оценку погрешностей и посчитаем среднеквадратичное отклонение.

Решение задачи аппроксимации при помощи матпакета

import numpy as np

import matplotlib.pyplot as plt

# Таблично заданные данные

x = np.array([0.6, 0.8, 1.0, 1.2, 1.4, 1.6])

y = np.array([-0.64, -0.726, 0.634, 2.44, 3.326, 2.926])

# Аппроксимация многочленами первой, второй, третьей, четвертой и пятой степени

p1 = np.polyfit(x, y, 1)

p2 = np.polyfit(x, y, 2)

p3 = np.polyfit(x, y, 3)

p4 = np.polyfit(x, y, 4)

p5 = np.polyfit(x, y, 5)

# Графическое представление результатов аппроксимации

xp = np.linspace(0.5, 1.7, 100)

plt.plot(x, y, '.', xp, np.polyval(p1, xp), '-', xp, np.polyval(p2, xp), '--', xp, np.polyval(p3, xp), '-.', xp, np.polyval(p4, xp), ':', xp, np.polyval(p5, xp), '-.')

plt.legend(['Табличные данные', '1-й степени', '2-й степени', '3-й степени', '4-й степени', '5-й степени'])

plt.title('Аппроксимация многочленами различных степеней')

plt.show()

[-1.54732143 7.94582143 -5.36095714]

(среднеквадратическая погрешность): 0.2956142523809522

Аппроксимация многочленом 3-й степени:

[-20.55324074 66.27837302 -62.51068783 17.42847619]

(среднеквадратическая погрешность): 0.003626693121693024

Аппроксимация многочленом 4-й степени:

[ 8.25520833 -56.87615741 123.97048 611 -101.53187831 26.87054762]

(среднеквадратическая погрешность): 0.0012340978835976063

[Finished in 719ms]

Среднеквадратическая погрешность аппроксимации функции полиномом n-ой степени на заданном интервале зависит от свойств функции и распределения узлов интерполяции

В частности, если функция является достаточно гладкой и узлы интерполяции равномерно распределены на заданном интервале, то среднеквадратическая погрешность может быть близка к нулю при увеличении степени полинома. Однако, если функция имеет разрывы или особенности, то даже высокостепенный полином может не дать достаточно точного приближения.

Таким образом, среднеквадратическая погрешность аппроксимации полиномом 5-ой степени зависит от свойств функции и распределения узлов интерполяции, и не всегда бывает близка к нулю. В общем случае необходимо оценивать погрешность для конкретной функции и распределения узлов интерполяции.

Соседние файлы в предмете Численные методы