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

выч.математика - Башуров

.pdf
Скачиваний:
28
Добавлен:
17.05.2015
Размер:
437.04 Кб
Скачать

 

4 æ

 

1

1

 

1 1

 

ö

 

= -

 

ç

-x

 

cos(πnx |)0

+

 

ò0

cos(πnx dx)

÷

=

 

πn

πn

 

πn è

 

 

 

 

ø

 

 

 

 

 

 

 

 

 

4 æ

 

 

1

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

1

ö

 

 

 

 

 

 

 

 

 

 

ç

 

 

 

 

 

 

 

 

 

(

πn

)

 

 

 

 

 

 

(

πnx

)0

÷

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

= -

 

ç

-

 

 

 

cos

 

+

(πn

)

sin

 

|

÷

=

 

 

 

 

 

 

 

 

πn è

 

 

πn

 

 

 

4

 

 

 

 

 

 

 

 

ø

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

=

 

 

 

 

cos(πn ).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(πn 2)

 

 

 

 

 

 

 

В результате разложения g (x)

в ряд Фурье по косинусам, например до

n = 5 , получаем

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

z (x,5

)=

1

-

4

cos

(πx

)+

 

 

4

 

cos(2πx) -

4

 

 

cos (x

 

+)

 

 

 

 

2

2

 

 

 

4

 

3 π2

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+

cos (x )-

 

cos(5πx) .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

25π2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

16π2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 14. Исходная функция с четным продолжением

иее представление через ряд Фурье

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

По определению производная функции y = f (x) вычисляется по форму-

ле

y¢ = f ¢(x) = lim Dy ,

Dx®0 Dx

где Dx – малое приращение аргумента, Dy =f (x + Dx) - f (x) – приращение

функции. Если невозможно применить аналитическую формулу, то производная аппроксимируется с помощью отношения конечных разностей Dy и Dx :

40

y¢ » Dy / Dx.

В таком случае функцию y = f (x) обычно представляют в табличном виде: y0 , y1 ,… при x = x0 , x1 … Пусть шаг – разность между соседними значе-

ниями аргумента – постоянный и равен h . Запишем выражения для производной y1 при x = x1 . В зависимости от способа вычисления конечных разностей

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

Dy1

=y1

- y0

, Dx = h ,

y1¢ =

y1 - y0

 

– с помощью левых разностей;

 

 

 

 

 

 

 

 

h

Dy1

=y2

- y1

, Dx = h ,

y1¢ =

y2 - y1

– с помощью правых разностей;

 

 

 

 

 

 

 

 

h

Dy1

=y2

- y0

, Dx = 2h , y1¢ =

y2 - y0

– с помощью центральных разно-

 

 

 

 

 

 

 

2h

стей.

Рассмотрим дифференциальное уравнение первого порядка, разрешимое относительно производной, в виде y¢ = f (x, y ) с заданным начальным условием y (x0 ) = y0 .

Необходимо найти такую функцию y = φ (x), которая удовлетворяла бы

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

Наиболее распространенные численные методы решения дифференциальных уравнений – методы конечных разностей. Суть методов состоит в следующем: область непрерывного изменения аргумента и функции заменяется дискретным множеством точек, называемых узлами. Эти узлы составляют разностную сетку. Искомая функция непрерывного аргумента приближенно заменяется функцией дискретного аргумента на заданной сетке. Такая функция называется сеточной. Исходное дифференциальное уравнение заменяется разностным уравнением, т. е. производные заменяются конечно-разностными отношениями. Такая замена дифференциального уравнения разностным называ-

ется его аппроксимацией на сетке или разностной аппроксимацией.

Одним из самых простых методов являетсяметод Эйлера. Значения функции в узлах x0 , x1 … заменим сеточной функцией y0 , y1 ,… Шаг примем постоянным h = xi+1 - xi = const . Заменим производную конечно-разностным отношением:

41

 

yi+1 - yi

= f (x , y ),

i = 0,1,...

 

 

 

h

i i

 

 

 

 

Отсюда

 

 

 

yi+1 = yi + h × f (xi , yi ).

Зная значение функции

в начальной

точкеy , последовательно можно

 

 

 

0

найти значения функции во всех точках сетки. Точность метода порядка h . Порядок точности можно повысить путем усложнения разностной схемы.

Весьма распространены в практических вычисленияхметоды РунгеКутта второго и четвертого порядков точности. Вычисления по методам Рунге– Кутта второго порядка точности проводятся в два этапа. Их часто называют методами типа предиктор – корректор, потому что они работают по принципу предсказание – поправка. На первом этапе находится промежуточное значение yi+12 по формуле Эйлера с шагомh / 2, а на втором этапе строится значение

yi+1 по уточняющей формуле

 

 

h

 

 

 

 

 

 

 

 

y

1

= y +

× f (x , y

),

 

 

 

i+

2

i

2

 

 

i

 

 

i

 

 

 

 

æ

 

h

 

 

ö

 

 

 

 

 

 

 

 

 

, i

 

yi+1 = yi + h × f ç xi

+

 

 

, yi+

1

÷

= 0,1,...

2

 

 

è

 

 

2

ø

 

 

 

Точность метода порядка h2 . Наиболее широкое применение нашли методы Рунге–Кутта четвертого порядка

y

 

= y +

h

(k + 2k

 

+ 2k

 

+ k

 

 

), i = 0,1,...,

 

 

2

3

4

i+1

 

i

 

 

6

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

æ x +

h

 

 

 

hk1

ö,

 

k = f (x , y

)

, k

2

= f

,

y +

 

 

 

 

1

 

i

i

 

 

 

 

 

 

ç

i

2

 

 

i

2

÷

 

 

 

 

h

 

 

 

 

hk

 

 

 

è

 

 

 

 

ø

 

 

æ

 

 

 

 

 

2

ö

 

k4

= f (xi + h, yi

+ hk3 ).

k3 =

f

ç xi

+

 

 

, yi

+

 

 

÷

,

2

2

 

 

 

è

 

 

 

 

 

 

ø

 

 

 

 

 

 

 

 

 

 

 

Точность метода порядка h4 . В современных вычислительных средах, как правило, используются варианты методов Рунге–Кутта с автоматическим выбором шага по независимой переменной(величина шага может изменяться в процессе интегрирования в зависимости от оценки полученной точности).

Пример. Решить дифференциальное уравнение y¢ = xy с начальным ус-

ловием y (0) = 2 численными методами, сравнить с аналитическим решением.

42

Решение. Точное решение: y = 2ex22 . Рассмотрим решение на интервале

[0; 0, 4], который разобьем шагом h = 0,1. Начальная точка x0

= 0 , y0

= 2.

 

Метод Эйлера будет записан в виде yi+1 = yi

+ 0,1× xi × yi .

 

+

 

×

 

×

 

Метод

Рунге–Кутта

второго

1 =

y

 

0,05

x

y ,

: порядy ка

 

 

 

 

yi+1 = yi + 0,1×(xi

+ 0,05)× yi+

 

 

 

i+2

 

i

 

 

 

i

 

i

1

.

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

Метод Рунге–Кутта четвертого порядка:

y

 

= y

+

0,1

 

(k

+ 2k

 

+ 2k

 

+ k

 

),

 

+1

 

2

3

4

 

 

i

 

i

6

 

1

 

 

 

 

 

k1 = xi × yi , k2 = (xi + 0,05)×(yi + 0,05k1 ),

 

k3 = (xi

+ 0,05)×( yi + 0,05k2 ), k4 = (xi + 0,1)×( yi + 0,1k3 ).

Результаты вычислений сведены в следующую таблицу:

 

 

 

 

 

 

 

 

 

 

 

xi

 

yi

– точное

 

yi

– метод

 

yi

– метод Рунге–

yi – метод Рунге–

 

 

решение

 

Эйлера

 

 

Кутта второго

Кутта четвертого

 

 

 

 

 

 

 

 

 

 

 

 

 

 

порядка

порядка

0

 

2

 

 

 

 

 

 

2

 

 

 

 

2

 

 

2

0,1

 

2,0100

 

 

 

2

 

 

 

 

2,01

2,0100

0,2

 

2,0404

 

 

 

2,02

 

 

 

2,0403

2,0404

0,3

 

2,0921

 

 

 

2,0604

 

 

2,0918

2,0921

0,4

 

2,1666

 

 

 

2,1222

 

 

2,1661

2,1666

Рис. 15. Точное и численные решения

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

43

Пример. Представить решение дифференциального уравнения y¢ = xy с

начальным условием y (0) = 2 через ряд Тэйлора до четвертой степени.

Решение. Представление функции в виде ряда Тэйлора в окрестности

точки x = 0:

 

 

 

 

 

 

 

 

 

 

 

 

 

y (x )= y (0 )+

y¢(0)

x +

y¢¢

(0)

x2 +

y¢¢¢(0)

x3 +

y(4) (

0)

x4 + ...

 

 

 

3!

4!

 

1!

2!

 

 

 

 

 

 

Находим последовательно производные и их значения в точке x = 0.

y¢(0) = 0 × y (=0) 0 × 2 = 0;

 

 

 

 

 

 

 

 

 

 

 

y¢¢ = y + xy¢, y¢¢(0) = 2 + 0 ×0 = 2;

 

 

 

 

 

 

 

 

 

y¢¢¢ = y¢ + y¢ + xy¢¢, y¢¢¢(0) = 0 + 0 + 0 × 2 = 0 ;

 

 

 

 

 

 

 

y¢¢¢ = 2 y¢¢ + y¢¢ + xy¢¢¢,

y(4) (0) = 4 + 2 + 0 ×0 = 6.

 

 

 

 

 

 

 

В результате получаем решение в виде y (x )= 2 +

2

x2 +

6

x4 .

 

 

 

 

 

 

 

 

 

 

2!

 

4!

Сравним его с решением, полученным с помощью пакетаMathcad численным интегрированием

Изобразим решения через ряд Тейлора и численным методом (рис. 16).

Рис. 16. Численное решение дифференциального уравнения и решение в виде ряда Тейлора

44

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

Пример. Решить с помощью пакетаMathcad дифференциальное уравнение y¢¢ - 2 y¢ + 5 y =(2t 2 - 4t )sin (2t ) с начальными условиямиy (0) = -1,

y¢(0) = 2 с помощью численного интегрирования и сведением к системе диф-

ференциальных уравнений.

Решение

Рис. 17. Решение дифференциального уравнения двумя численными методами

45

Задания для контрольной работы «Вычислительная математика»

21–30. Задачи на решение нелинейных уравнений

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

хорд, а наибольший – методом касательных с точностью ε =10-2 . Уравнения заданы в вариантах:

21.

x2

+ 4x - 3

= 0 ;

22.

x2 + 2x - 5

= 0

;

23.

x2

- x - 3 = 0 ;

24.

x2

+ 5x + 2

= 0

;

25.

x2

- 2x - 4

= 0 ;

26.

x2

+ x - 5 = 0 ;

 

27.

x2

- 4x -

2

= 0 ;

28.

x2

+ 3x +1 = 0;

29.

x2 - 5x +

3

= 0;

30.

x2

- 3x - 3 = 0 .

31–40. Задачи на численное интегрирование

Вычислить определенные интегралы по формалам трапеций и Симпсона с шагом h = 0,1. Интегралы приведены в вариантах:

 

3

 

 

dx

 

 

2

 

dx

 

 

 

 

 

31.

ò

 

 

 

32.

ò

 

 

 

 

 

 

 

 

 

 

 

 

 

;

 

 

 

 

 

 

 

 

 

 

 

;

x

2

- 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7 - x

2

 

2

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

1

 

 

dx

 

 

 

 

 

 

2

 

dx

 

 

 

 

 

33.

ò

 

 

;

 

 

34.

ò

 

 

 

 

;

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

0

8 + x

 

 

1

 

5 + x

 

 

 

 

 

 

4

 

 

 

dx

 

 

 

1

 

dx

 

 

 

 

 

 

 

35.

ò

 

 

 

 

;

36.

ò

 

 

;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

3

 

 

x - 3

 

 

0

6 - x

 

 

 

 

 

 

4

 

 

dx

 

 

1

 

dx

 

 

 

 

 

37.

ò

 

 

 

38.

ò

 

 

 

 

 

 

 

 

 

;

 

 

 

 

 

 

 

 

 

 

;

x

2

- 3

 

 

 

 

 

 

 

 

 

 

 

 

 

2 - x

2

 

3

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

2

 

 

dx

 

 

3

 

dx

 

 

 

 

 

39.

ò

 

 

 

40.

ò

 

 

 

 

 

 

 

 

 

;

 

 

 

 

 

 

 

 

 

.

x

2

 

 

 

 

 

 

 

 

 

 

+ 5

 

 

 

 

x

2

+ 3

 

1

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

46

41–50. Задачи на численное решение дифференциальных уравнений

Найти решение дифференциального уравнения первого порядка методом Эйлера с шагом h = 0,1 на интервале [0; 0,5]. Представить решение в виде ряда Тэйлора до четвертой степени и найти необходимые коэффициенты. Изобразить решения на чертеже. Дифференциальные уравнения с начальными данными приведены в вариантах:

 

 

3

 

y (0)

-

42.

y

¢

= x

- y;

y

(

0

)

=1;

41.

y

¢ = =

 

 

 

 

x y;

 

2;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

¢

 

2

 

y (0)

 

43.

y¢ =

x

;

y (0 )= 2 ;

44.

y

= x

 

- =y;

-1;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

45.

y¢ = 2xy;

y (0) =1;

46.

y¢ = 2 y - x=;

 

y (

0)

-1;

47.

y¢ = x + 2=y;

y (0)

-2 ;

48.

y¢ = x4 y; y (0)

=1;

 

49.

y¢ = 2x - =y;

y (0)

-1;

50.

y¢ = 2x + y;

 

y (

0) = 2.

47

Лабораторные работы

При изучении дисциплин«Моделирование систем» и «Вычислительная математика» полезно изучить некоторый математический пакет. Одним из доступных и понятных студентам пакетов являетсяMathcad, который позволяет решать математические задачи различной сложности. Ниже приведены лабораторные работы, которые помогут студентам освоить этот программный продукт и на пратике изучить дисциплины. Во всех вариантах стоит параметр N , который преподаватель сам определяет для студентов в группе.

Лабораторная работа 1 Система линейных алгебраических уравнений

Задана система трех уравнений

ìïln (N +1)x + sin(N ) y - 3

ï

 

 

 

 

 

ï

e-N x + sin2 (N ) y - lg (N

í

ï

 

 

 

π

 

ï

 

 

 

y - cos(N

 

N x -

ï

 

 

 

N

î

 

 

 

 

1.Решить систему через блок Given-Find.

2.Решить систему методом Крамера.

3.Решить систему матричным способом.

4.Решить систему через оператор lsolve.

N z =

N

 

;

N 2 +1

 

 

+ 2)z = 1 ;

N

)z =1, 2N.

Лабораторная работа 2 Интерполяция табличных функций

Задана табличная функция при x = 0,1, 2...10 со значениями счетчика слу-

чайных чисел rnd(N). Вычислить значение в точке x = N + 0,3 с помощью: 5

локальной линейной интерполяции;

сплайнов;

глобальной интерполяции.

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

48

Лабораторная работа 3 Метод наименьших квадратов

Задана табличная функция при x =1, 2...10

æ x ö2

N

 

со значениями y = ç

 

÷

+

 

.

 

x

 

è

N ø

 

 

1.Методом наименьших квадратов найти коэффициенты линейной аппроксимирующей функции.

2.С помощью оператора linfit определить линейную, квадратическую и гиперболическую аппроксимацию.

3.Построить степенную и показательную аппроксимации.

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

Лабораторная работа 4 Решение нелинейных уравнений

Задана функция f (x )=

4

x4 -

1

x3 -

 

× x2 - 0,9N x - ex + N .

N + 3

N 2

 

 

 

N

1.Найти производную функции f (x) и изобразить ее вместе с функцией

графически.

2. Определить количество корней f (x) = 0 и найти их через операторroot и

блок Given-Find.

Лабораторная работа 5 Гармонический анализ

ì

 

 

 

N

 

 

 

N

-

< x £ 0;

ï

 

 

3

1. Задана функция f (x )= íï

 

 

 

N

 

ï3x2

0 < x <

.

ï

 

 

3

î N

 

 

 

 

Построить разложение в ряд Фурье при10, 50 и 100 членах ряда. Изобра-

é N N ù

зить функцию и Фурье-представления на интервале ê- ; ú .

ë 3 3 û

2.Задана функция g (x) = N ×e-N ×x при 0 £ x £1. Разложить функцию по коси-

нусам в ряд Фурье при5, 10 и 50 членах ряда. Построить графики функции с четным продолжением и представление в виде ряда Фурье на интервале [-1;1].

49