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

Информатика. Практикум

.pdf
Скачиваний:
1
Добавлен:
24.11.2025
Размер:
5.18 Mб
Скачать

Для определения оптимального многочлена, т. е. многочлена, удовлетворяющего условию S min , определим частные производные функционала

S

n

 

 

 

 

 

 

xm

 

 

 

2

a

a x

...

a

 

 

y

0,

 

 

 

 

 

 

 

 

 

 

 

 

 

a0

 

0

1 i

 

 

 

m

i

i

 

 

i

1

 

 

 

 

 

 

 

 

 

 

 

S

n

 

 

 

 

 

 

xm

 

 

 

2

a

a x

...

a

 

 

 

y

x

0,

 

 

 

m

 

 

 

a1

 

0

1 i

 

 

 

i

i

i

(П 2.8)

i

1

 

 

 

 

 

 

 

 

 

 

...

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S

 

n

 

 

 

 

 

 

 

xm

 

xm

 

2

a

a x

...

a

 

 

y

0.

 

 

 

m

 

 

 

am

 

0

1 i

 

 

 

 

i

i

i

 

i

1

 

 

 

 

 

 

 

 

 

 

 

После преобразований со знаками сумм система (П 2.8) примет вид

 

 

 

 

 

n

 

 

 

 

 

xm

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

a

a x

...

a

 

y ,

 

 

 

 

 

 

 

 

 

 

 

 

0

 

1

i

 

 

m

i

 

i

 

 

 

 

 

 

 

 

 

 

 

 

i

1

 

 

 

 

 

 

 

 

i 1

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

a x2 ...

 

xm 1

n

 

 

 

 

 

 

 

 

 

 

 

 

a x

a

 

x y ,

 

 

 

 

 

 

 

 

 

 

 

0

i

 

1

i

 

 

m i

 

 

 

i i

 

 

 

(П 2.9)

 

 

 

 

i

1

 

 

 

 

 

 

 

 

i

1

 

 

 

 

 

 

 

 

... ... ... ... ...

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

a xm 1

 

 

 

 

x2m

 

n

 

 

 

 

 

 

 

 

 

 

 

a xm

 

 

...

a

m

 

xm y .

 

 

 

 

 

 

 

 

 

 

0

i

 

1

i

 

 

 

i

 

i

i

 

 

 

 

 

 

 

 

 

i

1

 

 

 

 

 

 

 

 

 

i 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

n

 

 

n

 

 

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

t

n ;

t

 

x

; …,

t

m

xm ;

c

0

y

i

;

 

 

 

 

 

 

 

 

0

 

1

 

 

i

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i 1

 

 

 

i

1

 

 

i 1

 

 

 

n

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c

x y

i

; …,

c

xm y .

 

 

 

 

 

 

 

 

 

 

 

 

 

1

i

 

 

m

 

i

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

1

 

 

 

i

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В новых переменных система (П 2.9) имеет вид

 

 

 

 

 

 

 

 

 

 

 

t0a0

 

t1a1 ...

tm am

 

c0 ,

 

 

 

 

 

 

 

 

 

 

 

 

 

t1a0

t2a1 ...

tm 1am

c1,

 

 

 

 

(П 2.10)

 

 

 

 

 

... ... ... ... ... ... ... ... ... ... ... ...

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

tma0

 

tm 1a1 ...

t2m am

cm .

 

 

 

 

 

 

381

Решая систему линейных уравнений (П 2.10), можно определить коэффициенты многочлена а0 , а1, а2 , ..., ат .

Схема алгоритма аппроксимации представлена на рис. П 2.2.

Начало

Задание значений xi, yi

i1,n

 

 

 

 

 

 

 

 

Вычисление

 

 

t0

n,t1

n xi,...,tm

n xim

 

 

 

i 1

i 1

 

 

 

 

 

 

 

Вычисление

 

с0

n

yi,c1

n xi yi,...,cm

n xim yi

i

1

i

1

 

i 1

 

 

 

 

 

 

Формирование массива коэффициентов системы линейных уравнений

Решение системы линейных уравнений матричным методом, методом Гаусса и др.

Конец

Рис. П 2.2

П 2.4. Основные теоретические сведения о численных методах дифференцирования табулированных функций

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

у

lim

f x

f x

.

 

 

 

0

 

 

 

При вычислении производной в j-й точке используются различные приближения:

а) центрально-разностное

382

y

 

x

x j

y j

1

y j

1

;

(П 2.11)

 

 

x j

1

x j

1

 

 

 

 

 

 

 

 

 

 

 

 

б) левое разностное

 

 

 

 

 

 

 

 

 

 

 

 

y

 

 

x

x j

y j

 

y j

1

 

;

 

(П 2.12)

 

 

 

 

 

 

 

x j

 

x j

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

в) правое разностное

 

 

 

 

 

 

 

 

 

 

 

 

y

 

x

x j

y j

1

y j

.

 

(П 2.13)

 

 

 

 

 

 

 

 

 

 

x j

1

x j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Иллюстрация геометрического смысла численного

 

дифференцирования представлена на рис. П 2.3, где изображены

Иллюстрация геометрического смысла численного дифференци-

рованияэлементыпредставлена, используемыхнапририспостроении. аП 2.3, гделевыхизображены( ), центральныхэлементы(б) и ис-

пользуемых при построении левых (а), центральных (б) и правых

правых (в) разностей.

(в) разностей.

Для построения второй производной чаще всего используют центрально-разностное приближение

y

 

 

 

y j 1

2 y j

y j 1

.

(П 2.14)

 

 

 

x

x j

2

 

y

 

 

 

 

 

 

y

 

 

 

y

i-1 i i+1 x i-1 i i+1 x i-1 i i+1 x

а

а)

б

в)

в

 

б)

 

 

 

РисРис. П. П2.23.3

 

 

Левые и правые разности функции соответственно строятся по

Для построения второй производной чаще всего используют

 

формулам

 

центрально-разностное приближение

383

 

y

 

 

 

y j

2 y j 1

y j 2

;

 

 

 

x

x j

2

 

 

 

 

 

 

y

 

 

 

y j 2

2 y j 1

y j

 

.

 

 

 

 

 

x

x j

2

 

 

 

 

 

 

 

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

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

n

f nx

1

f nx

1

 

 

 

j

1

 

j 1

 

 

f x

 

 

 

 

 

,

(П 2.15)

x j

1

x j

1

 

 

 

где п – порядковый номер производной.

П 2.5. Основные теоретические сведения о численных методах интегрирования табулированных функций

Методы численного интегрирования функций основываются на специальных формулах суммирования подынтегральных функций. Геометрический смысл вычисления интеграла основан на формуле

хn

n

f x dx

Ai f xi ,

х0

i 1

где f x– подынтегральная функция;

384

Ai f xi – квадратурная сумма;

Ai – коэффициенты квадратурной суммы; xi – узлы квадратурной функции;

x0 , xn – пределы интегрирования функции;

i – индекс, связанный с разбиением функции пошаговым методом; п – число разбиений функции.

На рис. П 2.4 представлена иллюстрация метода вычисления определенного интеграла по формуле прямоугольников ( h xi 1 xi – шаг интегрирования: x1 = x0 + h, …, xi+1 = xi + h, …, xn

= xn–1 + h).

Y

 

 

 

 

yn

 

 

f (x)

 

 

 

 

 

yi+1

 

 

 

 

yi

 

 

 

 

y0

 

 

 

 

x0

xi

xi+1

xn

X

Рис. П 2.4

Для вычисления интегралов используются: а) формула прямоугольников

xn

 

 

 

 

h

 

 

 

3

 

 

 

2k 1

 

 

f x dx

h f x

 

f

x

 

h ...

f x

 

h

,(П 2.16)

0

2

0

2

0

2

 

 

 

 

 

 

 

 

 

 

х0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где h

xn

x0

(k – число разбиений);

 

 

 

 

 

 

k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h – шаг интегрирования;

 

 

 

 

 

 

 

 

 

x0 , xn

– пределы интегрирования;

 

 

 

 

 

385

б) формула трапеций

хn

h

 

 

 

 

 

 

f x dx

f x

2 f x h ... 2 f x

h(n 1)

f x

 

, (П 2.17)

 

n

 

2

0

0

0

 

 

х0

 

 

 

 

 

 

 

 

 

 

 

 

 

(ошибка вычисления интегралов (П 2.16), (П 2.17) определяется как

h2

 

 

 

 

 

, где x0

 

 

 

 

 

 

 

xn

x0

max f

 

n );

 

 

 

12

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

в) формула Симпсона

 

 

 

 

 

 

 

хn

h

 

 

 

 

 

 

 

 

 

 

 

 

f x dx

f

x

 

4 f

x

h

2 f

x

2h

... 2 f x

 

n 2 h

 

0

0

 

 

 

3

 

 

 

0

 

 

0

 

 

 

х0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4 f

x0

n

1 h

f

x0

nh

 

(П 2.18)

(ошибка вычисления интеграла (П 2.18) определяется по формуле

h4

x

 

x max f IV

,

 

 

n

180

 

0

 

 

 

 

 

где x0 n ,

f IV– четвертая производная функции).

9

Приведем примеры вычисления интеграла cos(3x)dx различ-

4

ными методами, приняв шаг интегрирования равным 0,01; число разбиений интервала интегрирования – равным 500:

а) по формуле прямоугольников:

9

 

 

0,01

 

 

3

 

 

cos(3x)dx 0,01 cos

3 4

 

cos 3 4

0,01

...

 

2

 

 

2

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

cos

3 4

2 500

1

0,01

,

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

ошибка вычисления интеграла 0,125 10 3 ;

386

б) по формуле трапеций:

9

0,01

 

 

 

 

 

 

 

 

 

cos(3x)dx

cos 3 4

2 cos 3 4

0,01

2 cos 3 4

2 0,01 ...

2

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2cos 3 4

499 0,01

 

cos 3 4

500 0,01

,

 

 

0,125 10 3 ;

 

ошибка вычисления интеграла

 

 

 

в) по формуле Симпсона:

 

 

 

 

9

0,01

 

 

 

 

 

 

 

 

 

cos(3x)dx

cos 3 4

4 cos 3 4

0,01

2 cos 3 4

2 0,01 ...

3

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2cos 3 4

498 0,01

4cos 3 4

499 0,01

cos 3 4

500 0,01 ,

ошибка вычисления интеграла 0,225 107 .

П2.6. Основные теоретические сведения о численных методах решения обыкновенных дифференциальных уравнений

Дифференциальным уравнением первого порядка называется уравнение вида

y f (x, y) .

(П 2.19)

Решить дифференциальное уравнение –

означает определить

функцию y = F(x), которая при подстановке в уравнение (П 2.19) приводит к тождеству. Поиск решения y = F(x) при реализации аналитических методов сводится к интегрированию уравнения (П 2.19), что не всегда приводит к успеху из-за сложности функции f(x, y). В этом случае для решения дифференциальных уравнений yf (x, y) используют численные методы.

Для решения уравнения (П 2.19) вводят начальное условие Коши y(x0 ) y0 .

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

387

y f (x, y),

(П 2.20)

y(x0 ) y0.

Для решения дифференциальных уравнений вида (П 2.18) используются методы Эйлера, Рунге-Кутта и другие.

П 2.6.1. Метод Эйлера

Суть метода Эйлера заключается в аппроксимации интегральной кривой y = F(x) ломаной линией. Метод Эйлера является одношаговым методом первого порядка.

Поиск решения производится на интервале

[x0, a). На этом ин-

тервале вводится набор равноотстоящих точек

x0 1 n

.

Шаг разбиения h xi 1 xi . Фактически необходимо получить таб-

лицу значений функции F(x) в каждой точке xi.

При решении задачи методом Эйлера приближенное значение y1 в точке x1 с помощью уже известных значений x0 и y0 вычисляется по формуле

y1 y0

,

где

h f (x0, y0 ) .

Значение функции f(x0, y0) получается подстановкой x0 и y0 в функцию f(x, y). Аналогично вычисляются значения во всех последующих точках интервала.

Таким образом, приближенное значение функции yi+1 в следующей точке рассматриваемого отрезка [x0, a) равно сумме значения функции yi в предыдущей точке и произведения шага h на величину производной, вычисленной в предыдущей точке. То есть прибли-

женные значения yi+1 в точках xi+1 = x0 + (i+1)h, i = 1, 2, ..., n, вычисляются по формуле

yi 1 yi

,

(П 2.21)

где

h f (xi , yi ) .

Особенностью любого пошагового метода является то, что, начиная со второго шага, значение yi является приближенным и поэтому погрешность на каждом следующем шаге возрастает. Приня-

388

то считать, что погрешность метода Эйлера пропорциональна величине h2.

Пример решения дифференциального уравнения методом Эйлера

Постановка задачи. Решить дифференциальное уравнение y 2 y ex на отрезке [0, 2] при начальном условии y(0) = 1 методом Эйлера. Задать шаг разбиения отрезка h = 0,5.

Решение

Для решения уравнения используем итерационную формулу

(П 2.21):

yi 1 yi h(2y ex ) .

Отрезок [0, 2] разбивается с помощью шага h = 0,5 и формируется таблица значений функции F(x) в каждой точке xi (x0 = 0; x1 = 0,5; x2 = 1; x3 = 1,5; x4 = 2) (табл. П2.1).

 

 

Таблица П 2.1

 

 

 

i

xi

yi

0

0

1

1

0,5

2,5

2

1

5,82

3

1,5

13,00

4

2

28,24

Вточке x0 = 0 значение y0 = 1 согласно начальному условию.

Вточке x1 = 0,5 значение

y

y 0,5 (2

y

e0 )

1

0,5(2 1

1) 2,5 .

 

 

 

1

0

 

0

 

 

 

 

 

 

 

 

 

В

точке

x2

=

1

значение

y

2

y

0,5 (2

y

e0,5 )

 

 

 

 

 

 

 

 

1

 

1

 

2,5

0,5(2

2,5

1,65)

5,82 .

 

 

 

 

 

 

В

точке

x3 = 1,5

значение

 

y3

y2

0,5 (2

y2

e1)

5,82

0,5(2 5,82

2,72)

13,00 .

 

 

 

 

 

 

389

В точке x4 = 2

значение y4 y3 0,5 (2 y3 e1,5 ) 13,00

0,5(2 13,00 4,48)

28,24 .

П 2.6.2. Метод Рунге-Кутта

Более эффективным методом для решения дифференциальных уравнений является метод Рунге-Кутта. В метод Рунге-Кутта входит семейство формул, которые отличаются способом вычисления приращения функции в точках разбиения xi. Наиболее популярным является метод Рунге-Кутта четвертого порядка. Суть метода заключается в использовании на каждом шаге вычислений значений

функции f(x, y) в нескольких точках.

 

 

 

Аналогично

методу Эйлера

необходимо получить таблицу

значений функции F(x) в каждой точке xi

на интервале [x0, a).

На

этом интервале вводится

набор

равноотстоящих точек

x0

1 n

. Шаг разбиения h xi

1

xi .

В основе метода Рунге-Кутта, так же как и в методе Эйлера, лежит итерационная формула

где

k1(i)

k2(i)

k3(i)

k4(i)

yi 1 yi

,

(П 2.22)

h

k

(i)

 

2k

(i)

 

2k (i)

k (i)

;

 

 

 

 

 

 

 

6

1

 

 

 

2

 

3

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h f (xi , yi ) ;

 

 

 

 

 

 

 

 

h f (x

 

 

h

, y

i

 

hk1

) ;

 

 

 

 

 

 

 

 

 

 

 

i

2

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

f (x

 

h

, y

i

 

 

hk2

) ;

 

 

 

 

 

 

 

 

 

 

i

 

2

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f (xi

 

h, yi

 

hk3 ) .

 

 

Погрешность метода Рунге-Кутта пропорциональна величине h5.

Пример решения дифференциального уравнения первого порядка методом Рунге-Кутта

390