
- •Предисловие
- •Глава 1. О численном анализе
- •1.1. Немного истории
- •1.1.1. Развитие численных методов
- •1.1.2. Теории и модели
- •1.2. Математическое моделирование
- •1.2.1. Математическая модель
- •1.3. Источники погрешности
- •1.3.1. Величины и нормы
- •1.3.2. Погрешность модели
- •1.3.3. Неустранимая погрешность
- •1.3.4. Погрешность метода
- •1.3.5. Погрешность округления
- •1.3.6. Корректность задачи
- •Глава 2. Системы алгебраических уравнений
- •2.1. Линейные системы
- •2.1.1. Задачи линейной алгебры
- •2.1.2. Метод Гаусса
- •2.1.3. Определитель и обратная матрица
- •2.1.4. Прочие методы
- •2.1.5. Плохо обусловленные системы
- •2.1.6. Переобусловленные системы
- •2.2. Нелинейное уравнение
- •2.2.1. Дихотомия
- •2.2.2. Метод Ньютона
- •2.2.3. Обобщенный метод Ньютона
- •2.2.4. Прочие методы
- •2.2.5. Удаление корней
- •2.3. Системы нелинейных уравнений
- •2.3.1. Метод Ньютона
- •2.3.2. Обобщенный метод Ньютона
- •Глава 3. Численное интегрирование
- •3.1. Квадратурные формулы
- •3.1.1. Интегральная сумма
- •3.1.2. Формула средних
- •3.1.3. Формула трапеций
- •3.1.4. Формула Симпсона
- •3.1.5. Формулы Эйлера-Маклорена
- •3.1.6. Формулы Гаусса-Кристоффеля
- •3.1.7. Недостаточно гладкие функции
- •3.2. Метод сгущения сеток
- •3.2.1. Однократное сгущение
- •3.2.2. Рекуррентное уточнение
- •3.2.3. Квазиравномерные сетки
- •3.2.4. Метод Эйткена
- •3.3. Кубатурные формулы
- •3.3.1. Метод средних
- •3.3.2. Произведение квадратурных формул
- •3.3.3. Статистические методы
- •Глава 4. Интерполяция
- •4.1. Интерполяционный многочлен
- •4.1.1. Задачи интерполяции
- •4.1.2. Многочлен Ньютона
- •4.1.3. Погрешность
- •4.1.4. Обратная интерполяция
- •4.1.5. Эрмитова интерполяция
- •4.1.6. Многомерная интерполяция
- •4.2. Сплайн-интерполяция
- •4.2.1. Историческая справка
- •4.2.2. Кубический сплайн
- •4.2.3. Обобщения
- •4.3. Нелинейная интерполяция
- •4.3.1. Выравнивание
- •4.3.2. Рациональная интерполяция
- •Глава 5. Среднеквадратичная аппроксимация
- •5.1. Общий случай
- •5.1.1. Выбор нормы
- •5.1.2. Аппроксимация обобщенным многочленом
- •5.1.3. Неортогональные базисы
- •5.1.4. Ортогональные системы
- •5.1.5. Метод наименьших квадратов
- •5.2. Тригонометрический ряд Фурье
- •5.2.1. Общие формулы
- •5.2.2. Сходимость
- •5.2.3. Вычисление коэффициентов
- •5.2.4. О равномерных приближениях
- •5.3. Ряды по многочленам Чебышева
- •5.4. Метод двойного периода
- •5.4.1. Исключение разрывов
- •5.4.2. Двойной период
- •5.4.3. Наилучшее приближение
- •5.4.4. Вычисление скалярных произведений
- •5.5. Аппроксимация сплайнами
- •5.5.1. В-сплайны
- •5.5.2. Среднеквадратичная аппроксимация
- •5.5.3. Конечные элементы
- •5.6.2. Хорда
- •5.6.3. Окружность
- •5.6.4. Аппроксимация
- •5.6.5. Ротационная инвариантность
- •Глава 6. Численное дифференцирование
- •6.3. Некорректность численного дифференцирования
- •Глава 7. Спектр матрицы
- •7.1. Преобразование подобия
- •7.1.1. Теория
- •7.1.2. Метод отражений
- •7.1.3. Другие методы
- •7.2. Вычисление спектра
- •7.2.1. Частичная проблема
- •7.2.2 Обобщенная проблема
- •7.2.3. Полная проблема
- •Глава 8. Задачи минимизации
- •8.1. Одномерный минимум
- •8.1.1. Золотое сечение
- •8.1.2. Метод Ньютона
- •8.1.3. Случай многих экстремумов
- •8.2. Многомерный минимум
- •8.2.1. Рельеф функции
- •8.2.2. Обобщенный метод Ньютона
- •8.2.3. Многоэкстремальность
- •8.3. Решение сеточных уравнений
- •8.3.1. Градиентные спуски
- •8.3.2. Наискорейший спуск
- •8.3.3. Минимальные невязки
- •8.3.4. Усеченный спуск
- •8.3.5. Сопряженные градиенты
- •8.3.6. Нелинейность
- •8.4. Задачи с ограничениями
- •8.4.1. Наложение связей
- •8.4.2. Ограниченная область
- •8.4.3. Общий случай
- •8.5. Минимизация функционала
- •8.5.1. Прикладные проблемы
- •8.5.2. Сеточный метод
- •8.5.3. Метод Ритца
- •8.5.5. Пробные функции
- •Список литературы
- •Оглавление
Возьмем начальную сетку с небольшим числом узлов N. То гда количество неизвестных Un будет малым. Даже если нулевое приближение задано не слишком удачно, и число итераций ока жется большим, общая трудоемкость будет невелика.
Решение, найденное на грубой сетке, может быть еще не очень
близким к точному. Однако оно уже будет хорошим нулевым
приближением для итерационной процедуры на более подробной сетке. Надо только интерполировать найденные значения с гру бой сетки на все узлы сгущенной сетки. Как правило, при этом
классический ньютоновский процесс сходится за две - четыре
итерации (а прибегать к обобщенному методу Ньютона нет необ
ходимости). При каждом очередном сгущении нулевое прибли
жение нужно брать с предыдущей сетки. Тогда суммарный объ ем вычислений при многократном сгущении будет эквивалентен 4 - 8 итерациям на самой подробной сетке. Это еще одно пре
имущество сеточного метода.
8.5.3. Метод Ритца
Выберем некоторый набор базисных функций срт(х). Функ
ции должны быть линейно независимыми, а их система - пол ной в некотором классе функций, которому принадлежит иско мое решение. Аппроксимируем решение обобщенным многочле-
пом: |
|
м |
|
и(х) ~ им(х) = L Стсрт(х). |
(8.56) |
m=O
Подставим выражение (8.56) в исходный функционал и выпол
ним все дифференцирования и интегрирования по аргументу х. Тогда функционал окажется некоторой функцией F большого
числа неизвестных параметров Ст:
Ф[им(х)]= Ф[J;,"m~m(x)] = F(eo,c1,"2, ... ,см).
Определим параметры Ст из условия минимизации:
F(co, с1, с2, ... , см)= min. |
(8.57) |
Таким образом, задача свелась к поиску минимума функции многих переменных, способы решения которой описаны в под разд. 8.2.
287
Квадраmи-чн'Ые функциона.п:ы. Если функционал Ф[и(х)]
квадратичен, то функция F будет квадратично зависеть от ко эффициентов Ст· В этом случае задача на минимум после при
равнивания нулю производных по Ст сводится к системе ли
нейных уравнений для Ст,. Даже если матрица системы будет плотно заполненной, ее нетрудно решить методом Гаусса. По этому для квадратичных функционалов можно выбирать много
параметров (М ,....., 100 + 1 ООО и более) и добиваться достаточ
но высокой точности. Именно такой метод был предложен Рит
цем.
Вкачестве примера рассмотрим задачу прогиба струны (8.47)
сзакрепленными концами: и(О) =О, и(а) =О. Выберем полную
систему функций, удовлетворяющую данным граничным усло
виям:
С{>т(х) = sin(ттmx/a),m = 1,2, ... |
(8.58) |
Эти функции ортогональны. Подставим их в функционал (8.47)
и выполним все дифференцирования и интегрирования. С уче
том ортогональности получим
а
fm = Jf(x) sin(ттmx/a)dx.
о
Дифференцирование по Ст дает здесь систему линейных урав нений с диагональной матрицей. Поэтому сразу можно написать
ее решение:
(8.59)
Такое упрощение возникает благодаря ортогональности базис
ной системы. Если вместо базиса (8.58) взять базис из неорто гональных многочленов срт(х) = xm(a - х), также удовлетворя ющих нулевым граничным условиям, то вместо (8.59) получит ся система с плотно заполненной матрицей (вдобавок она будет плохо обусловлена). Отсюда видно, что целесообразно использо
вать ортогональные базисы.
С.ло~н'Ые функциона.л'Ы. Если функционал неквадратич
ный, то подстановка в него обобщенного многочлена (8.56) при
ведет к достаточно сложной неквадратичной функции F. Мини мизирующая система уравнений для Ст будет нелинейной и так-
288
же
достаточно
сложной.
В
этом
случае
возникает
много
труд
ностей.
Во-первых,
у
нелинейной
системы
решение
может
не
существовать или
числения решения
быть неединственным. Во-вторых, для вы
(итерационным методом Ньютона) требуется
достаточно
хорошее
нулевое
приближение.
Поэтому
обычно
Ст
удается
вычислить
лишь
для
небольших
значений
М.
Но
неболь
шое
М
может
не
обеспечить
необходимой
точности
аппроксима
ции.
Поэтому,
хотя
метод
Ритца
формально
обобщается
на
неквад
ратичные
функционалы,
фактически
он
к
ним
плохо
применим.
То-чносmъ.
Сходимость
метода
Ритца
обосновывается
из
следующих
соображений.
Пусть
система
{
Cj)m
(
х)}
полна
в
том
классе
функций,
которому
принадлежит
решение
Umin(x).
Тогда
можно
аппроксимировать
Umin(x)
некоторым
обобщенным
мно
гочленом
uм(х)
со
сколь
угодно
высокой
точностью,
если
вы
брать
достаточно
большое
М.
Естественно
также
считать,
что
функционал непрерывно и гладко зависит от функции.
разность Ф[iiм(х)] - Ф[umin(x)] будет неотрицательной и
Тогда сколь
угодно малой. При
щенный многочлен
фиксированном им(х) из (8.57).
М мы находим Ст и обоб
Поэтому на всех обобщен
ных
многочленах
с
данным
М
функционал
принимает
наимень
шее
значение
на
им(х).
Следовательно,
Ф[им(х)]
~
Ф[iiм(х)],
и
справедливо
двустороннее
неравенство:
Фmin
=
Ф(umin)
~
Ф[им(х)]
~
Ф[йм(х)].
Отсюда видно, что решение задачи им(х), являющееся решени ем (8.57), аппроксимирует Umin(x) с достаточно высокой точно
стью при достаточно большом |
М. |
Пространство обобщенных |
многочленов |
им(х)
можно
рас
сматривать
как
М-мерное
пространство
коэффициентов
Ст·
Увеличивая
М,
получаем последовательность
таких
про
странств, значений
вложенных друг в друга. Поэтому последовательность
Ф[им(х)] при увеличении М будет невозрастающей и
стремящейся к Фmin· Это |
означает |
сходимость метода. |
|
|
Теоретически оценить |
скорость |
сходимости можно |
лишь |
|
частных случаях. Однако можно |
|
провести серию расчетов |
в с
М,
визуально
наблюдать
сходимость
к
некоторому
предельно
му
значению
и
попытаться
численно
оценить
фактическую
ско
рость
сходимости.
Практически
такую
методику
удается
приме
нять
лишь
к квадратичным
функционалам,
так
как
лишь
для
них
удается
проводить
вычисления
с
достаточно
большим
М.
289
8.5.4. Конечные элементы
Метод конечных элементов является частным случаем мето
да Ритца. В качестве базиса берутся функции C/)m ( х) на конечных носителях. Для их построения выбирают сетку {Хп, О ~ п ~ N}.
В качестве носителя каждой базисной функции берут минималь но возможное количество соседних интервалов сетки. По суще ству метод является гибридом метода Ритца и сеточного мето да. Поэтому сейчас метод конечных элементов часто называ ют проекцион:но-сеmо·ч:ним методом. Как и метод Ритца,
он сравнительно просто реализуется лишь для квадратичных
функционалов.
Рассмотрим простейший пример - задачу прогиба струны
(8.47). От базисных функций здесь требуется непрерывность и
гладкость за исключением отдельных точек (так как надо вы числять их)· Простейшими подходящими конечными элемента
ми являются В-сплайны первой степени, описанные в 5.5. На ин
тервале сетки [хп-1,хп] отличны от нуля только два линейных
В-сплайна: Вп-1(х) = (х - Хп-1)/hп, Вп-2(х) = (хп - х)/hп,
х Е [хп-1, хп]· Поэтому на данном интервале искомое решение
имеет следующий вид:
и(х) = Сп-2Вп-2(х) + Сп-1Вп-1(х) = |
|
|
= [сп-2(хп - |
х) + Сп-1(х - Хп-1)]/hп, |
(8.60) |
Ux = (Сп-1 - |
Сп-2)/hп, ХЕ [Хп-1, Хп]· |
|
Подставляя (8.60) в интеграл (8.47) и суммируя по всем интер
валам сетки, получим
|
|
|
|
F(c-1, со, |
... , CN-1) = |
|
|
|
|
|
|||
- |
;, [ |
х |
(сп-1 |
- Сп-2) |
2 |
|
1 |
- |
- |
|
] |
= |
min, |
= |
~ |
2h |
|
+ h(Сп-2fп + Cn-lfп) |
|
||||||||
|
n=l |
|
п |
|
|
|
п |
rf(x)(x - |
|
|
|
(8.61) |
|
fп= |
rf(х)(Хп- x)dx, |
fп= |
Хп-1)dх. |
||||||||||
|
Xn-1 |
|
|
|
|
|
Xn-1 |
|
|
|
|
|
Напомним, что индексы линейных В-сплайнов меняются от -1
ДО N-1.
Теперь надо минимизировать квадратичную функцию (8.61)
от коэффициентов Cm· Приравняем нулю производную (8.61) по
коэффициенту Ст и учтем, что каждый коэффициент входит в
290