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

Вычислительные методы

..pdf
Скачиваний:
14
Добавлен:
15.11.2022
Размер:
1.74 Mб
Скачать

Министерство образования и науки Российской Федерации Федеральное агентство по образованию

Пермский государственный технический университет

Т.С. Леготкина, С.А. Данилова

ВЫЧИСЛИТЕЛЬНЫЕ МЕТОДЫ

Утверждено Редакционно-издательским советом университета в качестве учебно-методического пособия для студентов специальности

«Управление и информатика в технических системах»

Пермь 2005

УДК 621.311 ЛЗЗ

Рецензенты:

Президент Пермского регионального общественного отделения «Западно-Уральская академия информациологии» общественной организации «Международная академия информатизации» академик В.В. Белоусов

Доцент кафедры автоматики и телемеханики Пермского государственного технического

университета, кандидат технических наук2Ы. Панов

Леготкина Т.С., Данилова С.А.

ЛЗЗ Вычислительные методы: Учебно-метод. пособие к лаборат. работам для студ. спец. «Управление и информатика в технических систе­ мах» / Перм. гос. техн. ун-т. - Пермь, 2005. - 51 с.

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

В данном пособии описываются методы и лабораторные работы, посвященные указанным разделам.

Учебно-методическое пособие предназначено для студентов специальности 210100 «Управление и информатика в технических системах»

УДК 621.311

© Пермский государственный технический университет, 2005

3

1.ВВЕДЕНИЕ

1.1.Интерполирование функций. Постановка задачи

На практике не всегда удается описывать изучаемые функциональ­ ные зависимости аналитически. Часто приходится иметь дело с функция­ ми у =/(*), заданными таблично: у, -fa t). При этом известно, что областью определенияДдг) служит некоторый промежуток [а, в], включающий в себя отрезок [*о, Поэтому возникают вопросы о значениях функций в про­ межуточных точкахX е [а, в], не фигурирующих среди абсцисс х,.

Подобные вопросы составляют задачи интерполирования функций (при этом говорят об экстраполировании, если х е [а, в], но х ё [х0, х„]. Со­ вокупность точек *о, —»хпназывают сеткой, а сами эти точки - узлами сет­ ки или узлами интерполяции.

Используя числа у/ =/[*/), / = 1,и и предполагая, что функция/ обла­ дает той или иной гладкостью (например, непрерывна на [а, в] вместе с несколькими своими производными), требуется решить одну из следую­ щих задач:

1)локальной интерполяции, когда необходимо указать способ, с по­ мощью которого можно было бы определить значение функции в задан­ ной между узлами промежуточной точке, точность которой можно оце­ нить;

2)глобальной интерполяции, когда требуется восстановить функцию

J(x), т.е. найти такую аналитически заданную функцию <р(х), называемую интерполяционной, которая приближала быД*) на участке [а, в], а ее зна­ чение в узлах интерполяции совпадали бы с заданными значениями функ­ цииДх),

ф(*|) =Лхд =Уь

Чаще всего функция ф(х) выбирается из класса полиномов (много­ членов). В этом случае интерполяция называется полиномиальной или па­ раболической (линейная интерполяция есть частный случай параболиче­ ской, когда ср(х) есть многочлен первой степени).

При изучении Полиномиальной интерполяции таблично заданных функций предстоит ответить на следующие вопросы:

1) как определить наименьшую возможную степень К интерполяци­ онного полинома ф(х);

2)как построить этот полином и как им пользоваться;

3)как произвести оценивание точности интерполяции.

4

1.2.Основные направления использования интерполяции

7.2.7.Численное решение нелинейных уравнений и систем

Воснове лежит приближенная замена искомых корней нелинейного уравнения/(х) = 0 корнями уравнения ф(х) = 0, где ф(х) - интерполяцион­ ная функция для fix). Взяв, например, за xi+i корень интерполяционного полинома первой степени, построенного по значениямfix!) и/'(*,) в узле х/ или по значениямfix^\\fix!) в узлах x<+i, xiy приходят соответственно к ме­ тодам касательных и секущих:

я * /)

*/+!=*/

Я*/) ^

*,Ч1 = *i

[Xi+\*iY

где [х,+1, Xi] - разделенная разность (разностное отношение).

Другой подход основан на интерполировании обратной функции х = g(y) (нахождение х для нужного у, если задана таблица у, = fixi)). Для монотонной функции нет разницы между прямым и обратным интерполи­ рованием и исходную таблицу можно считать как задание X/ = g(y{).

1.2.2. Численное дифференцирование и интегрирование

Дифференцируемая или интегрируемая функция на всей области или на ее составных частях заменяется интерполяционной функцией. Основ­ ная задача при этом состоит в правильном оценивании точности.

1.2.3. Численное решение дифференциальных уравнений

Производные искомых функций заменяются интерполяционными формулами численного дифференцирования. Другие функции, входящие в уравнение, также часто заменяются интерполяционными.

1.2.4. Численное решение интегральны* уравнений

Искомая функция fix) заменяется какой-либ0 интерполяционной с выбранными узлами х,. Приближенные значения fit!) находятся из систе­ мы, полученной после подстановки вместо независимой переменной узлов интерполяции xf.

5

ЛАБОРАТОРНАЯ РАБОТА № 1

ИНТЕРПОЛИРОВАНИЕ ФУНКЦИЙ

Цель работы: научиться применять численные методы интерполя­ ции функций, заданных таблично.

Теоретические положения

Пусть задано множество вещественных абсцисс х0, х и ..., хп и соот­ ветствующие ординаты у0, у и • • уп- Здесь хо < х\ < < хп, а каждое у{ - некоторое вещественное число, отвечающее определенное математиче­ ски или являющееся результатом какого-либо наблюдения.

Задача одномерной интерполяции состоит в построении функции /

такой, при которойfix,) =

для всех i.

Если ординаты

происходят от гладкой математической функции

и ошибки в них не превосходят уровня округления, то можно рассчиты­ вать, что задача имеет удовлетворительное решение.

Если точки (*,, уд получены из очень точных экспериментальных на­ блюдений, то зачастую их можно считать лишенными ошибок, и тогда вполне разумно интерполировать их гладкой функцией.

Если же эти точки получены из сравнительно грубых экспериментов, то неправомерно требовать от интерполирующей функции точно удовле­ творять таким данным. Позволяя значениям Дх,-) отличаться от yh можно очень хорошо отразить характер изменения данных и даже поправить не­ которые из содержащихся в них ошибок, используя, например, метод наи­ меньших квадратов.

Очень важно для задачи интерполирования определение того, как должна вести себя приемлемая функция между заданными точками. Эти точки могут быть интерполированы бесконечным множеством различных функций, и нужно иметь некоторый критерий выбора. Обычно критерии формируются в терминах гладкости и простоты; например, функция ) должна быть аналитической, и максимальное значение второй производ­ ной [/”(*)! по всему интервалу должно быть насколько возможно мало, или / должна быть полиномом наименьшей степени и т.п.

Задача интерполирования ставится обычно в следующей форме: найти многочлен Рп(х) степени не выше и, значения которого в точках х (/ = 0,п) совпадают со значениями данной функции, т.е. Pn(xt) =у(.

Многочлен Рп(х) является интерполяционным многочленом (поли­ номом), а точки х(называются узлами интерполяции.

6

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

Если же для построения интерполяционного полинома используются не все точки таблицы (не весь базис), то полиномы, построенные по раз­ ным формулам, будут отличаться.

Различают интерполирование в узком смысле, когда X находится между х0и хп, и экстраполирование, когда х находится вне отрезка [х0у хп].

Интерполирование для случая равноотстоящих узлов

Узлы называются равностоящими, если

xi+i - Xi = AXt = h = const, (z = 0, ri)\ x„ = *0 + л-А; xi =xо + i’h.

Конечными разностями функций у =Дх) называются разности вида:

Ау,-= Ум - yi

-

конечные разности первого порядка;

А2у/ = Ау/+1 - Ду,-

-

конечные разности второго порядка;

Аж у,- = Акум ~ А*у/

-

конечные разности + 1) порядка.

Первая интерполяционная формула Ньютона

 

Первая интерполяционная формула Ньютона имеет вид

 

Рп(х) = у 0 + ^ ( х - х 0) + ^ ^ ( х - х 0) ( х - х 1) + ...

 

—+~77п'(х - Х0)(х - *i) •... • (* -

(1.1)

n\h

 

Формула (1.1) используется для интерполирования и экстраполиро­ вания в точках хублизких к началу таблицы хо.

Для формулы (1.1) используется верхняя горизонтальная строка таб­ лицы разностей (см. табл. 1.1).

Таблица 1.1 Горизонтальная таблица конечных разностей при / = 4

X

У

Ау

Д2У

. АV

А

Хо

Уо

АУо

Дуо

Д3у0

А4у0

Х\

У\

Д|>1

Д2у,

Д3у,

 

хг

У2

Ауг

Д2У2

 

 

хг

Уз

Дуз

 

 

 

*4

____ Ь ____

 

 

 

 

 

7

 

При п = 1 и п = 2 получаем частные случаи:

 

- линейная интерполяция

 

 

Р\(х) = У о + ^ - ( х - х 0У,

(1.2)

 

п

 

- квадратичная интерполяция

 

Р2 (х) = У о + ~ ( х - х 0) +^ ^ - ( х - х 0) ( х - х 1).

(1.3)

Вторая интерполяционная формула Ньютона

 

Вторая интерполяционная формула Ньютона имеет вид

 

РЛх) = У+ ^ ( * - х

я) +^ ? г { х - х Л х - х яЛ +...

 

h

2\h2

(1.4)

 

 

••• + ^ ^ ( * - * „ ) ( * - * n - 1)----(* -*i). n\h

Для формулы (1.4) используется нижняя наклонная строка разностей (см. табл. 1.1).

Формула (1.4) применяется для интерполирования в точках х, близ­ ких к концу таблицы, т.е. кх„.

Интерполяционные формулы Гаусса

Пронумеруем заданные узлы интерполяции следующим образом:

»• •, 4, X -3, X .2) X XQ, Х\, Х2,^3, • *,

тогда таблица разностей примет вид (табл. 1.2).

Первая интерполяционная формула Гаусса имеет вид

Р{х) = Уо - *о) + - ^ г ( * - * о ) ( * ~ xi) +

+ ^ у - ( * ~ *о)(* - х\)(* -X -i) + ~ ^ - ( х - *о)(* “ *0 *

О -4)

3\h

4\п

 

x (J C

8

х2 ) + ^ J - ( x - x0)(x - X,)(x - X.J)(x - x 2)(x -x _ 2) + ...

5lh

Таблица 1.2

Диагональная таблица разностей

Вторая интерполяционная формула Гаусса имеет вид

Р(х) = Уо+ (х - х0) + (х - Х0 Xх ~ x-l) +

+ ^ f ( x - xoXx-x^)(x-x,) + ^ ~ ^ -(x -x 0)(x -x .l)-

(1.6)

3\h

4\h

 

Д5у ,

- x})(x - x_2)(x - x2) +...

 

(X - xY)(x - x_2) + — -f-(x - x0)(x -

 

5\h

Формулы Гаусса применяются для интерполирования в середине таблицы вблизи точки х0. При этом первая формула Гаусса применяется при х >х0, а вторая - при х <х0.

9

Интерполирование для случая неравноотстоящих узлов. Интерполяционная формула Лагранжа

Пусть Xi (I = 0, п) - произвольные узлы, а =У(х,) - значения функ­ ции в узлах. Многочленом степени л, принимающим в точке х, значения yh

является интерполяционный многочлен Лагранжа:

 

 

п п+1(■*)

 

(1.9)

A .W = I

Уг.

 

i=0lJn+l(Xi)(X -Xj)

 

 

где Я и+1(х) = (д:-Х о)и -^1).....(д:-лп)

- произведение

п

членов;

n'„+ii.xt) = (xi - x 0)(xt - x i)-...-(xi - x i_1)(xi - x i+I)-...-(xi -x „)

-

произ­

водная от произведения П„+1 (х) по х, подсчитанная в точке х,.

 

 

Погрешность интерполяционных формул

 

 

*„(*) = г \ о

Пт+lW .

 

 

(и + 1)!

 

 

 

где / п+1(^) - максимальное значение (п + 1)-й производной функцииДх) на участке [х0, *„]; £ - Некоторая точка, принадлежащая отрезку [х0, х„].

Если точный вид функции fix) неизвестен, то для случая равноот­ стоящих узлов производную / ”+1(£) можно приближенно заменить выра­ жением

ги-й/сч

maxA'1*1у

J ^

^П+Х

где тахДя+1у - максимальное значение (л + 1)-й конечной разности; h -

- шаг таблицы.

Для случая неравцоотстоящих узлов значение (л + 1 )-й производной должно быть задано ил^ определено экспериментально.

Индивидуальные задания

Для заданных значений х найти значения функции, заданной дис­ кретно. Использовать рекомендуемые интерполяционные формулы (табл. 1.3).

 

 

 

10

 

 

 

 

 

Таблица 1.3

 

 

Индивидуальные задания

Номер

Значение

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

Рекомендуемая

вари-

аргумента

функции у =Лх)

интерполяционная

анта

 

X

У

формула

1

 

 

у = ех

 

0,507

0,50

1,6487

Ньютона (первая)

2

0,512

0,51

1,6653

Ньютона (первая)

3

0,523

0,52

1,6820

Ньютона (вторая)

4

0,535

0,53

1,6989

Гаусса (вторая)

5

0,541

0,54

1,7160

Гаусса (первая)

6

0,556

0,556

1,7333

Гаусса (первая)

7

0,568

0,568

1,7507

Ньютона (первая)

8

0,571

0,571

1,7683

Ньютона (вторая)

9

0,589

0,58

1,7860

Ньютона (вторая)

10

1,345

1.3

У=Л*)

Ньютона (первая)

0,96356

11

1,421

1,4

0,98545

Ньютона (вторая)

12

1,538

1,5

0,99749

Ньютона (вторая)

13

1,609

1,6

0,99957

Гаусса (первая)

14

1,732

1,7

0,99166

Гаусса (вторая)

15

1,849

1,8

0,97385

Гаусса (вторая)

16

1,929

1,9

0,94630

Гаусса (первая)

17

2,031

2,0

0,90930

Ньютона (вторая)

18

2,173

2,1

0,86321

Ньютона (вторая)

19

2,218

2,2

0,80850

Ньютона (первая)

20

1,134

1,00

У=А*)

Лагранжа

1,17520

21

1,089

1,08

1,30254

Лагранжа

22

1.14

1,13

1,38631

Лагранжа

23

1,19

1,20

1,50946

Лагранжа

24

1,25

1,27

1,21730

Лагранжа

25

1,305

1,31

1,22361

Лагранжа

Содержание отчета

1.Составить алгоритм решения задачи.

2.Составить программу на одном из алгоритмических языков

(Бэйсик, Паскаль, Си).

3. Проверить расчет. Оценить погрешность определения функции.