Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ЧМ - ПР№2

.doc
Скачиваний:
13
Добавлен:
25.03.2015
Размер:
240.13 Кб
Скачать

ПРАКТИЧЕСКАЯ РАБОТА №2

Интерполяция функций

ЗАДАНИЕ ДЛЯ ПРАКТИЧЕСКОЙ РАБОТЫ

Функция y=f(x) задана таблицей значений в точках .

Используя пользовательскую и встроенные функции MathCAD построить линейную и кубическую сплайн интерполяцию.

Используя метод наименьших квадратов (МНК), найти многочлен наилучшего среднеквадратичного приближения оптимальной степени m=m*. За оптимальное значение m* принять ту степень многочлена, начиная с которой величина стабилизируется или начинает возрастать.

ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ:

  1. Задать векторы x и y исходных данных.

  2. Используя пользовательскую функцию Interpol выполните линейную интерполяцию функции и определите значение Y в точке X=1.67

  3. Используя встроенные в MathCAD функции постройте линейную и кубическую сплайн интерполяцию.

  4. Используя пользовательскую функцию mnk, найти многочлены Pm, m=0,1,2,..., по методу наименьших квадратов. Вычислить соответствующие им значения .

  5. Построить гистограмму зависимости от m, на основании которой выбрать оптимальную степень m* многочлена наилучшего среднеквадратичного приближения.

  6. На одном чертеже построить графики многочленов Pm, m=0,1,2,..., m*, и точечный график исходной функции.

ПРИМЕР ВЫПОЛНЕНИЯ РАБОТЫ

  1. Пусть функция задана таблицей, где первый столбец, х-координата, а второй, y-координата.

Построим график

Допустим, нам необходимо вычислить значение функции в точке x=0.53. Очевидно, необходимо построить уравнение прямой проходящей через две ближайшие точки и вычислить значение функции для данного значения аргумента. Это линейное приближение.

  1. Напишем программу линейной интерполяции.

- количество строк матрицы - 1

- лежит ли х в диапазоне?

- вычисляем индекс точки справа

- угловой коэффициент

- свободный член уравнения

- возвращаемое значение

Теперь можно вычислить значение при х=0.53:

В Mathcad реализованы стандартные функции для линейной интерполяции linterp() и функция interp() для кубической сплайн-интерполяции.

3.1. Линейная интерполяция                 

Функция :

- векторы данных упорядоченные по возрастанию;

- аргумент, для которого возвращается вычисленное значение.

Для нашего случая:

     

Построим на графике обе эти зависимости и исходный набор точек:

3.1. Кубическая сплайн-интерполяция

Кубическая сплайн-интерполяция позволяет провести через набор точек гладкую кривую так, чтобы в этих точках были непрерывны первая и вторая производные. Вначале вычисляется вектор вторых производных для чего имеется набор из 3-х функций:

- генерирует кривую, являющуюся кубическим полиномом в граничных точках;

- соответственно, параболу;

- прямую.

Вычислим:

 

 

Построим график для всех 3-х вариантов.

4. Метод наименьших квадратов

Векторы исходных данных:

Функция mnk, строящая многочлен степени m по методу наименьших квадратов, возвращает вектор a коэффициентов многочлена:

 

Входные параметры:

x, y - векторы исходных данных;

n+1 - размерность x,y.

Вычисление коэффициентов многочленов степени 0,1,2,3 по методу наименьших квадратов:

Функция P возвращает значение многочлена степени m в точке t; многочлен задается с помощью вектора коэффициентов a:

 

Функция возвращает значение среднеквадратичного отклонения многочлена P(a,m,t):

Вычисление значений , m=0,1,2,3:

Гистограмма

Вывод: оптимальная степень m*=2; многочлен наилучшего среднеквадратичного приближения: P2(x)=-1.102+1.598x+0.717

Графики многочленов степени 0,1,2 и точечный график исходной функции:

ВАРИАНТЫ ЗАДАНИЙ

1

2

3

4

5

x

y

x

y

x

y

x

y

x

y

-1

-2.25

0

4.568

-1

3.614

-0.5

0.72

-2.1

14.1982

-0.7

-0.77

0.375

3.365

-0.74

1.199

-0.25

1.271

-1.8

11.4452

-0.43

0.21

0.563

2.810

-0.48

-0.125

0

1.2

-1.5

9.1586

-0.14

0.44

0.75

2.624

-0.21

-0.5838

0.25

0.7363

-1.2

7.2426

-0.14

0.64

1.125

0.674

0.05

-0.538

0.5

0.24

-0.9

6.3640

0.43

0.03

1.313

0.557

0.31

-0.2855

0.75

-0.175

-0.6

4.8182

0.71

-0.22

1.5

0.384

0.58

0.1111

1

-0.36

-0.3

6.1088

1

-0.84

1.690

-0.566

0.84

0.4529

1.25

-0.328

0

3.9536

1.29

-1.2

1.875

-1.44

1.1

0.6711

1.5

0

0.3

4.6872

1.57

-1.03

2.063

-1.696

1.36

0.6625

1.75

0.3538

0.6

4.7601

1.86

-0.37

2.25

-1.91

1.63

0.4501

2

0.72

0.9

5.8511

2.14

0.61

2.438

-2.819

1.89

0.157

2.25

0.6969

1.2

7.1010

2.43

2.67

2.625

-3.625

2.15

-0.1876

2.5

0

1.5

9.1792

2.71

5.04

2.813

-3.941

2.41

-0.542

2.75

-1.792

1.8

11.421

3

8.90

3

-4.367

2.95

-0.1983

3

-5.16

2.1

14.097

КОНТРОЛЬНЫЕ ВОПРОСЫ

  1. Постановка задач приближения функций.

  2. Метод наименьших квадратов. Вывод нормальной системы метода наименьших квадратов.

  3. Погрешность интерполяции.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]