и методы вычислений
Севастьянов Антон Леонидович
к.ф.-м.н., доцент
БРС курса
• Лекции – 0 баллов;
2
Содержание курса
• Вводная часть;
• Интерполирование;
• Численное интегрирование;
• Численное решение ОДУ;
• Методы решения основных задач линейной алгебры.
3
Вычислительный эксперимент
• Вычислительный эксперимент — метод изучения устройств или
физических процессов с помощью математического моделирования.
• Предполагается, что вслед за построением математической модели
проводится ее численное исследование, позволяющее «проиграть»
поведение исследуемого объекта в различных условиях или в
различных модификациях [Самарский, 1979; Горбунов-Посадов, 1990].
• Численное исследование модели дает возможность определять
разнообразные характеристики процессов, оптимизировать
конструкции или режимы функционирования проектируемых
устройств. Более того, случается, что в ходе вычислительного
эксперимента исследователь неожиданно открывает новые процессы
и свойства, о которых ему ранее ничего не было известно.
4
Вычислительный эксперимент занимает промежуточное
положение между натурным экспериментом и
аналитическим исследованием
• натурный (физический) эксперимент при надлежащей постановке
может, вообще говоря, дать исчерпывающие и надежные результаты;
• в вычислительном эксперименте в роли опытной установки выступает
не конкретное физическое устройство, а программа. Ее построение и
последующие модификации, как правило, требуют существенно
меньших затрат, чем подобные манипуляции над реальным
объектом;
• при аналитическом подходе так же, как и в вычислительном
эксперименте, строится математическая модель. Но исследуется эта
модель исключительно посредством аналитических выкладок, без
привлечения каких-либо численных методов. Если аналитических
выкладок оказывается достаточно, то данный подход приводит к
строгому точному решению.
5
Примеры использования вычислительного
эксперимента в автомобилестроении
6
Car crash simulation using LS-DYNA software, 2016
• Creating an actual car crash is easy
(unfortunately). But how do you create
a simulation?
• Once designers have outlined a car’s
basic form, they use the finite element
method (FEM) to model its shape by
plotting many interconnected points
on the car’s surface.
• Software then calculates how the
forces in a crash would affect each of
those points to determine the overall
result of the impact.
• This virtual car simulation, shown in
the program LS-DYNA, shows the FEM
“mesh” covering the car. Each point in
the mesh represents a series of
calculations.
7
FLUID DYNAMICS COMPUTATIONS ANALYZE
AERODYNAMICS TO IMPROVE FUEL EFFICIENCY
Performance tests provide
feedback as the design
evolves. And simulating the
manufacturing process
identifies ways to increase
efficiency or reduce waste.
To improve fuel economy, car
manufacturers try to reduce
wind resistance.
Computational fluid dynamics
(CFD) simulations show how
air moves around a moving
object, like this minivan,
allowing designers to adjust its
shape. Courtesy of Murtazo Nazarov, Uppsala University (geometry courtesy of Volvo Car Corporation)
8
Conjugate Heat Transfer and
Nonisothermal Flow
• Model of two separated fluids at different temperatures flowing
through a shell-and-tube heat exchanger.
https://www.comsol.com/heat-transfer-module
9
Интерполирование
• Постановка задачи интерполяции;
• Интерполяция полиномами;
• Интерполяционный полином в форме Лагранжа;
• Интерполяционный полином в форме Ньютона;
• Оценка погрешности интерполяции.
10
Лекция 1. Интерполирование (1)
Приближение функций
11
Лекция 1. Интерполирование (2)
Требуется по известным значениям
yi = f ( xi ) , i = 0,1,..., n (2)
13
1. Интерполирование. Классическая
постановка задачи интерполирования (1)
Выберем некоторую систему функций 0 ( x ) , 1 ( x ) , ..., n ( x ) ,
заданных на отрезке a, b , и будем строить F ( x ) как их линейную
комбинацию:
n
F ( x ) = cii ( x ) (3)
i =0
c ( x ) = f ( x ),
n
i i j j j = 0, 1, ..., n (5)
i =0
16
1. Интерполирование. Классическая
постановка задачи интерполирования (4)
Определение. Система функций i ( x ) , i = 0,1, ..., n ,
удовлетворяющая при фиксированных значениях x j , j = 0, 1, ..., n ,
условию (6), называется чебышевской.
Очевидно, что для однозначной разрешимости задачи
интерполирования в классической постановке необходимо и
достаточно, чтобы система функций i ( x ) , i = 0, 1, ..., n , была
чебышевской.
17
1. Интерполирование. Классическая
постановка задачи интерполирования (5)
Только такие системы функций (чебышевские) и будем
использовать в этом разделе. Необходимым условием
принадлежности системы функций i ( x ) , i = 0, 1, ..., n , к
чебышевской является их линейная независимость.
Однако это условие не является достаточным.
18
1. Интерполирование. Классическая
постановка задачи интерполирования (6)
Например, для системы из двух линейно независимых функций
0 ( x ) = sin x, 1 ( x ) = cos x с узлами интерполяции x0 = 0, x1 =
определитель
sin x0 cos x0 0 1
= = =0
sin x1 cos x1 0 −1
19
2. Интерполирование полиномами (1)
20
2. Интерполирование полиномами (2)
21
2. Интерполирование полиномами (3)
Согласно рассмотренной выше общей схеме построения
интерполирующей функции, следует потребовать, чтобы
коэффициенты ci с учетом (7) удовлетворяли системе линейных
уравнений
= f ( x j ),
n
c x
i =0
i j
i
j = 0, 1, ..., n (8)
22
2. Интерполирование полиномами (4)
1 xn ... xn n
23
2. Интерполирование полиномами (5)
24
3. Построение интерполяционного
полинома в форме Лагранжа (1)
Представим искомый полином Pn ( x ) в виде
n
Pn ( x ) = f ( xi ) Qn,i ( x ) (9)
i =0
0, x = x j ,
Qn ,i ( x ) = j i , (10)
1, x = xi .
25
3. Построение интерполяционного
полинома в форме Лагранжа (2)
Такие полиномы легко построить:
( x−x )
j =n
Qn ,i ( x) = j
(11)
(x − x )
j =0
j i
i j
27
3. Построение интерполяционного
полинома в форме Лагранжа (3)
Из (9) и (10) очевидно, что построенный полином Pn ( x )
действительно является интерполяционным полиномом для
функции y = f ( x ) на сетке с узлами x0 , x1 , ..., xn . Его принято
называть интерполяционным полиномом в форме Лагранжа. Этим
подчеркивается, что возможны и другие эквивалентные
представления интерполяционного полинома Pn ( x ) . С одним из
них мы познакомимся в следующем разделе.
28
4. Интерполяционный полином
в форме Ньютона (1)
Интерполяционный полином в форме Лагранжа, несмотря на свое
изящество, неудобен для вычислений тем, что при увеличении
числа узлов интерполяции приходится перестраивать весь полином
заново.
Перепишем интерполяционный полином Лагранжа в иной,
эквивалентной форме:
n
Pn ( x ) = P0 ( x ) + ( Pi ( x ) − Pi−1 ( x ) ) , (13)
i =1
29
4. Интерполяционный полином
в форме Ньютона (2)
где Pi ( x ) — полиномы Лагранжа степени i n , соответствующие
узлам интерполирования x0 , x1 , ..., xi . В частности, P0 ( x ) = f ( x0 ) —
полином нулевой степени.
Полином
Qi ( x ) = Pi ( x ) − Pi−1 ( x ) (14)
30
4. Интерполяционный полином
в форме Ньютона (3)
поэтому его можно представить в виде
Qi ( x ) = Ai ( x − x0 )( x − x1 ) ...( x − xi−1 ) , (15)
При этом
A0 = f ( x0 ) . (18)
Pn ( x ) = A0 + A1 ( x − x0 ) + A2 ( x − x0 )( x − x1 ) + ...
(20)
+ Ai ( x − x0 ) ...( x − xi−1 ) + ... + An ( x − x0 ) ...( x − xn−1 )
33
4. Интерполяционный полином
в форме Ньютона (6)
Представление (20) удобно для вычислителя, поскольку
увеличение n на единицу требует только добавления к «старому»
многочлену одного дополнительного слагаемого. Такое
представление интерполяционного полинома Pn ( x ) называют
интерполяционным полиномом в форме Ньютона.
34
5. Погрешность интерполирования (1)
Поставим вопрос о том, насколько хорошо интерполяционный
полином Pn ( x ) приближает функцию f ( x ) на отрезке a, b , т.е.
попытаемся оценить погрешность (остаточный член):
Rn ( x ) = f ( x ) − Pn ( x ) , x a, b (21)
35
5. Погрешность интерполирования (2)
поэтому речь идет об оценке Rn ( x ) при значениях x xi .
Rn ( x ) = n+1rn ( x ) (23)
36
5. Погрешность интерполирования (3)
где n+1 — полином ( n + 1) -й степени:
37
5. Погрешность интерполирования (4)
заданную на отрезке a, b и содержащую переменную x в
качестве параметра. В силу своего определения функция g ( t )
обязана обращаться в нуль в узлах интерполирования при
t = xi , и, кроме того, при t = x , т.е. как функция аргумента t она
заведомо имеет ( n + 2 ) нуля:
g ( xi ) = 0, i = 0, 1, ..., n, g ( x ) = 0 . (25)
38
5. Погрешность интерполирования (5)
39
5. Погрешность интерполирования (6)
Согласно известной теореме Ролля можно утверждать, что
производная g ' ( t ) имеет по крайней мере ( n + 1) нуль на отрезке
, (эти нули перемежаются с нулями самой функции g(t)).
Повторяя это рассуждение, заключаем, что g '' ( t ) имеет по крайней
мере n нулей на отрезке , , g ''' ( t ) — ( n − 1) нуль и, наконец,
g ( n+1)
( t ) обращается хотя бы один раз в нуль в некоторой точке
t = , , т.е.
g ( n+1)
( ) = f ( n+1)
( ) − Pn ( n+1)
( ) − ( n + 1)!rn ( x ) = 0 .
40
5. Погрешность интерполирования (7)
Учитывая, что ( n + 1) -я производная полинома степени n
тождественно равна нулю, получаем, что
f ( ) , , ,
( n+1)
rn ( x ) = (26)
( n + 1)!
и соответственно
f ( n+1) ( )
Rn ( x ) = n+1 ( x ) (27)
( n + 1)!
41
5. Погрешность интерполирования (8)
Формула (27) не позволяет вычислить погрешность, поскольку
точное значение аргумента нам неизвестно. Однако с ее
помощью погрешность можно оценить:
M n+1
Rn ( x ) = n+1 ( x ) , (28)
( n + 1)!
Где
M n+1 = max f
x ,
( n+1)
( x ) max
x a ,b
f ( n+1)
( x) (29)
42
5. Погрешность интерполирования (9)
43
5. Погрешность интерполирования (10)
Это хорошо видно на рис. 1, где в качестве примера приведен
график функции 4 с корнями
x0 = −3 / 2, x1 = −1 / 2, x2 = 1 / 2, x3 = 3 / 2 :
4 ( x ) = ( x 2 − 9 / 4 )( x 2 − 1/ 4 )
44
5. Погрешность интерполирования (11)
45
5. Погрешность интерполирования (12)
Из сказанного можно сделать следующий вывод. Если x x0 , xn ,
то множитель n+1 не обесценивает оценку (28). Такой случай
называют собственно интерполяцией f ( x ) . Противоположный
случай, когда точка х лежит вне отрезка, называют экстраполяцией
функции f ( x ) . Отмеченная выше особенность поведения
полинома n+1 резко ухудшает оценку (28) при экстраполяции.
Поэтому на практике экстраполяции избегают или ограничиваются
многочленами невысокой степени ( n = 1, 2 ) , когда рост функции
n+1 не настолько критичен. 46