Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Alg i metodi vichisl / Teorija / course_359.ppt
Скачиваний:
75
Добавлен:
23.02.2016
Размер:
695.3 Кб
Скачать

Программа на языке Паскаль, реализующую метод прямоугольников на этом примере:

program pr4_1;

var a, b, x, h, s:real; i, n:integer; function f(x:real):real;

begin f:=sqrt(1-x*x); end;

begin

write('введи a,b,n '); read(a,b,n); h:=(b-a)/n; x:=a; s:=0;

for i:=1 to n do begin s:=s+f(x); x:=x+h end; s:=s*h;

writeln; write('площадь=',s,' число разбиений=',n);

end.

2. Метод трапеций

Рассматривая

b

f (x)dx

a

будем интерполировать подынтегральную функцию f(x) полиномом Лагранжа первой степени (линейной функцией): его узлы

x0 = a, x1 = a+h; h = (b–a)/n, y0 = f(x0), y1 = f(x1).

Тогда

x1

 

 

 

 

 

x1 x x

 

 

 

x1 x x

 

 

 

 

 

 

 

y

 

x1

 

 

 

 

 

f (x)dx

 

 

 

1

 

y0dx

 

 

 

 

 

0

 

y1dx

 

 

 

 

0

 

xdx

 

 

 

 

x

x

x

x

x

x

 

 

x0

 

 

 

 

 

x0 0

1

 

 

 

 

x

 

1

 

0

 

 

 

 

 

 

0

1 x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

y0x1

 

x1

 

 

 

 

y1

 

 

x1

 

 

 

 

x0 y1

 

 

x1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

dx

 

 

 

 

xdx

 

 

 

dx

 

 

 

 

 

 

 

 

 

 

 

x

x

x x

 

x

x

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1 x

 

 

 

1

 

0 x

 

 

 

 

1

 

0 x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

 

x2 x

2

 

 

y x

 

 

 

 

 

 

 

 

 

 

y

 

 

 

x2 x2

 

 

 

 

 

 

0

 

(

1

 

 

0

)

 

 

0 1

(x x )

 

1

 

 

(

1

 

0

)

 

 

 

x

x

 

2

 

x x

x

x

 

 

2

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

0

1

 

 

 

 

 

 

 

 

0

1

 

 

 

 

 

 

 

 

 

1

0

 

 

 

 

 

 

 

 

 

 

 

x0 y1

 

(x x ) y x1

x0

y x

y

x1 x0

 

x

y

 

 

 

 

x1 x0

1

0

 

 

 

0

 

2

 

 

 

 

0

 

 

 

1

1

 

 

 

2

 

 

 

0

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x1 x0

y

x1 x0

 

y

h

(y

 

 

y ),

 

 

 

ò.ê.

 

 

 

h x

x .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

0

 

 

 

2

 

1

2

 

0

 

 

 

1

 

 

 

 

 

 

 

 

 

 

1

 

0

 

Значит интеграл по всему отрезку [a, b]:

b

f (x)dx h

 

y1) h

 

y2 ) ... h

 

 

( y0

(y1

(yn 1 yn )

a

 

2

 

2

 

2

 

 

 

 

 

 

 

 

h

 

 

n 1

 

 

 

( y0 yn ) h yi.

 

 

 

 

2

 

 

i 1

 

 

 

Рис. 15 — Графическая иллюстрация метода трапеций для N = 3.

Ошибка метода трапеций:

h3 2, 12

где 2 — наибольшее значение второй

производной подынтегральной функции на отрезке [a, b], т.е. ошибка примерно вдвое меньше, чем у метода прямоугольников.

Рис. 16 — Блок-схема алгоритма метода трапеций

3. Метод Симпсона

Если подынтегральную функцию f(x) проинтерполировать полиномом Лагранжа 2-ой степени (на отрезке

[x0, x2 ]):

L (x)

(x x1)(x x2)

y

(x x0)(x x2)

y

(x x0)(x x1)

y

.

 

 

(x x )(x x )

2

(x x )(x x ) 0

 

(x x )(x x )

1

 

2

 

 

0

1

0

2

 

 

1

0

1

2

 

 

 

2

0

2

1

 

 

где

x1

= x0

+h,

x2 = x0

+2h,

 

h = (b–a)/n,

 

 

x0 = a, y0 = f(x0 ), y1 = f(x1 ), y2 = f(x2 )

Рассмотрим отдельно первый интеграл:

x2

(x x1)(x x2 )

 

h

 

 

y0dx y0

.

(x0 x1)(x0 x2 )

3

x

 

 

0

 

 

 

 

Аналогично,

x2

(x x )(x x )

 

 

4h

 

x2

(x x )(x x )

 

 

 

 

h

x

0

2

y dx y

 

 

;

x

0

1

y

dx

y

 

.

(x1 x0 )(x1 x2 )

 

 

(x2 x0)(x2 x1 )

 

1

1

 

3

 

 

2

 

 

2

3

0

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

x

f (x)dx h

 

 

 

 

 

 

 

 

 

 

 

2

(y0 4y1 y2 ).

 

 

 

 

 

 

 

x0

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

А интеграл по всему отрезку:

b

f (x)dx h

 

4y1 y2) h

 

 

 

 

 

(y0

(y2 4y3 y4 ) ...

 

a

 

3

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h

(y2n 2 4y2n 1

y2n ) h

 

 

n

n 1

 

y0

4 y2i 1

2 y2i y2n .

 

3

 

 

 

3

 

 

i 1

i 1

 

Это и есть формула Симпсона.

Ошибка её:

h4 (b–a) 4 /180,

где 4 — наибольшее значение модуля

четвертой производной функции f(x) на отрезке (a, b).

Геометрический смысл формулы Симпсона:

площадь над кривой вычисляется как сумма площадей под участками парабол, то есть явно будет точнее (гибче), чем предыдущие методы.

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

Содержание

1.Постановка задачи.

2.Метод Эйлера.

3.Метод Рунге-Кутты.

Соседние файлы в папке Teorija