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

Курсовой ЭТФ

.pdf
Скачиваний:
10
Добавлен:
03.03.2016
Размер:
1.55 Mб
Скачать

Полином Лагранжа

Полином Лагранжа будем искать в виде:

F(x)

n

 

y L (x)

,

 

i i

 

i 1

 

где Li(x) – функция, удовлетворяющая в узлах xk следующему свойству:

1,

i k

 

n

x x

j

L (x)

 

 

 

 

Li (xk )

i k

или i

j 0 xi xj

0,

 

j i

 

 

Таким образом, полином Лагранжа выражается следующей формулой:

 

n

n x x j

 

F(x)

 

yi

 

( 3.70)

 

 

i 0

j 0 xi x j

j i

Полином Ньютона

Интерполяционный полином будем строить в виде:

F(x)=A0 + A1 (x-x0)+A2 (x-x0)(x-x1)+...+An(x-x0)(x-x1) ... (x-xn-1) ( 3.71)

Подставим F(x0)=y0 в (3.71), вычислив тем самым значение коэффициента A0:

A0 = y0

Для вычисления A1 воспользуемся следующим соотношением:

F(x1)=A0+A1(x1-x0)=y1.

Отсюда коэффициент A1 рассчитывается по формуле:

A1

 

y0

y1

y01 ,

 

 

 

 

x

0

x

 

 

 

1

 

где, y01 - разделенная разность первого порядка, и стремится к первой производной функции при x1 x0. Аналогичным образом вводятся разности первого порядка:

y02

y0 y2

, y03

y0 y3

,..., y0n

y0 yn

x

0

x

2

x

0

x

x

0

x

n

 

 

 

 

 

3

 

 

 

Подставим F(x2)=y2 в (3.67):

A0 + A1 (x2 -x0) + A2 (x2-x0)(x2-x1)=y2;

y0 + y01(x2-x0)+A2(x2-x0)(x2-x1)=y2;

A2(x2-x0)(x2-x1)=y2-y0-y01(x2-x0);

A2

 

 

 

y2 y0

 

 

 

 

 

 

 

y01 x2 x0

 

 

 

x

2

x x x1

 

x x x

2

x1

 

 

 

 

 

0

 

2

 

 

 

 

 

 

 

2

 

0

 

 

 

 

A

 

 

y02

 

 

 

 

y01

 

 

 

 

y01 y02

y

 

 

,

x

 

x1

x

x1

 

 

 

2

 

2

 

 

x

x

 

 

012

 

 

 

 

 

 

 

 

2

 

 

 

 

 

1

2

 

 

 

 

 

71

где y012 - разделенная разность второго порядка, эта величина стремится ко второй производной. Аналогично вводятся y013, y014, ..., y01n.

y013

 

 

y01 y03

 

, y014

 

 

y01

y04

,..., y01n

y01

y0n

.

 

 

 

 

x x3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x x

4

 

 

x x

n

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

1

 

 

 

1

 

 

 

 

 

 

Подставив F(x3)=y3

в (3.71), получим:

 

 

 

 

 

 

 

A y

 

 

 

 

 

y012

y013

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

0123

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Аналогично можно ввести коэффициенты:

 

 

 

 

 

 

 

y0124

 

y012

y014

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x2

x4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Этот процесс будем продолжать до тех пор, пока не вычислим

 

 

A

 

y

 

 

 

 

 

 

y012...n 1 y012n 2n

.

 

 

 

 

 

 

( 3.72)

 

 

 

 

n

 

 

 

012...n

 

 

 

 

xn 1 xn

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Полученные результаты запишем в таблицу 3.5.

 

 

 

 

 

Таблица 3.5. Таблица разделенных разностей полинома Ньютона

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

f(x)

 

1

 

2

3

4

 

 

n

 

 

 

 

 

 

 

x0

 

 

y0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x1

 

 

y1

 

 

 

y01

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x2

 

 

y2

 

 

 

y02

 

y012

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x3

 

 

y3

 

 

 

y03

 

y013

y0123

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x4

 

 

y4

 

 

 

y04

 

y014

y0124

y01234

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

xn

 

 

yn

 

 

 

y0n

 

y01n

y012n

y0123n

y012..n

 

В вычислении по формуле (3.71) будут участвовать только диагональные элементы таблицы (т.е. коэффициенты Ai), а все остальные элементы таблицы являются промежуточными и нужны для вычисления диагональных элементов.

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

Полиномиальная интерполяция не всегда дает удовлетворительные результаты при аппроксимации зависимостей. Так, например, при представлении полиномами резонансных кривых колебательных систем большая погрешность возникает на концах этих кривых. Несмотря на выполнение условий в узлах, интерполяционная функция может иметь значительное отклонение от аппроксимируемой кривой между узлами. При этом повышение степени интерполяционного полинома приводит не к уменьшению, а к увеличению погрешности. Решение этой проблемы предложено теорией сплайн-интерполяции (от английского слова spline – «рейка», «линейка»).

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

IV (x) 0

( 3.73)

72

Функцию ) будем использовать для интерполяции зависимости y(x), заданной на интервале (a, b) в узлах a = x0, x1 ..., b = xn значениями y0, y1, …, yn.

Кубическим сплайном, интерполирующим на отрезке [a, b] данную функцию y(x), называется функция

gk (s) ak bk s xk ck s xk 2 dk s xk 3,

s xk 1,xk , k 1,...,n ( 3.74)

Она удовлетворяет следующим условиям:

gk xk yk;gk (xk 1) yk 1 (условие интерполяции в узлах сплайна);

функция g(x) дважды непрерывно дифференцируема на интервале [a, b];

на концах интервала функция g должна удовлетворять следующим соотношениям:g1"(a) gk "(b) 0.

Для построения интерполяционного сплайна необходимо найти 4n коэффициентов ak, bk, ck, dk (k = 1, 2, …, n).

Из определения сплайна получаем n+1 соотношение

g1 x0 y0;

gk xk yk ,

k 1,2,...,n

( 3.75)

Из условий гладкой стыковки звеньев сплайна (во внутренних узловых точках совпадают значения двух соседних звеньев сплайна (звеном сплайна называется функция gi(x) на интервале [хi-1, xi]), их первые и вторые производные получаем еще ряд соотношений:

gk 1 xk 1 gk xk 1 ,

 

 

g'

k 1

x

k 1

g'

k

x

k 1

, ,

k 1,2,...,n .

( 3.76)

 

 

 

 

 

 

 

 

 

 

''

xk 1

 

''

xk 1

,

 

 

 

gk 1

gk

 

 

 

''

x0 0

 

''

xn

0

 

( 3.77)

g1

,gn

 

Соотношения (3.76) – (3.77) образуют 4n соотношений для нахождения коэффициентов сплайна. Подставляя выражения функций (3.74) и их производных (3.78)

g'

s b 2c

(s x

) 3d

k

(s x

)2

1

k

k

k

 

k

( 3.78)

g'k s 2ck 3dk (s xk )

 

 

 

 

 

в соотношения (3.76) – (3.77) и принимая во внимание соотношение

hk xk xk 1,

k 1,2,...,n ,

( 3.79)

получим следующую систему уравнений

a bh

c h2

d h3

y

0

( 3.80)

1

1

1

1

1

1

1

 

 

ak yk ,

k 1,2,...,n

 

 

 

( 3.81)

a

k 1

a

k

b h c h2

d h3,

k 2,3,...,n

( 3.82)

 

 

k k

k

k

 

k

k

 

 

b

 

b

 

2c h

3d

h2

,

k 2,3,...,n

( 3.83)

k 1

k

k k

 

k

k

 

 

 

 

ck 1

ck

3dkhk

,

k 2,3,...,n

 

( 3.84)

73

c1 3d1h1

0

( 3.85)

cn 0

 

( 3.86)

Задача интерполяции свелась к решению системы (3.80–3.86).

Из соотношения (3.81) следует, что все коэффициенты ak = yk k = 1, 2, …, n. Подставив соотношения (3.80), (3.81) в (3.82) и используя фиктивный коэффициент c0 0, получим соотношение между bk, ck и dk

bkhk ck hk2 dk hk3 yk yk 1.

Отсюда коэффициенты bk вычисляются при k = 1, 2, …, n по формуле

b

 

yk yk 1

c h

d h2

( 3.87)

 

k

 

 

k k

k k

 

 

 

hk

 

 

Из (3.84) и (3.85) выразим dk через ck (с учетом коэффициента c0 = 0)

dk

ck ck 1

 

(k 1,2,...,n)

 

 

( 3.88)

3hk

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Подставим (3.88) в (3.87)

 

 

 

 

 

 

 

b

 

yk yk 1

 

2

c h

1

c

 

h (k 1,2,...,n).

( 3.89)

 

 

 

 

 

 

 

 

k

 

 

 

h

 

 

3 k k

3

k 1

k

 

 

 

 

 

 

 

k

 

 

 

 

 

 

 

 

 

 

 

 

Введем обозначение

 

 

 

 

 

 

 

 

 

 

 

 

l

 

yk yk 1

 

(k 1,2,...,n),

 

( 3.90)

 

 

 

 

k

 

 

 

hk

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

после чего соотношение (3.89) примет вид:

 

 

 

2

 

 

 

1

 

 

 

 

 

 

 

.

( 3.91)

bk

lk

 

ck hk

 

 

ck 1hk

 

(k 1,2,...,n)

3

3

 

Подставим (3.91) и (3.88) в соотношение (3.83), получим систему

относительно сk:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ck 2hk 1 2ck 1(hk 1 hk ) ckhk

3lk 3lk 1

(k 2,3,...,n),

( 3.92)

c0 0,

cn 0.

 

 

 

 

 

 

 

 

 

 

 

( 3.93)

Систему (3.92) можно решить, используя метод прогонки. Этот метод сводится к нахождению прогоночных коэффициентов по формулам прямой прогонки:

1

h2

 

,

1

3 (l2 l1)

( 3.94)

2 h h

2 h h

 

 

1

2

 

 

1

2

 

 

74

k 1

 

 

 

 

hk

 

 

,

2hk 1

2hk

hk 1 k 2

 

 

 

( 3.95)

 

 

3lk

3lk 1 hk 1 k 2

 

 

 

,

(k 3,4,...,n)

2h

 

k 1

 

1

2h h

 

 

 

 

k

 

k

k 1 k 2

 

Далее следует найти коэффициенты сk по формулам обратной прогонки:

ck 1 k 1ck k 1 (k n,n 1,...,2). ( 3.96)

После нахождения коэффициентов с по формуле (3.96) находим b и d по формулам (3.88), (3.91).

Таким образом, алгоритм расчета коэффициентов интерполяционного сплайна состоит из следующих этапов:

1.Ввод значений табличной зависимости y(x), массивов х и y.

2.Расчет элементов массивов h и l по формулам (3.79) и (3.90).

3.Вычисление массивов прогоночных коэффициентов δ и λ по формулам

(3.94), (3.95).

4.Расчет массивов коэффициентов с по формуле (3.96).

5.Нахождение массивов коэффициентов b по формуле (3.91).

6.Расчет массивов коэффициентов d по формуле (3.88).

После этого в формулу (3.74) можно подставлять любую точку s и вычислять ожидаемое значение.

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

На практике часто используемым методом интерполирования является линейная интерполяция (линейный сплайн). В этом случае в качестве сплайна выступает линейная функция:

 

fk (s) ak bk s,

s xk 1,xk , k 1,...,n ,

 

 

( 3.97)

удовлетворяющая

условию

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

в

узлах

сплайна

gk xk yk ,

gk xk 1 yk 1. Коэффициенты a и b в этом случае рассчитываются по

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

ak

yk 1

 

yk

yk 1

xk 1,

bk

 

yk

yk 1

( 3.98)

x

 

 

 

 

 

 

x

k 1

 

 

x

k

x

k 1

 

 

 

 

k

 

 

 

 

 

 

Найдя коэффициенты линейного сплайна, можно рассчитать значения в любой точке интервала [x0, xn]. Программа подбора зависимости с помощью линейного сплайна будет отличаться от программы подбора зависимости кубической интерполяции более простой подпрограммой расчета коэффициентов линейного сплайна ak и bk (3.98).

Линейная интерполяция дает хорошие результаты при практическом счете внутри интервала [x0, xn], когда от получаемой функции не требуют дополнительных свойств (дифференцируемости и т.д.).

75

ЛИТЕРАТУРА

1.Алексеев Е. Р., Чеснокова О. В. Решение задач вычислительной математики в пакетах Mathcad12, MATLAB 7, Maple 9. М.: НТ Пресс, 2006. – 496 с.

2.Алексеев Е. Р., Чеснокова О. В., Павлыш В. Н., Славинская Л. В. Турбо Паскаль 7.0, 2-е изд., М: НТ Пресс, 2006. – 272 с.

3.Афонин В.В., Акулинин И.Н., Ткаченко А.А. Сборник задач по электротехнике: Учеб. пособие. В 3-х ч. Тамбов: Изд-во Тамб. гос. техн. ун-

та, 2004. Ч. 1. 80 с.

4.Вержбицкий В. М. Основы численных методов. – М.: Высшая школа, 2002.

– 840 с.

5.Волков Е. А. Численные методы: Учеб. пособие для вузов. – 2-е изд., испр. – М.: Наука. Гл. ред. физ-мат. лит., 1987. — 248 с.

6.Демидович Б. П., Марон И. А., Шувалова В. З. Численные методы анализа.

– М.: Наука, 1967. – 368 с.

7.Доброжанова Н.И., Трубникова В.Н. Применение законов Ома и Кирхгофа к расчету линейных электрических цепей постоянного тока: Практикум по ТОЭ. – Оренбург: ГОУ ОГУ, 2003. - 20 с.

8.Доброжанова Н.И., Трубникова В.Н. Расчет линейных электрических цепей постоянного тока методом контурных токов: Практикум по ТОЭ. – Оренбург: ГОУ ОГУ, 2002. – 13 с.

9.Довбуш Г. В. Visual C++ на примерах. Санкт-Петербург, BHV,: Санкт-

Петербург , 2007. – 528 с.

10.Калиткин Н. Н. Численные методы. – М., Наука, 1978. – 512 с.

11.Каханер Д., Моулер К., Нэш С. Численные методы и программное обеспечение (пер. с англ.). М.: Мир, 2001, 575 c.

12.Литвиненко Н. А. Технология программирования на С++. Начальный курс. 13.Павловская Т. С/С++. Программирование на языке высокого уровня. –

СПб.: Питер, 2001 – 460 с.

14.Павловская Т., Щупак Ю. С/С++. Структурное программирование: Практикум. – СПб.: Питер, 2002 – 240 с.

15.Павловская Т., Щупак Ю. С++. Объектно-ориентированное программирование: Практикум. – СПб.: Питер, 2005 – 265 с.

16.Пискунов Н. С. Дифференциальное и интегральное исчисления для вузов.

— 13-е изд. — М.: Наука. Гл. ред. физ-мат. лит., 1985. — 432 с.

17.Савич У. С++ во всей полноте. Киев: BHV, Санкт-Питербург: Питер, 2005. – 784 с.

18.Самарский А. А., Гулин А. В. Численные методы: Учеб. пособие для вузов.

— М.: Наука. Гл. ред. физ-мат. лит., 1989. — 432 с.

76

ПРИЛОЖЕНИЕ 1. ОБРАЗЕЦ ОФОРМЛЕНИЯ ТИТУЛЬНОГО ЛИСТА

Министерство образования и науки, молодежи и спорта Украины

Донецкий национальный технический университет

Кафедра вычислительной математики и программирования

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

к курсовой работе по курсу «Введение в информатику»

Выполнил студент ____________

(группа, факультет)

____________________________

(фамилия, инициалы)

Руководитель работы__________

____________________________

(фамилия, инициалы)

Донецк, 20__

77

ПРИЛОЖЕНИЕ 2. ОБРАЗЕЦ ОФОРМЛЕНИЯ ЛИСТА ЗАДАНИЯ

Министерство образования и науки, молодежи и спорта Украины

Донецкий Национальный Технический Университет

Кафедра вычислительной математики и программирования

ЗАДАНИЕ

на курсовую работу по курсу «Введение в информатику»

студенту _____________________________________________

(группа, факультет, фамилия, инициалы)

ТЕМА КУРСОВОЙ РАБОТЫ «Решение задач линейной алгебры. Тепловое состояние асинхронного

двигателя »

На рис. 1.1 представлена эквивалентная тепловая схема (ЭТС) замещения асинхронного двигателя (АД) с фазным ротором МТН111-6.

Необходимо согласно своему варианту найти превышения температуры соответствующих узлов ЭТС над температурой окружающей среды.

Вариант 1. Определить в каком из узлов АД температура в установившемся режиме наибольшая, в каком — наименьшая. Расчет провести при номинальном входном напряжении, в этом случае вектор потерь P для АД МТН111-6 имеет вид

P 272,25 103,95 312,567 70,567 332,75 127,05 0 0 .

Для решения системы линейных уравнений использовать метод LU-разложения

 

Дата выдачи задания____________

 

Срок сдачи работы_____________

Руководитель

_____________

(_____________)

(подпись)

 

(фамилия, инициалы)

Донецк, 20__

78

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